您的位置:首页 > 数据库

图模式的NoSQL数据库:Neo4j

2012-02-05 22:17 120 查看
Neo4J是什么?

1. 一个高性能的图关系模型数据库
2. 一个NoSQL的数据库
3. 支持多种编程语言
4. Neo4J擅长处理具有多关系的模型数据

Neo4J中怎么删除与某个节点有关系的节点?
1. 查找到目标节点所有关系
2. 开启一个事务,删除所有关系的start node或end node
3. 遍历所有找到的node并删除相关的RelationShip
4. 然后删除node本身,提交事务

public static void DeleteRelativeNode(Node n) {
TraversalDescription td = Traversal.description().relationships(Types.Relative, Direction.BOTH)
.evaluator(Evaluators.excludeStartPosition());
Traverser t = td.traverse(n);
for(Node tn : t.nodes()) {
Iterable<Relationship> relationships = tn.getRelationships();
for (Relationship r : relationships) {
if (r.getStartNode().equals(n) || r.getEndNode().equals(n)) {
r.delete();
}
}
if (!tn.hasRelationship()) {
tn.delete();
}
}
}


在Neo4j中删除节点的本身有一个条件,就是这个节点没有任何的关系存在。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: