grafite v0.2.0
Grafite
Graph-like database interface using Javascript, MySQL, and Mongo.
- Basic Goals
- Library Objects
- grafite
- grafiteQuery
- nodeObject
- queryObject
- orderObject
- Manipulate Nodes
- Node Relationships
- Querying and Traversing Nodes
- nodeObject Methods
- Create and manipulate objects
- Create
- Update
- Delete
- Relate objects to each other
- Have multiple relationships
- Remove object relationships
- Query for objects
- By object property
- By relationship
- Traverse from object to object
- By object property
- By relationship
The main interface for the library. Read the rest of this documentation for more information.
Returned by functions that query and traverse nodes:
- grafite.find
- grafiteQuery.traverse
- grafiteQuery.sort
- nodeObject.traverse
Has two available methods:
- traverse
- sort
Results from functions that create, manipulate, and find nodes:
- grafite.create
- grafite.get
- grafite.update
- grafite.find
- grafiteQuery.traverse
- grafiteQuery.sort
- nodeObject.traverse
Available methods:
- traverse
- update
- delete
- relateTo
- relatedTo
- unrelateFrom
- severFrom
An array with 3 elements used to query and traverse for nodes.
[
upstream,
query object,
downstream
]upstreama string or an array of strings that define the upstream relationships to look forquery objectand object in the style of MongoDB find objectdownstreama string or an array of strings that define the downstream relationships to look for
Use null call be used for any 3 of these elements, indicating not to query on that field.
A plain object with a key-value pairs. Where the key is the field to sort on, and the value is either 1 for ascending order (defualt), or 0 or -1 for descending order.
Create a node.
dataan objectcallback(error, nodeObject)
Get a node.
nodenodeID or nodeObjectcallback(error, nodeObject)
Update a node's data.
nodenodeID or nodeObjectdataan object, parameters with undefined values are removedcallback(error, nodeObject)
Delete a node and node's relationships.
nodenodeID or nodeObjectcallback(error)
Relate upstream node to downstream node with one or more relationships.
upstreamNodenodeID or nodeObjectrelationshipsingle relationship or an array an relationshipsdownstreamNodenodeID or nodeObjectcallback(error)
Remove one or more relationships from upstream node to downstream node.
upstreamNodenodeID or nodeObjectrelationshipsingle relationship or an array of relationshipsdownstreamNodenodeID or nodeObjectcallback(error)
Remove all relationships from upstream node to downstream node.
upstreamNodenodeID or nodeObjectdownstreamNodenodeID or nodeObjectcallback(error)
Remove all relationships between both nodes.
nodenodeID or nodeObjectnodenodeID or nodeObjectcallback(error)
Check if upstream node is related to downstream node, stopping at threshold number of jumps.
upstreamNodenodeID or nodeObjectdownstreamNodenodeID or nodeObjectthresholdoptional, defaults to 5, maximum number of steps to checkcallback(error, related)
Check if upstream node is immediately related to downstream node by one or more relationships.
upstreamNodenodeID or nodeObjectrelationshipsingle relationship or an array of relationshipsdownstreamNodenodeID or nodeObjectcallback(error, related)
Find a node with given queries. Additional queries are OR conditions. Returns a grafiteQuery object.
queryqueryObject, one or more can be usedcallback(error, nodes)optional, if not provided query will not be executed
Traverse to related nodes from a query. Must be used as a chained function from grafite.find or grafiteQuery.traverse. Additional queries are OR conditions.
queryqueryObject, one or more can be usedcallback(error, nodes)optional, if not provided query will not be executed
Sort the results of a query. Callback is required
orderorderObject, one or more can be usedcallback(error, nodes)required, must be provided
Most of these are self explanatory. Look at their corresponding grafite methods to understand what they do.