如何查询"批量插入Neo4j"图DB?

时间:2015-12-11 20:27:21

标签: neo4j

通过this博客帖子获取想法,我实施了DBpedia(.ttl格式) - neo4j批量导入程序。因为导入部分没有问题我无法识别如何编写查询(例如:检查db中是否存在具有特定属性的节点等)来创建neo4j数据库。试图在那里使用GraphDatabaService,但这是不可能的,无法在neo4j official website找到相关信息。

1 个答案:

答案 0 :(得分:0)

我很惊讶网络无法向您返回有关如何使用neo4j以及专门编写查询的一些信息。

GraphDatabaseService的API文档位于:

http://neo4j.com/docs/stable/javadocs/org/neo4j/graphdb/GraphDatabaseService.html

此外,本手册中的一节介绍了如何在Java中使用neo4j嵌入模式:

http://neo4j.com/docs/stable/tutorials-java-embedded-hello-world.html

基本上,您需要将操作包装在事务中:

try (Transaction tx = database.beginTx()) {
  database.createNode();
  tx.success();
}

按标签和属性查找节点与上一操作一样简单:

try (Transaction tx = database.beginTx()) {
  Node user = database.findNode(DynamicLabel.label("User"), "login", "john@doe.com");
  tx.success();
}

如果您在服务器模式下运行Neo4j,您实际上可以编写Cypher查询,为您选择的语言选择驱动程序:

http://neo4j.com/developer/language-guides/

完整的Cypher指南随时可供您阅读:

http://neo4j.com/docs/stable/cypher-query-lang.html

您还可以关注免费在线课程:

http://neo4j.com/graphacademy/online-training/

您还可以在此处找到大量策划的Neo4j资源:

https://github.com/GraphGeeks/awesome-neo4j