Nodes & Edges¶
Creating Nodes¶
// Create with labels and properties
const node = db.createNode(['Person'], { name: 'Alix', age: 30 });
console.log(node.id); // 0
console.log(node.labels); // ['Person']
console.log(node.get('name')); // 'Alix'
Properties can be null, to create a node with only labels:
Reading Nodes¶
const node = db.getNode(0);
if (node) {
console.log(node.id);
console.log(node.labels);
console.log(node.get('name'));
console.log(node.properties()); // all properties as object
console.log(node.hasLabel('Person')); // true
}
Updating Node Properties¶
Labels¶
db.addNodeLabel(0, 'Employee'); // returns true if added
db.removeNodeLabel(0, 'Employee'); // returns true if removed
db.getNodeLabels(0); // ['Person'] or null if not found
Deleting Nodes¶
To delete a node and all its edges, use a query:
Creating Edges¶
const edge = db.createEdge(0, 1, 'KNOWS', { since: 2024 });
console.log(edge.id); // 0
console.log(edge.edgeType); // 'KNOWS'
console.log(edge.sourceId); // 0
console.log(edge.targetId); // 1
Reading Edges¶
const edge = db.getEdge(0);
if (edge) {
console.log(edge.edgeType);
console.log(edge.get('since'));
console.log(edge.properties());
}
Updating Edge Properties¶
Deleting Edges¶
String Representation¶
Both JsNode and JsEdge have a toString() method for debugging: