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
]
upstream
a string or an array of strings that define the upstream relationships to look forquery object
and object in the style of MongoDB find objectdownstream
a 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.
data
an objectcallback(error, nodeObject)
Get a node.
node
nodeID or nodeObjectcallback(error, nodeObject)
Update a node's data.
node
nodeID or nodeObjectdata
an object, parameters with undefined values are removedcallback(error, nodeObject)
Delete a node and node's relationships.
node
nodeID or nodeObjectcallback(error)
Relate upstream node to downstream node with one or more relationships.
upstreamNode
nodeID or nodeObjectrelationship
single relationship or an array an relationshipsdownstreamNode
nodeID or nodeObjectcallback(error)
Remove one or more relationships from upstream node to downstream node.
upstreamNode
nodeID or nodeObjectrelationship
single relationship or an array of relationshipsdownstreamNode
nodeID or nodeObjectcallback(error)
Remove all relationships from upstream node to downstream node.
upstreamNode
nodeID or nodeObjectdownstreamNode
nodeID or nodeObjectcallback(error)
Remove all relationships between both nodes.
node
nodeID or nodeObjectnode
nodeID or nodeObjectcallback(error)
Check if upstream node is related to downstream node, stopping at threshold
number of jumps.
upstreamNode
nodeID or nodeObjectdownstreamNode
nodeID or nodeObjectthreshold
optional, 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.
upstreamNode
nodeID or nodeObjectrelationship
single relationship or an array of relationshipsdownstreamNode
nodeID or nodeObjectcallback(error, related)
Find a node with given queries. Additional queries are OR conditions. Returns a grafiteQuery object.
query
queryObject, 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.
query
queryObject, 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
order
orderObject, 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.