DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
The present application is being examined under the claims filed 11/19/2025.
Claims 1-3, 5, 9-10, 12-17, 19-20, 22, and 24-28 are pending.
Response to Amendment
This Office Action is in response to Applicant’s communication filed 11/19/2025 in response to office action mailed 08/19/2025. The Applicant’s remarks and any amendments to the claims or specification have been considered with the results that follow.
Response to Arguments
Regarding 35 U.S.C. 112
In Remarks page 9, Argument 1
Applicant asserts that the amendments are fully supported by the original specification of record and add no new matter. Support for the amendments to independent claims 1, 17, and 20 may be found, inter alia, in paragraphs [0022], [0038], [0048], and [0051] of the original specification and in FIGS. 3 and 7-8 of the original drawings. Support for the new claims 26-28 may be found, inter alia, in original paragraph [0038] of the original specification and in FIG. 8 of the drawings.
Examiner’s response to Argument 1,
Examiner disagrees. The specification does not provide support for certain newly added limitations amended by applicant. See rejections under 35 U.S.C. 112(a) below.
In Remarks page 10, Argument 2
In order to expedite prosecution, claim 25 is herein amended to remove that portion which was said not to be supported in the original disclosure.
Examiner’s response to Argument 2
Applicant’s amendments overcome the previous rejections under 35 U.S.C. 112(a). However, new independent claim rejections (and their corresponding dependents) under 35 U.S.C. 112(a) are necessitated by amendment. See rejections below.
In Remarks page 10, Argument 3
The independent claims 1, 17, and 20 are herein amended to incorporate the suggestion made by the Examiner for improving the form of these claims. The language of dependent claim 25 which was said to be indefinite is herein deleted.
Examiner’s response to Argument 3
Applicant’s amendments overcome the rejections under 35 U.S.C. 112(b).
Regarding 35 U.S.C. 103
In Remarks page 13, Argument 4
(Examiner summarizes Applicant’s argument) Applicant argues that none of the cited references teach the limitation of “the data sources are separate from and not part of the received user inputs”. Applicant specifically argues that Neo4J YouTube reference does not disclose generating a proposal from an external data source, and that Neo4J YouTube does not disclose expanding an initial topology by searching external databases.
Examiner’s response to Argument 4
Examiner disagrees. Applicant’s claim does not include expanding data by searching the external data source. Additionally, Applicant’s amendment does not appear to have adequate support in the specification (see rejections under 35 U.S.C. 112(a) below). However, the disclosure made by Neo4J YouTube compares favorably with Applicant’s specification.
Specification:
[0051] FIG. 7 shows an example of graphical user interface (GUI) of a tool assisting the user to formulate a partial topology. Various icons can be selected by the user on the left-hand side to input edges and nodes in accordance with the type of nodes (e.g., “Source”, “Source data”, etc.). That is, the GUI allows the user 1 to select a data source, data in this data source, as well as relations.
PNG
media_image1.png
644
867
media_image1.png
Greyscale
Neo4J YouTube:
(timestamp 1:27) “You can now name your database, I'll call it "myBloomIntro", and you can select the sample movies data set, or you can use your own data.”
PNG
media_image2.png
948
1436
media_image2.png
Greyscale
Thus, Neo4J YouTube discloses capabilities to “select a data source, data in this data source, as well as it’s relations”. The rejections under 35 U.S.C. 103 below provide more details. Moreover, Neo4J does in fact disclose the movies dataset which teaches external data sources separate from and not part of the received user inputs as well as performing operations on this external dataset.
Therefore, Applicant’s arguments are unconvincing and the rejections under 35 U.S.C. 103 are maintained.
In Remarks page 13, Argument 5
(Examiner summarizes Applicant’s arguments) Applicant argues that None of the cited references including Wang and Hamilton disclose a data flow including a DAG dependency structure as recited in the amended claims.
Examiner’s response to Argument 5
Examiner disagrees. A DAG is a directed acyclic graph which includes nodes and edges and crucially no cycles (i.e. a path cannot be drawn from a node back to itself by following the edges). The primary reference, Kertkeidkachorn, teaches a data flow as including nodes (tasks) and edges with no cycles in figure 2. Thus the rejections under 35 U.S.C. 103 are maintained.
PNG
media_image3.png
293
390
media_image3.png
Greyscale
In Remarks page 13-14, Argument 6
(Examiner summarizes Applicant’s arguments) Applicant argues that analogous independent claims 17 and 20 are patentable by virtue of claim 1.
Examiner’s response to Argument 6
Examiner disagrees. Since claim 1 is not patentable, claims 17 and 20 are unpatentable by the same logic.
In Remarks page 14, Argument 7
(Examiner summarizes Applicant’s arguments) Applicant argues that the dependent claims are patentable by virtue of the independent claims.
Examiner’s response to Argument 7
Examiner disagrees. The independent claims are unpatentable, and neither are the dependent claims by the same logic.
In Remarks page 14 Argument 8
(Examiner summarizes Applicant’s argument) Applicant argues that newly added claims 26-28 are patentable.
Examiner’s response to Argument 8
Examiner disagrees. Independent claims 1, 17, and 20 are rejected, and claims 26-28 are rejected on their own merits under 35 U.S.C. 103 below.
Claim Rejections - 35 USC § 112(a)
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 1-3, 5, 9-10, 12-17, 19-20, 22, and 24-28 are rejected under 35 U.S.C. 112(a) for failing to provide a written description of the claimed invention.
Regarding Claim 1, 17, and 20
Claims 1, 17, and 20 recite the limitation “the user inputs further comprising selection of a data source from a list of data sources presented on a graphical user interface, wherein the data sources are separate from and not part of the received user inputs”. None of the specification paragraphs provided disclose that the data sources necessarily be not part of the received user inputs. A search of the specification reveals that the closest disclosure to the newly amended portion is as follows:
[0051] FIG. 7 shows an example of graphical user interface (GUI) of a tool assisting the user to formulate a partial topology. Various icons can be selected by the user on the left-hand side to input edges and nodes in accordance with the type of nodes (e.g., “Source”, “Source data”, etc.). That is, the GUI allows the user 1 to select a data source, data in this data source, as well as relations. As further seen in FIG. 7, the GUI may prompt the user to add further nodes, by displaying a pop-up window, e.g., asking whether the user wishes to extract smaller entities after having entered a node corresponding to “Base Materials”. Here the GUI makes use of the reference data where, in this example, “Base Materials” is a database with columns “Material” and “Structure formula”. In turn, the user may select corresponding entities, here corresponding to “Material” and “Structure formula”. Several types of edges may similarly be selected and annotated.
PNG
media_image1.png
644
867
media_image1.png
Greyscale
That is, the specification discloses various ways that a user can select a data source and the elements within the data source, but nowhere discloses that the data sources are separate from the user inputs. In fact, the specification explicitly discloses that the data source is to be input by the user (paragraph [0023]) “The root nodes typically correspond to source data or, at least, a variable for the source data, it being noted that the actual source data can be inputted and processed later.” Therefore, the claim is rejected under 35 U.S.C. 112(a) for failing to provide adequate written description for the newly added limitation of “the data sources are separate from and not part of the received user inputs”.
Regarding Dependent Claims
Claims
2-3, 5, 9-10, 12-16, and 24-26 are dependent upon claim 1,
19 and 27 are dependent upon claim 17,
22 and 24-28 are dependent upon claim 20
and are therefore similarly rejected for including the deficiencies of claims 1, 17, and 20 respectively.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-3, 9-10, 12-13, and 15-17, 19-20, 22, and 26-28 are rejected under 35 U.S.C. 103 as being unpatentable over NPL reference Kertkeidkachorn et al. “An Automatic Knowledge Graph Creation Framework from Natural Language Text”, herein referred to as Kertkeidkachorn in view of NPL reference Staar et al. “Corpus processing service: A Knowledge Graph platform to perform deep data exploration on corpora”, herein referred to as Staar, NPL reference Hamilton et al. “Embedding Logical Queries on Knowledge Graphs”, herein referred to as Hamilton, NPL reference Wang et al. “Semantic Guided and Response Times Bounded Top-k Similarity Search over Knowledge Graphs”, herein referred to as Wang, Lee et al. “An Approach to Constructing a Knowledge Graph Based on Korean Open-Government Data”, NPL reference “Introduction to Graph Data Visualizations | Neo4j Bloom” herein referred to as Neo4j YouTube, and NPL reference Jiang et al. “Understanding, Manipulating and Searching Hand-Drawn Concept Maps”, herein referred to as Jiang.
Regarding Claim 1
Kertkeidkachorn teaches:
A computer-implemented method comprising receiving, by a computer, user inputs, wherein the user inputs produce a partial topology of a knowledge graph that a user wants to build
(page 91 section 3 paragraph 1) “In this section, the architecture of the T2KG framework is described. The T2KG takes natural language text[*Examiner notes: mapped to natural language descriptions, inputs as to a partial topology] as input and produces a KG as output[*Examiner notes: mapped to a knowledge graph that a user wants to build]. As shown in Fig. 1, the T2KG consists of five components: 1) entity mapping, 2) coreference resolution, 3) triple extraction, 4) triple integration, and 5) predicate mapping. The entity mapping component links an entity in natural language text to its corresponding entity in the KG. The coreference resolution component detects coreferring chains of entities, in which entities and pronouns in natural language text referring to the same entity are grouped together. The triple extraction component extracts a relation triple from natural language text by using the open information extraction technique. The triple integration component generates a text triple by integrating the results from the entity mapping component, the coreference resolution component and the triple extraction component[*Examiner notes: mapped to one or more initial nodes].”; [*Examiner notes: The steps in the cited paragraph describe a process of converting natural language descriptions of nodes of a knowledge graph into initial nodes]; (page 96 section 4.3 paragraph 2 line 1) “To evaluate the results, 100 sentences are input[*Examiner note: mapped to user inputs] to the T2KG framework. The precision, recall and F1 scores are then used as the evaluation metrics to evaluate the accuracy of the triples.”; [*Examiner notes: The user in the experiment is the researchers/paper authors]
interpreting, by the computer, the respective natural language descriptions using natural language processing to match the enhanced initial nodes against reference data from a first knowledge graph
(section 3.5.2 “Rule-Based Candidate Generation” paragraph 1 line 4) “First, if the subject and the object of the text triple[*Examiner notes: previously mapped to one or more initial nodes] are similar to the subject and the object[*Examiner notes: mapped to matching against reference data] of the KG triple[*Examiner notes: mapped to a first knowledge graph], respectively, it is assumed that the predicate of the text triple and the predicate of the KG triple are equivalent.”; (section 3.5.3 “Similarity-Based Candidate Generation”) “After acquiring a vector representation for each element of the triples, the similarity between a predicate of a text triple and a predicate of a KG triple is computed to generate a list of predicate candidate pairs, ranked by their similarity score. In our approach, the similarity score is defined as follows.”; [*Examiner notes: Converting natural language texts into vectors for making comparisons is a natural language processing technique]; [*Examiner notes: see figure 3 annotated below]
PNG
media_image4.png
456
687
media_image4.png
Greyscale
based on matched reference data and via the computer, obtaining a valid topology of nodes and edges, wherein the valid topology comprises the nodes and edges mapped onto the matched reference data and is separate from the first knowledge graph
(page 90 section 1 line 1) “knowledge graph (KG) stores knowledge in the form of a graph, in which a node represents an entity and an edge denotes the relationship between entities.”; (page 92 section 3.5 paragraph 1) “The aim of the predicate mapping component is to map a
predicate of a text triple onto an identical predicate in the KG.”; (Page 94 Section 3.5.4 “Candidate Selection”) “In this module, priority is given to the predicate-candidate pair that is generated by the rule-based candidate generation module. If such a predicate-candidate pair does not exist, the predicate-candidate pair generated by the similarity-based candidate generation module is then considered […] The output of the candidate selection module is the generated KG[*Examiner notes: mapped to valid topology], in which some entities and predicates are linked to other KGs[*Examiner notes: mapped to matched reference data, separate from the first knowledge graph].”; [*Examiner notes: Section 3.5.4 and figure 3 (annotated above) describe the use of the candidate generation (previously mapped to matched reference data) to generate a knowledge graph. The examiner interprets “some entities and predicates are linked to other KGs” to mean that the entities and predicates (nodes and edges) are part of their own separate knowledge graph (valid topology) and are linked by matching to other KGs (first knowledge graph).]
based on the valid topology and via the computer, generating a data flow linking to the matched reference data via associations of the nodes and edges and the matched reference data
(Page 91 figure 2 caption) “Example of data flow in the T2KG framework”; [*Examiner notes: the data flow is based on the valid topology because it processes data to arrive at the valid topology. The “predicate mapping” section of figure 2 (annotated below) is the matched reference data as mapped in the previous limitations.]
PNG
media_image5.png
311
615
media_image5.png
Greyscale
wherein the data flow comprises a sequence of tasks and coding per task
(Page 91 figure 2 caption) “Example of data flow in the T2KG framework”; [*Examiner notes: The sequence of tasks includes the “entity mapping”, “triple extraction”, “conference resolution”, “triple integration”, and “predicate mapping”. The coding per task includes the data under each task of the data flow.]
PNG
media_image3.png
293
390
media_image3.png
Greyscale
wherein the tasks of the data flow comprise a DAG dependency structure
[*Examiner notes: The structure of the tasks in the data flow of Kerkeidkachorn comprises a DAG structure, see figure 2]; figure 2
PNG
media_image3.png
293
390
media_image3.png
Greyscale
Kertkeidkachorn does not explicitly teach:
the user inputs comprising initial nodes and a first edge running between two of the initial nodes, each of the initial nodes comprising a respective shape and a respective natural language description
and the user inputs further comprising selection of a data source from a list of data sources presented on a graphical user interface, wherein the data sources are separate from and not part of the received user inputs;
presenting, by the graphical user interface, at least one prompt for a new node for the partial topology, the at least one prompt providing a list of suggestions taken from the selected data source, the suggestions having a semantic relation to at least one of the initial nodes;
in response to receiving a selection from the user to the at least one prompt, adding via the computer the selection to the initial nodes to form enhanced initial nodes;
wherein the data flow comprises a sequence of tasks and coding per task and wherein generating the data flow comprises: transforming the valid topology into a directed acyclic graph (DAG);
and translating the DAG into the data flow via automatically coding the tasks corresponding to the nodes and the edges of the DAG, according to information extracted from the valid topology and the associations, wherein the tasks are coded in accordance with a structure of the DAG and are automatically coded by completing task templates according to the information extracted from the valid topology and the associations, and wherein the task templates are parameterized using words of the extracted information as parameters;
and building, via the computer, an executable knowledge graph from the data flow.
However, Staar teaches:
by a computer
(page 8 paragraph 2 last sentence) “Consequently, we can host graphs of close to 8 billion edges on a virtual machine with 32 GB of free memory, and even close to one trillion edges on a bare-metal POWER9 node with 4 TB of memory[*Examiner notes: mapped to computer].”
and building, via the computer, an executable knowledge graph from the data flow.
(page 7 section 3.1 paragraphs 1 and 2) “In the adjacency matrix approach, all nodes obtain an identifier (typically an unsigned integer) and the edges are stored as a list of node-identifier tuples. It is commonly known that most graph operations can be translated into matrix-operations using linear algebra”; Figure 1; [*Examiner notes: In this reference, the adjacency matrices are built from the data flow of Figure 1]; (page 7 section 3.1 last paragraph)“we have opted to design the graph engine in the CPS platform to work entirely with the adjacency matrix format.”
Hamiliton teaches:
and wherein generating the data flow comprises: transforming the valid topology into a directed acyclic graph (DAG);
(Figure 1 caption) “Two example conjunctive graph queries. In the boxes we show the query, its natural language interpretation, and the DAG that specifies this query’s structure[*Examiner notes: mapped to transforming the valid topology into a DAG]”
PNG
media_image6.png
234
1226
media_image6.png
Greyscale
and translating the DAG into the data flow linking to the matched reference data via the associations
(Figure 3 caption) “Given an input query q, we represent this query according to its DAG structure, then we use Algorithm 1 to generate an embedding of the query based on this DAG[*Examiner notes: mapped to translating the DAG into the data flow]. Algorithm 1 starts with the embeddings of the query’s anchor nodes and iteratively applies geometric operations P and I to generate an embedding q that corresponds to the query. Finally, we can use the generated query embedding to predict the likelihood that a node satisfies the query, e.g., by nearest neighbor search in the embedding space[*Examiner notes: mapped to linking to matched reference data via associations].”
Kertkeidkachorn, Staar, Hamilton, and the present application are analogous because they are all directed to knowledge graphs.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the knowledge graph creation of Kertkeidkachorn in view of Staar by using the DAG and translating the DAG into a data flow as taught by Hamilton because (Hamilton page 4 paragraph 7) “For a query to be valid, its dependency graph must be a directed acyclic graph (DAG), with the anchor nodes as the source nodes of the DAG and the query target as the unique sink node. The DAG structure ensures that there are no contradictions or redundancies.”
Wang teaches:
automatically coding the tasks corresponding to the nodes and the edges of the DAG, according to information extracted from the valid topology and the associations, wherein the tasks are coded in accordance with a structure of the DAG
(page 446 column 1 last sentence) “We first decompose GQ into a set of sub-query graphs[*Examiner notes: corresponds to DAG] {g1...gn} by a dynamic programming algorithm, subject to minimizing the possible query cost.”; [*Examiner notes: See the portion cut from figure 2 below. The query graph (which is the input, and can be interpreted as a valid topology) is turned into a graph, with each connected component representing a path from one node to another. While not explicitly a DAG, when used in combination with Hamilton, the input query graph will be a DAG and thus the query graph decomposition is also a DAG]
PNG
media_image7.png
512
295
media_image7.png
Greyscale
(definition 4) “Definition 4: Semantic graph. Given a sub-query graph gi = (Vi,Ei,LQ) and a knowledge graph G = (V,E,L)[*Examiner notes: corresponds to reference data], the semantic graph is a weighted sub-graph of G defined as SGQ = (V' ,E' ,L,W), with the node set V' ⊆ V, edge set E' ⊆ E, and weight set W, where (1) for each node v ∈ Vi, its node match u ∈ ϕ(v) belongs to V'[*Examiner notes: corresponds to associations], (2) for each edge e = vivj ∈ Ei, its edge match uiuj∈SGQ (i.e., ∀e′∈uiuj belongs to E')[*Examiner notes: corresponds to associations], (3) each e' has a weight w ∈ W to represent the semantic similarity between e' and e (Section IV-A).”; Figure 2; [*Examiner notes: The steps enumerated (1), (2), (3) are steps in the data flow (see figure 2) can be interpreted as automatically coding tasks parameterized by (in accordance with) nodes and edges, which are the structure of the DAG]
and are automatically coded by completing task templates according to the information extracted from the valid topology and the associations
(page 448 definition 4) “Definition 4: Semantic graph. Given a sub-query graph gi = (Vi,Ei,LQ) and a knowledge graph G = (V,E,L)[*Examiner notes: corresponds to reference data], the semantic graph is a weighted sub-graph of G defined as SGQ = (V' ,E' ,L,W), with the node set V' ⊆ V, edge set E' ⊆ E, and weight set W, where (1) for each node v ∈ Vi, its node match u ∈ ϕ(v) belongs to V'[*Examiner notes: corresponds to associations], (2) for each edge e = vivj ∈ Ei, its edge match uiuj∈SGQ (i.e., ∀e′∈uiuj belongs to E')[*Examiner notes: corresponds to associations], (3) each e' has a weight w ∈ W to represent the semantic similarity between e' and e (Section IV-A).”; Figure 2; [*Examiner notes: The steps enumerated (1), (2), (3) are steps in the data flow (see figure 2) can be interpreted as automatically coded tasks parameterized by (in accordance with) nodes and edges. These steps are templates in the sense that they are preset steps that do not need to be recreated from scratch, and can be “completed” by evaluating the steps with the appropriate node/edge parameters. In other words, a function in computing is a template for code which only needs to be written once, but can perform the same task depending on input values.]
Kertkeidkachorn, Staar, Hamilton, Wang, and the present application are analogous because they are all directed to knowledge graphs.
It would have been obvious to a person having ordinary skill in the art to modify the knowledge graph creation with DAGs of Kerkeidkachorn in view of Staar and Hamiltion with the task coding as taught by Wang because (Wang page 445 column 2 second to last paragraph) “As an alternative, we aim to provide a graph query system that will be able to support different query graphs without forcing users to use very controlled vocabulary or be knowledgeable about the dataset. This motivates us to fill the structural gap in graph matching by considering the semantics of query graphs” and (Wang page 446 column 2 paragraph 4) “Moreover, combining our method with SLQ allows us to handle mismatches in query nodes.”
Lee teaches:
and wherein the task templates are parameterized using words of the extracted information as parameters;
(page 4 paragraph 2) “Figure 1 shows the conceptual model of an open-data platform and the data flow of the platform applied to the Korean government. The proposed open-data platform has four key features. First, whenever the metadata of OGDs in a government agency have created or modified, the changed metadata are automatically collected to the agency’s metadata system and transmitted to the central metadata system in real time (or periodically according to system settings). Second, by referencing the standard terminology dictionary, the terms, types and formats of the collected metadata are converted into the standardized metadata to share metadata with others and to analyze the relationships of OGDs in the graph.”; Figure 1
PNG
media_image8.png
489
671
media_image8.png
Greyscale
Kertkeidkachorn, Staar, Hamilton, Wang, Lee, and the present application are analogous because they are all directed to knowledge graphs.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the knowledge graph creation framework of Kertkeidkachorn in view of Staar in view of Hamilton in view of Wang with the task templates parameterized by extracted words taught by Lee because (Lee page 1 abstract) “In particular, the barriers for citizens to acquire the necessary data have been greatly reduced by using the proposed knowledge graph, which is considered to be important for data-driven decision-making. The reliability and feasibility of constructing a metadata-based open-data platform and a knowledge graph are estimated to be considerably high as the proposed approach is applied to a real service of the public sector in Korea.”
Neo4j YouTube teaches:
and the user inputs further comprising selection of a data source from a list of data sources presented on a graphical user interface, wherein the data sources are separate from and not part of the received user inputs;
(timestamp 1:27) “You can now name your database, I'll call it "myBloomIntro", and you can select the sample movies data set, or you can use your own data.”; [*Examiner notes: The user input comprises selecting a dataset. One of the datasets (sample movies dataset) is separate from and not part of the received user inputs. It would be obvious to simply provide multiple different datasets that are separate from and not part of the received user inputs.]
PNG
media_image2.png
948
1436
media_image2.png
Greyscale
presenting, by the graphical user interface, at least one prompt for a new node for the partial topology, the at least one prompt providing a list of suggestions taken from the selected data source, the suggestions having a semantic relation to at least one of the initial nodes; in response to receiving a selection from the user to the at least one prompt, adding via the computer the selection to the initial nodes to form enhanced initial nodes;
(timestamp 2:28) “You can right-click on a node and expand it. In this case, you can right click on "Castaway" and expand by the Acted In relationship[*Examiner notes: suggestions having a semantic relation to at least one of the initial nodes] to see actors that were in the movie "Castaway"[*Examiner notes: adding via the computer the selected new node].”
PNG
media_image9.png
954
1450
media_image9.png
Greyscale
PNG
media_image10.png
200
400
media_image10.png
Greyscale
Kertkeidkachorn, Staar, Hamilton, Wang, Lee, Neo4j YouTube, and the present application are analogous art because they are all directed towards knowledge graphs.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the knowledge graph creation system of Kertkeidkachorn in view of Staar with the user guidance and topology system as taught by Neo4j YouTube because (Neo4j YouTube timestamp 0:24)“Bloom is Neo4j’s data visualization application. It lets you see and interact with graph data in a Neo4j database in powerful ways. From graph beginners to seasoned experts, visualization and interactivity offer very useful tools for subject matter experts and analysts.”
And Jiang teaches:
the user inputs comprising initial nodes and a first edge running between two of the initial nodes, each of the initial nodes comprising a respective shape and a respective natural language description
Figure 2(a)
PNG
media_image11.png
421
462
media_image11.png
Greyscale
Kertkeidkachorn, Staar, Hamilton, Wang, Lee, Neo4j YouTube, Jiang, and the instant application are analogous because they are all directed to knowledge graphs.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the knowledge graph creation framework of Kertkeidkachorn in view of Staar, Hamilton, Wang, Neo4j YouTube and Lee with the handwritten drawings of Jiang because (Jiang page 11 abstract) “Results from our evaluation study show high structure recognition accuracy in real time of our method, and good usability of intelligent manipulation and retrieval techniques.”
Regarding Claim 2:
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube teach:
The computer-implemented method of claim 1,
(see rejection of claim 1)
And Kertkeidkachorn further teaches:
wherein the valid topology is obtained by: identifying a subset of the nodes and edges of the valid topology, in accordance with the matched reference data;
(page 94 column 2 section 3.5.4 line 2) “In this module, priority is given to the predicate-candidate pair that is generated by the rule-based candidate generation module. If such a predicate-candidate pair does not exist, the predicate-candidate pair generated by the similarity-based candidate generation module is then considered. If the similarity of the predicate-candidate pair is greater than the threshold θ, the predicate pair is mapped to the candidate[*Examiner notes: mapped to identifying a subset]. Otherwise, the new URI of the text triple, e.g., ex : born in, is assigned as the predicate. The output of the candidate selection module is the generated KG, in which some entities and predicates are linked to other KGs[*Examiner notes: nodes and edges linked in “other KGs” mapped to nodes and edges of the valid topology].”; (page 90 section 1 line 1) “knowledge graph (KG) stores knowledge in the form of a graph, in which a node represents an entity and an edge denotes the relationship between entities.”
and completing the subset by adding default objects to the subset, so as for a resulting topology to be the valid topology.
(page 94 column 2 section 3.5.4 line 2) “In this module, priority is given to the predicate-candidate pair that is generated by the rule-based candidate generation module. If such a predicate-candidate pair does not exist, the predicate-candidate pair generated by the similarity-based candidate generation module is then considered. If the similarity of the predicate-candidate pair is greater than the threshold θ, the predicate pair is mapped to the candidate. Otherwise, the new URI of the text triple, e.g., ex : born in, is assigned as the predicate[*Examiner notes: mapped to adding default objects].”; [*Examiner notes: The word “default” can be defined as the selection made when no alternative is specified. In the reference, the new URI is added when there is no alternative (i.e. no matching predicate-candidate pair). The resulting topology is a valid topology since any graph is a valid topology.]
Regarding Claim 3:
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang teaches:
The computer-implemented method of claim 1
(see rejection of claim 1)
And Wang further teaches:
wherein the enhanced initial nodes and first edge are iteratively matched against elements of the reference data to form the nodes and edges of the valid topology.
(page 449 column 2 section IV. B. paragraph 1) “For each query node vs[*Examiner notes: mapped to iteratively matching], we use this library to find its node matches φ(vs) through the synonym or abbreviation transformation, e.g., a query node with type Car is mapped to a set of entities with type Automobile in G.”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the knowledge graph creation of Kertkeidkachorn in view of Staar with the iterative matching method of Wang because “we build a synonym and abbreviation transformation library [8] for all types and names existing in G based on BabelNet (the largest multilingual synonym dictionary [38]). For instance, we invoke the API of BabelNet to collect the synonyms and abbreviations of the input keyword as one row in Table I. For each query node vs, we use this library to find its node matches φ(vs) through the synonym or abbreviation transformation, e.g., a query node with type Car is mapped to a set of entities with type Automobile in G.” That is, the iterative matching of Wang can match words to different words which have similar meanings based on a large dictionary of terms.
Regarding Claim 9
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang teaches:
The computer-implemented method of claim 1
(see rejection of claim 1)
And Wang further teaches:
wherein completing the task templates comprises: for each node of the DAG, fetching one or more node task templates and setting one or more parameters of each of the node task templates fetched in accordance with associations corresponding to one or more connected nodes of a respective node that corresponds to one of the node task templates.
(page 449 column 1 section “B. Constructing Semantic Graph”) “Figure 3(a) shows an example semantic graph SGQ[*Examiner notes: mapped to completing task templates] for the sub-query graph g1 in Figure 2.”; (page 449 column 1 last paragraph) “(1) Get node matches of vs. To implement the relation ϕ for node matching, we build a synonym and abbreviation transformation library [8] for all types and names existing in G[*Examiner notes: mapped to associations corresponding to one or more connected nodes. G contains all of the nodes of itself.] based on BabelNet (the largest multilingual synonym dictionary [38]).”; [*Examiner notes: see figure 2 annotated below]
PNG
media_image12.png
611
912
media_image12.png
Greyscale
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Kertkeidkachorn, Staar, Hamilton, Lee, Neo4j YouTube, and Jiang with Wang for the same reasons given in claim 1 above.
Regarding Claim 10
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang teaches:
The computer-implemented method of claim 1
(see rejection of claim 1)
And Wang further teaches:
wherein completing the task templates further comprises: for each edge of the DAG, fetching one or more edge task templates
(page 449 column 2 first paragrpah) “(2) Materialize the 1-hop SGQ for us ∈ ϕ(vs). Given a node match us ∈ ϕ(vs), we assign the weight w on each edge that connects to us based on Eq. 5[*Examiner notes: mapped to task templates for each edge], generating a 1-hop SGQ for us. For example, weighted edges {e1,e3,e9,e13} in Figure 3(b) act as the 1-hop SGQ for the node Germany.”; Equation 5
and setting one or more parameters of each of the edge task templates fetched in accordance with an environment of said each edge in the DAG.
(page 448 column 1 definition 4) “(2) for each edge e = vivj ∈ Ei, its edge match uiuj∈SGQ (i.e., ∀e′∈uiuj belongs to E'), (3) each e' has a weight w ∈ W to represent the semantic similarity between e' and e[*Examiner notes: mapped to one or more parameters in accordance with environment of edge] (Section IV-A).”; Equation 5; [*Examiner notes: Equation 5 shows parameters e and e’ which correspond to the environment (connections between nodes) of each edge of the DAG.]; Figure 3; Figure 2; [*Examiner notes: Figure 3(a) shows a sub-graph of the reference knowledge graph corresponding to a given topology; Figure 2 shows the whole model data flow, see annotations in the third picture below]
PNG
media_image13.png
220
604
media_image13.png
Greyscale
PNG
media_image14.png
256
878
media_image14.png
Greyscale
PNG
media_image12.png
611
912
media_image12.png
Greyscale
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Kertkeidkachorn, Staar, Hamilton, Lee, Neo4j YouTube, and Jiang with Wang for the same reasons given in claim 1 above.
Regarding Claim 12
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang teaches:
The computer-implemented method of claim 1
(see rejection of claim 1)
Jiang further teaches:
wherein the user inputs includes an image of a handmade drawing of the partial topology, wherein the image depicts handwritten information including the initial nodes and the first edge
Figure 2(a)
PNG
media_image11.png
421
462
media_image11.png
Greyscale
and wherein the respective natural language descriptions are extracted from the handwritten information in the image.
(page 11:9 section 4.1.5 paragraph 1 line 3) “For each node vi with node type (vi.type=node), our concept node recognition method extracts its attribute vi.text[*Examiner notes: mapped to converting user inputs by extracting respective natural language descriptions].”; (page 11:9 section 4.1.5 paragraph 2 line 6) “For handwritten texts, we used Microsoft Tablet PC Platform SDK5 to recognize users’ handwriting[*Examiner notes: mapped to extracting natural language from handwritten information].”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Kertkeidkachorn, Staar, Hamilton, Wang, Lee, and Neo4j YouTube with Jiang for the same reasons given in claim 1 above.
Regarding Claim 13
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang teaches:
The computer-implemented method of claim 1
(see rejection of claim 1)
Neo4j YouTube further teaches:
wherein the initial nodes and the first edge are received from the user via the user interacting with the graphical user interface.
(timestamp 2:10) “now if we search for nodes of type Movie using the near natural language search bar, we’ll see all of the nodes that have the label movie applied.”; (timestamp 2:28) “You can right-click on a node and expand it. In this case, you can right click on "Castaway" and expand by the Acted In relationship to see actors that were in the movie "Castaway".”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Kertkeidkachorn, Staar, Hamilton, Wang, Lee, and Jiang with Neo4j YouTube for the same reasons given in claim 1 above.
Regarding Claim 15:
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, and neo4j YouTube, and Jiang teaches:
The computer-implemented method of claim 1
(see rejection of claim 1)
And neo4j YouTube further teaches:
wherein the data source is the first knowledge graph.
(timestamp 1:27) “You can now name your database, I'll call it "myBloomIntro", and you can select the sample movies data set, or you can use your own data.”; [*Examiner notes: The sample movies is a knowledge graph dataset]
PNG
media_image15.png
480
730
media_image15.png
Greyscale
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Kertkeidkachorn, Staar, Hamilton, Wang, Lee, Jiang, and neo4j with neo4j YouTube for the same reasons given in claim 1 above.
Regarding Claim 16
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang teaches:
The computer-implemented method of claim 1
(See rejection of claim 1)
And Staar further teaches:
further comprising: serving the knowledge graph in-memory, by performing vector operations, to allow the user to navigate the knowledge graph
(page 9 section 3.3.1) “The task constructs a node vector v, such that…”; Equation 3; (page 9 section 3.3.2) “The simplest type of graph-traversal is the direct graph-traversal. As explained in detail in section 3.1, these can be implemented as a straightforward SpMV operation w=Av[*Examiner notes: mapped to performing vector operations to allow the user to navigate the knowledge graph].”; Equation 4; (page 8 paragraph 2 last sentence) “Consequently, we can host graphs of close to 8 billion edges on a virtual machine with 32 GB of free memory[*Examiner notes: mapped to serving in-memory], and even close to one trillion edges on a bare-metal POWER9 node with 4 TB of memory[*Examiner notes: mapped to serving in-memory].”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Kertkeidkachorn, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang with Staar for the same reasons given in claim 1 above.
Regarding Claim 17
Claim 17 is a product claim, corresponding to computer-implemented method claim 1. The only difference is that claim 17 recites a computer system with a processor, memory, and code.
Staar teaches:
A computer system for building a knowledge graph, the computer system comprising one or more processors, one or more computer readable tangible storage devices, and program instructions stored on at least one of the one or more computer readable tangible storage devices for execution by at least one of the one or more processors, the program instructions executable to
(page 8 paragraph 2 last sentence) “Consequently, we can host graphs of close to 8 billion edges on a virtual machine with 32 GB of free memory, and even close to one trillion edges on a bare-metal POWER9 node with 4 TB of memory[*Examiner notes: mapped to computer readable tangible storage device].”; (page 10 section 4 paragraph 2) “The platform allows to manage and instrument the corpus processing in a multitenant fashion, that is, it handles multiple knowledge ingestion pipelines and it serves multiple knowledge graphs. We call each unit a Knowledge Graph Space (KGS), which consists of a dedicated instance of the graph engine, a dedicated MongoDB database and a bucket on a cloud object store (COS)[*Examiner notes mapped to instructions stored].”; (page 10 section 4 paragraph 2) “These flavors range from a virtual machine with small amount of memory to a full dedicated node including hardware acceleration with GPUs[*Examiner notes: mapped to one or more processors].”
Kertkeidkachorn, Hamilton, Wang, Lee, Staar, Neo4j YouTube, Jiang and the instant application are analogous because they are all directed to knowledge graphs.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the knowledge graph creation framework as taught by Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang by using the computer of Staar because (Staar page 10 section 4 paragraph 2) “The platform allows to manage and instrument the corpus processing in a multitenant fashion, that is, it handles multiple knowledge ingestion pipelines and it serves multiple knowledge graphs”
All of the remaining limitations of claim 17 are taught in the rejection of claim 1 and thus are rejected for the same reasons.
Regarding Claim 19
Claim 19 is a product claim corresponding to claim 16. The only difference is that claim 19 recites a computer system with a processor, memory, and code (taught in independent claim 17 above). All of the remaining limitations of claim 19 are taught in the rejection of claim 16 and thus are rejected for the same reasons.
Regarding Claim 20
Claim 20 is a product claim, corresponding to computer-implemented method claim 1. The only difference is that claim 20 recites a computer readable storage medium having instructions.
Staar teaches:
A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to perform operations comprising
(page 8 paragraph 2 last sentence) “Consequently, we can host graphs of close to 8 billion edges on a virtual machine with 32 GB of free memory, and even close to one trillion edges on a bare-metal POWER9 node with 4 TB of memory[*Examiner notes: mapped to computer readable tangible storage device].”
(page 10 section 4 paragraph 2) “The platform allows to manage and instrument the corpus processing in a multitenant fashion, that is, it handles multiple knowledge ingestion pipelines and it serves multiple knowledge graphs. We call each unit a Knowledge Graph Space (KGS), which consists of a dedicated instance of the graph engine, a dedicated MongoDB database and a bucket on a cloud object store (COS)[*Examiner notes mapped to instructions stored].”;
(page 10 section 4 paragraph 2) “These flavors range from a virtual machine with small amount of memory to a full dedicated node including hardware acceleration with GPUs[*Examiner notes: mapped to one or more processors].”
Kertkeidkachorn, Hamilton, Wang, Lee, Staar, Neo4j YouTube, Jiang, and the instant application are analogous because they are all directed to knowledge graphs.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the knowledge graph creation framework as taught by Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang by using the computer of Staar because (Staar page 10 section 4 paragraph 2) “The platform allows to manage and instrument the corpus processing in a multitenant fashion, that is, it handles multiple knowledge ingestion pipelines and it serves multiple knowledge graphs”.
All of the remaining limitations of claim 20 are taught in the rejection of claim 1 and thus are rejected for the same reasons.
Regarding Claim 22
Claim 22 is a product claim corresponding to claim 12. The only difference is that claim 22 recites a computer program product (taught in independent claim 20 above). All of the remaining limitations of claim 22 are taught in the rejection of claim 12 and thus are rejected for the same reasons.
Regarding Claim 26
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang teaches:
The computer-implemented method of claim 1
(see rejection of claim 1)
Staar further teaches:
wherein the data flow comprises the tasks being mapped onto respective sub-elements of the reference data of the first knowledge graph.
(page 10 section 3.3.4 paragraph 3) “For each task, we obtain a set of nodes with corresponding weights by identifying the nonzero elements in the associated node vector. After executing the full workflow, we therefore obtain for each task a list of nodes which can be sorted according to their weights. The higher the weight of the node, the more relevant this node is. As such, we can also retrace which nodes were important in each stage of the workflow.”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to combine Kertkeidkachorn, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang with Staar for the same reasons given in claim 1 above.
Regarding Claim 27
Claim 27 is a product claim corresponding to claim 26. The only difference is that claim 27 recites a computer system (taught in independent claim 17 above). All of the remaining limitations of claim 27 are taught in the rejection of claim 26 and thus are rejected for the same reasons.
Regarding Claim 28
Claim 28 is a product claim corresponding to claim 26. The only difference is that claim 28 recites a computer program product (taught in independent claim 20 above). All of the remaining limitations of claim 28 are taught in the rejection of claim 26 and thus are rejected for the same reasons.
Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, Jiang and further in view of Ahammad et al. “A New Topological Sorting Algorithm with Reduced Time Complexity”, herein referred to as Ahammad.
Regarding Claim 5
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang teach:
The computer-implemented method of claim 1
(see rejection of claim 1)
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang does not explicitly teach:
wherein transforming the valid topology into the DAG includes: linearly ordering the nodes of the valid topology, so as to obtain the DAG as a graph of linearly ordered nodes connected by edges.
However, Ahammad teaches:
wherein transforming the valid topology into the DAG includes: linearly ordering the nodes of the valid topology, so as to obtain the DAG as a graph of linearly ordered nodes connected by edges.
(page 418 section 1 paragraph 1) “Topological sorting for a directed acyclic graph (DAG) means the linear ordering of the vertices of a graph. In this ordering for every directed edge (u, v) from vertex u to vertex v, u comes before v.”
Kertkeidkachorn, Staar, Hamilton, Wang, Lee, Neo4j YouTube, Jiang, Ahamad, and the present application are analogous because they are all directed to knowledge graphs.
It would have been obvious to a person having ordinary skill in the art to modify the knowledge graph creation with DAGs Kertkeidkachorn, Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang with the linear ordering of DAG nodes as taught by Ahammad because (Ahammad page 419 paragraph 4) “Topological sorting is a popular algorithm for scheduling tasks” and (Ahammad abstract) “this algorithm ca[n] be used for resolving dependencies, scheduling system, planning and in many graph algorithms.” That is, linearly ordering tasks in the DAG may be useful to determine the order (scheduling) in which tasks are completed.
Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and further in view of NPL reference Neo4j “Edit graph data”, herein referred to as Neo4j.
Regarding Claim 14
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, neo4j YouTube, and Jiang teaches:
The computer-implemented method of claim 13
(see rejection of claim 13)
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, neo4j YouTube, and Jiang does not explicitly teach:
further comprising: prompting, via the graphical user interface, the user to add one or more edges
and prompting, via the graphical user interface, the user to provide a natural language description of the added one or more edges.
However, Neo4j teaches:
further comprising: prompting, via the graphical user interface, the user to add one or more edges
(page 2/6) “Create new relationships - New relationships can be created from the canvas directly. To create a new relationship[*Examiner notes: mapped to prompting the user to add one or more edges], select the source and destination nodes taking care to select the source node first. The right-click context menu will show the Create relationship enabled with a sub-menu showing the available relationship types.”
and prompting, via the graphical user interface, the user to provide a natural language description of the added one or more edges.
(page 2/6) “Create new relationships - New relationships can be created from the canvas directly. To create a new relationship, select the source and destination nodes taking care to select the source node first. The right-click context menu will show the Create relationship enabled with a sub-menu showing the available relationship types[*Examiner notes: mapped to prompting the user to provide a natural language description of added edges].”
Kertkeidkachorn, Staar, Hamilton, Wang, Lee, neo4j YouTube, Jiang, neo4j, and the present application are analogous art because they are all directed towards knowledge graphs.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the knowledge graph creation tool and guidance as taught by Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang with the additional guidance on adding natural language descriptions to nodes and edges as taught by neo4j because (neo4j) “Bloom allows you to edit your graph data directly from the scene. Consequently, the only data you can modify is what is visible in the current scene. You can also create new nodes and relationships in your scene, which are added to your database.”
Claim 24 is rejected under 35 U.S.C. 103 as being unpatentable over Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, neo4j YouTube, Jiang, and further in view of NPL reference Khan et al. “On Smart Query Routing: For Distributed Graph Querying with Decoupled Storage” herein referred to as Khan.
Regarding Claim 24
Kertkeidkachorn in view of Staar, Hamilton, Wang, neo4j YouTube and Lee teach:
The computer-implemented method of claim 1
(see rejection of claim 1)
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, neo4j YouTube, and Jiang does not explicitly teach:
wherein the interpreting and the matching the enhanced initial nodes against the reference data from the first knowledge graph comprises caching, in the computer, data relating to matches from the first knowledge graph,
the first knowledge graph being stored in another computer that is external to the computer that performs the interpreting and the matching.
However, Khan teaches:
wherein the interpreting and the matching the enhanced initial nodes against the reference data from the first knowledge graph comprises caching, in the computer, data relating to matches from the first knowledge graph,
(page 408 column 1 paragraph 1) “Freebase: We download the Freebase knowledge graph[*Examiner notes: knowledge graph].” (page 404 section 3.1 bullet point 1.) “. Let us consider t successive queries received by the router. The router will send them to query processors in a way such that the average number of cache hits at the processors is maximized[*Examiner notes: mapped to caching]. This, in turn, reduces the average query processing latency. However, as stated earlier, to achieve maximum cache hits, it will not be sufficient to only route the queries on same nodes to the same processor. Rather, successive queries on neighboring nodes should also be routed to the same processor[*Examiner notes: mapped to data relating to matches], since the neighborhoods of two nearby nodes may significantly overlap. This will be discussed shortly in Requirement 1.”
the first knowledge graph being stored in another computer that is external to the computer that performs the interpreting and the matching.
(page 403 column 2 section 2.3 paragraph 1) “We decouple query processing from graph storage. This decoupling happens at a logical level. As an example, query processors can be different physical machines than storage servers”
Kertkeidkachorn, Staar, Hamilton, Wang, Lee, neo4j YouTube, Jiang, Khan, and the present application are analogous art because they are all directed towards knowledge graphs.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the knowledge graph creation tool and guidance as taught by Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, neo4j YouTube, and Jiang with the caching and external computer taught by Khan because (Khan page 401 column 1 abstract) “To answer such queries with high throughput and low latency, we partition the graph and process in parallel across a cluster of servers” and (Khan page 402 column 2 line 19) “Rather, successive queries on neighboring nodes should also be routed to the same processor, since the neighborhoods of two nearby nodes may significantly overlap”.
Claim 25 is rejected under 35 U.S.C. 103 as being unpatentable over Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, neo4j YouTube, Jiang, and further in view of NPL reference Zhao et al. “UGRec: Modeling Directed and Undirected Relations for Recommendation”.
Regarding Claim 25
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang teaches:
The computer-implemented method of claim 1
(see rejection of claim 1)
Kertkeidkachorn in view of Staar, Hamilton, Wang, Lee, Neo4j YouTube, and Jiang does not explicitly teach:
wherein the first edge is an undirected edge and the undirected edge is part of the valid topology
However, Zhao teaches:
wherein the first edge is an undirected edge and the undirected edge is part of the valid topology
(page 193 abstract) “To achieve the goal, we propose a unified graph-based recommendation model (UGRec), which integrates the traditional directed relations in KG and the undirected item-item co-occurrence relations simultaneously.”
Kertkeidkachorn, Staar, Hamilton, Wang, Neo4j YouTube, Jiang, Zhao, and the present application are analogous art because they are all directed towards knowledge graphs.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the present invention to modify the knowledge graph construction of Kertkeidkachorn in view of Staar, Hamilton, Wang, Neo4j YouTube, and Jiang with the undirected edge taught by Zhao because (Zhao page 193 abstract) “Results show that our
model outperforms several previous state-of-the-art methods and demonstrate the effectiveness of our UGRec model.”
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure: Yarushkina et al. "Development of a knowledge base based on context analysis of external information resources" teaches using external data sources.
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Ezra J Baker whose telephone number is (703)756-1087. The examiner can normally be reached Monday - Friday 10:00 am - 8:00 pm ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, David Yi can be reached at (571) 270-7519. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/E.J.B./Examiner, Art Unit 2126
/VAN C MANG/Primary Examiner, Art Unit 2126