Graph database system that dynamically compiles and executes custom graph analytic programs written in high-level, imperative programing language
US-2016117358-A1 · Apr 28, 2016 · US
US9575736B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9575736-B2 |
| Application number | US-201514805882-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 22, 2015 |
| Priority date | Jul 22, 2015 |
| Publication date | Feb 21, 2017 |
| Grant date | Feb 21, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods for interactive front-end graph analysis are provided herein. According to one embodiment, a front-end application receives, from a compiler, first meta-information for a particular graph analysis procedure, where the first meta-information identifies a set of input parameters for passing graph information to the particular graph analysis procedure. The front-end application registers, using the first meta-information, the particular graph analysis procedure as an available command. The front-end application also receives second meta-information that identifies, for each respective graph object of a set of one or more graph objects, a respective set of graph characteristics. In response to receiving a request to apply the particular graph analysis procedure to the set of one or more graph objects, the front-end application enforces a set of one or more constraints based on the first meta-information and the second meta-information.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, by a front-end application from a compiler, first meta-information and an executable for a particular graph analysis procedure; wherein the first meta-information, identifies a set of one or more input parameters for passing graph information to the particular graph analysis procedure; storing, by the front-end application, the executable for the particular graph analysis procedure and the first meta-information; registering, using the first meta-information and after storing the executable, the particular graph analysis procedure as an available command within the front-end application; receiving, by the front-end application, second meta-information for a set of one or more graph objects; wherein the second meta-information identifies, for each respective graph object of the set of one or more graph objects, a respective set of graph characteristics; receiving, by the front-end application, a request to apply the particular graph analysis procedure to the set of one or more graph objects; and in response to receiving the request to apply the particular graph analysis procedure to the set of one or more graph objects, the front-end application performing: enforcing a set of one or more constraints based on the first meta-information and the second meta-information, and invoking the executable to apply the particular graph analysis procedure to the set of one or more graph objects. 2. The method of claim 1 , wherein the method is performed during runtime of the front-end application. 3. The method of claim 1 , wherein each respective set of graph characteristics includes a type of graph represented by the respective graph object, node properties for nodes included in the respective graph object, and edge properties for edges included in the respective graph object. 4. The method of claim 1 , further comprising: receiving, by the front-end application before the first meta-information is received from the compiler, source code for the particular graph analysis procedure; in response to receiving the source code for the particular graph analysis procedure, sending the source code to the compiler for compilation. 5. The method of claim 1 , wherein enforcing, by the front-end application, a set of one or more constraints based on the first meta-information and the second meta-information comprises: determining whether a value of a graph property is compatible with a parameter of the set of one or more input parameters. 6. The method of claim 1 , wherein enforcing, by the front-end application, a set of one or more constraints based on the first meta-information and the second meta-information comprises: determining whether the set of one or more graph objects represents a type of graph that is compatible with the particular graph analysis procedure; generating an error message in response to determining that the set of one or more graph objects represent a type of graph that is not compatible with the particular graph analysis procedure. 7. The method of claim 1 , wherein the first meta-information further defines a set of one or more output parameters for the particular graph analysis procedure and wherein enforcing, by the front-end application, a set of one or more constraints based on the first meta-information and the second meta-information comprises generating an error message in response to determining that an immutable property of a graph object is used as an argument for at least one output parameter of the set of one or more output parameters. 8. The method of claim 1 , wherein enforcing, by the front-end application, a set of one or more constraints based on the first meta-information and the second meta-information comprises: determining whether a dependent graph object used as an argument belongs to a graph represented by a particular graph object in the set of one or more graph objects; generating an error message in response to determining that the dependent graph object does not belong to the graph represented by the particular graph object in the set of one or more graph objects. 9. The method of claim 1 , wherein the request to apply the particular graph analysis procedure to the set of one or more graph objects includes an identification value for a dependent graph object; the method further comprising: based on the second meta-information, retrieving a reference for the dependent graph object. 10. The method of claim 1 , further comprising: performing, by the front-end application, coercion for a particular property of a graph object in the set of one or more graph objects; wherein performing comprises generating a temporary property that is associated with a different data type than the particular property; and copying values of the particular property of the graph object to the temporary property. 11. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause performance of operations comprising: receiving, by a front-end application from a compiler, first meta-information and an executable for a particular graph analysis procedure; wherein the first meta-information, identifies a set of one or more input parameters for passing graph information to the particular graph analysis procedure; storing, by the front-end application, the executable for the particular graph analysis procedure and the first meta-information; registering, using the first meta-information and after storing the executable, the particular graph analysis procedure as an available command within the front-end application; receiving, by the front-end application, second meta-information for a set of one or more graph objects; wherein the second meta-information identifies, for each respective graph object of the set of one or more graph objects, a respective set of graph characteristics; receiving, by the front-end application, a request to apply the particular graph analysis procedure to the set of one or more graph objects; and in response to receiving the request to apply the particular graph analysis procedure to the set of one or more graph objects, the front-end application performing: enforcing a set of one or more constraints based on the first meta-information and the second meta-information, and invoking the executable to apply the particular graph analysis procedure to the set of one or more graph objects. 12. The one or more non-transitory storage media of claim 11 , wherein the operations are performed during runtime of the front-end application. 13. The one or more non-transitory storage media of claim 11 , wherein each respective set of graph characteristics includes a type of graph represented by the respective graph object, node properties for nodes included in the respective graph object, and edge properties for edges included in the respective graph object. 14. The one or more non-transitory storage media of claim 11 , wherein the instructions further cause operations comprising: receiving, by the front-end application before the first meta-information is received from the compiler, source code for the particular graph analysis procedure; in response to receiving the source code for the particular graph analysis procedure, sending the source code to the compiler for compilation. 15. The one or more non-transitory storage media of claim 11 , wherein instructions for enforcing, by the front-end application, a set of one or more constraints based on the first meta-information and the second meta-information comprise instructions for: determining whether
Physics · mapped topic
Register allocation; Assignment of physical memory space to logical memory space · CPC title
Creation or generation of source code · CPC title
Compilation · CPC title
Optimisation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.