IP Library Granted Patent US 7,305,409
Granted Patent B2
US 7,305,409 · App. 10/685,225 · Granted Dec 4, 2007

Data referencing within a database graph

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,305,409
App. No.
10/685,225
Granted
Dec 4, 2007
Kind
B2
Abstract

The present invention is directed to providing a higher degree of association between nodes and links in a graph by creating data structures (spiders) that provide views into graphs that transcend the relatively static association of a conventional graph. A spider's variables bind to any number of nodes and links in the graph, enabling all of the bound nodes and links by addressing the spider. By adding constraints on the extent or degree of binding in a spider to a graph, a subset of the graph is identified. The spider can then used to address the subset of the graph as constrained by the spider. A spider can bind to a link in order to identify a parent/child structural subset of the graph. More specifically a spider is a collection of variables that create a template or pattern and bind to the nodes and links in the graph. A spider traverses a graph by binding its variables to various nodes and links in the graph.

Claims (21)

1. A computerized system comprising:

a processor;

a memory;

a directed labeled graph having node and links, wherein nodes are assigned a type, and each node represents either an entity or a relation, but links only represent relations;

an annotated schema runtime (ASR) engine operably coupled to the directed labeled graph; and

an apparatus having at least one variable bound to a node or link in the directed labeled graph operably coupled to the ASR engine, wherein the apparatus comprises:

an annotated schema runtime interface (IASR), wherein an IASR application program interface (API) is implemented by the ASR engine and configured as a software module to interface with the ASR engine and to handle requests from a client for a spider cursor function, wherein the spider cursor function enables the client to navigate within the ASR engine to retrieve elements from the graph; and

an annotated schema runtime cursor interface (IASRCursor) wherein an IASRCursor API is implemented by one or more annotated schema runtime cursor objects and configured as a software module to interface with an ASR engine and to handle requests from a client for a spider cursor function, wherein the spider cursor function enables the client to navigate within the ASR engine to retrieve elements from the graph.

2. A computer-readable medium having embodied thereon a data structure executable by a processor comprising:

a graph having a plurality of nodes and links, wherein the graph further comprises a linked list and wherein each of the plurality of nodes is assigned a type, and each node represents either an entity or a relation, but each link only represents a relation; and

at least one variable bound to one of the plurality of nodes and links, wherein a bound variable is bound using a restriction and further comprises a spider cursor which facilitates navigating or querying the graph including non-apparent relations, and wherein the data structure facilitates having at least two variables bound to one of the plurality of nodes and links.

3. A spider application program interface (API) configured as a software module embodied on computer-readable media and executable by a processor to perform acts comprising:

facilitating client communication by invoking an annotated schema runtime engine (ASR);

interfacing with an annotated schema runtime interface (IASR), wherein an IASR application program interface (API) is implemented by the ASR engine and configured as a software module to interface with the ASR engine and to handle requests from a client for a spider cursor function, wherein the spider cursor function enables the client to navigate within the ASR engine to retrieve elements from the graph;

interfacing with an annotated schema runtime cursor interface (IASRCursor), wherein an IASRCursor API is implemented by one or more annotated schema runtime cursor objects and configured as a software module to interface with an ASR engine and to handle requests from a client for a spider cursor function, wherein the spider cursor function enables the client to navigate within the ASR engine to retrieve elements from the graph;

creating a new node in a graph from information comprising a variable and a constraint; and

storing new nodes and links.

4. The IASR cursor application program interface as in claim 3 further comprising an IASR cursor application program interface for finding the first node or link in the graph in reference to the constraint from information comprising a variable specifying the first node or link in the graph, with respect to the current sort order.

5. The IASR cursor application program interface as in claim 3 further comprising an IASR cursor application program interface for finding the last node or link in the graph in reference to the constraint from information comprising a variable specifying the last node or link in the graph, with respect to the current sort order.

6. The IASR cursor application program interface as in claim 3 further comprising an IASR cursor application program interface for finding the next node or link in the graph in reference to the constraint from information comprising a variable specifying the next node or link in the graph, with respect to the current sort order.

7. The IASR cursor application program interface as in claim 3 further comprising an IASR cursor application program interface for finding the previous node or link in the graph in reference to the constraint from information comprising a variable specifying the previous node or link in the graph, with respect to the current sort order.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →