×

GRAPH STORE

  • US 20100174692A1
  • Filed: 01/20/2010
  • Published: 07/08/2010
  • Est. Priority Date: 03/15/2007
  • Status: Abandoned Application
First Claim
Patent Images

1. A computer implemented method for establishing a primitive-based graph database, comprising the steps of:

  • a processor configured to providing a plurality of primitives that are identified by globally unique identifiers (GUIDs) which consist of a database id and a primitive id;

    wherein, once written, primitives are read only; and

    wherein said primitives collectively establish a log-structured or append-only database;

    said processor configured for assigning primitive ids to primitives in said database sequentially as said primitives are written; and

    said processor configured for providing a plurality of fields for each primitive, wherein any or all of said fields may be null, said fields comprising;

    a left field comprising a guid representing a first end of a relationship arrow;

    a right field comprising a guid representing a second end of said relationship arrow;

    a type field comprising a guid that is used in conjunction with said left field and right field to specify a type of a relationship;

    a scope field comprising a guid that identifies a creator of a given primitive; and

    a value field comprising a string that carries any of literal values, strings, numbers, and dates;

    said processor configured for responding to user interaction with said database to establish one or more primitives that comprise either nodes without a left field or a right field, or links which always have a left field and which can also have a right field;

    wherein nodes represent identities and carry no other data; and

    wherein links represent properties of an identity, wherein said links comprise either a literal value or a relationship;

    wherein a node and its associated links comprise an object with fields (properties) described by one or more types;

    said processor configured for modifying a primitive to change said primitive'"'"'s value by writing a new primitive carrying a modification and marking said new primitives as a replacement for the primitive that it is replacing;

    said processor configured for deleting a primitive by writing a new primitive which marks the primitive to be deleted as deleted; and

    said processor configured for removing deleted or versioned primitives during query execution.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×