redisgraphcrud
v0.2.2
Published
RedisGraph CRUD API which provides easy access to manipulation of nodes and edges
Downloads
17
Readme
redisgraphcrud
offers a functional CRUD API for RedisGraph by wrapping any redisgraph client .query()
interface
Installation
npm install redisgraphcrud
API
createNode(nodeDescriptor, graphClient, retrieveKeys)
nodeDescriptor
-- an object containing alabel
as a string anddata
as an object containing the node properties to setgraphClient
-- a redisGraph client which has a.query()
method exposedretrieveKeys
-- an array of strings which describes which keys of the node should be returned once the node has been createdCall
createNode
withretrieveKeys
set to a falsy value to not return anything after creation.
getNodeByProperty(getNodeArguments, graphClient, retrieveKeys)
getNodeArguments
-- an object containing alabel
as a string anddata
as an object containing the node properties to matchgraphClient
-- a redisGraph client which has a.query()
method exposedretrieveKeys
-- an array of strings which describes which keys of the node should be returned once the node has been createdCall
getNodeByProperty
withretrieveKeys
set to a falsy value to not return anything after retrieval.
relateNodes(relatableNodeProps, graphClient)
relatableNodeProps
-- an object containing the following keys:originNode
-- an object containing alabel
as a string anddata
as an object containing the node properties to matchdestinationNode
-- an object containing alabel
as a string anddata
as an object containing the node properties to matchrelationLabel
-- the label of the relation to create as a string
graphClient
-- a redisGraph client which has a.query()
method exposedCalling
relateNodes
will always create a relation of type (origin)-[:RELATION]->(destination)
getRelation(relatableNodeProps, graphClient)
relatableNodeProps
-- an object containing the following keys:originNode
-- an object containing alabel
as a string anddata
as an object containing the node properties to matchdestinationNode
-- an object containing alabel
as a string anddata
as an object containing the node properties to matchrelationLabel
-- the label of the relation to create as a string
graphClient
-- a redisGraph client which has a.query()
method exposed
Example
import {RedisGraph} from 'redisgraph.js';
const client = new RedisGraph();
import {createNode, getNodeByProperty, relateNodes} from 'redisgraphcrud';
const originNode = {
label: "Person",
data: {
name: "Bob",
age: 33
}
}
const destinationNode = {
label: "Person",
data: {
name: "Mary",
age: 32
}
}
// Create a person Bob
createNode(originNode, client, ['name', 'age']);
// Create a person called Mary
createNode(destionationNode, client, ['name', 'age']);
// Create a relation expressing that Bob knows Mary
relateNodes({originNode: originNode, destionationNode: destinationNode, relationLabel: "knows"}, client);
// Retrieve a relation given two vertices and a specific edge label
getRelation({originNode: originNode, destionationNode: destinationNode, relationLabel: "knows"}, client);
Bugs and Issues
If you encounter any bugs or issues, feel free to open an issue at github or send me an email to [email protected]. I also always like to hear from you, if you’re using my code.
License
redisgraph.js is distributed under the BSD3 license - see LICENSE