我刚开始看neo4j将它用于我的社交网络相关项目。在此期间,我遇到了以下代码:
https://github.com/neo4j/neo4j/blob/1.9.M04/community/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4jWithIndexing.java
在浏览时(请参阅上面的代码链接),我很难知道如何获得添加到给定graphDb
的节点总数。有没有办法使用graphDb
或nodeIndex
或referenceIndex
或其他任何方式找到它(节点总数)?如果是,怎么样?
我还需要帮助才能知道如何将graphdb存储到磁盘上的任何给定路径?如何加载这个存储的graphdb并对其执行操作,如搜索节点/关系等?
(当执行上面的代码时,有几个文件,如* .db,*。id,* .keys等..在给定的DB_PATH
创建。这些文件有用的是什么?是否有这些文件包含创建的节点?如果是,我们如何使用它们?)
我们如何通过网络界面访问此graphDb
,例如http://localhost:7474/webadmin/
的信息中心或http://localhost:7474/db/data/
的数据?
如果您需要任何具体信息,请告知我们。
谢谢,Nitin。
答案 0 :(得分:5)
要开始使用Neo4j Embedded和Java API,请参阅:
http://docs.neo4j.org/chunked/milestone/tutorials-java-embedded.html
获取正确的节点和关系计数:
IteratorUtil.count(GlobalGraphOperations.at(gdb).getAllNodes())
IteratorUtil.count(GlobalGraphOperations.at(gdb).getAllRelationships())
要访问带有集成neo4j服务器的嵌入式图形数据库,请参阅 http://docs.neo4j.org/chunked/milestone/server-embedded.html
答案 1 :(得分:3)
Phewww!对于一次进入,这些都是很多问题......
要获取数据库中的节点和关系总数,请使用:
NodeManager nodeManager = ((GraphDatabaseAPI) graphDb).getDependencyResolver().resolveDependency(
NodeManager.class);
long currentRelationships = nodeManager.getNumberOfIdsInUse(Relationship.class);
long currentNodes = nodeManager.getNumberOfIdsInUse(Node.class);
要更改图形DB的路径,只需将路径传递给GraphDatabaseFactory()。newEmbeddedDatabase方法。在你提到的例子中,你可以简单地设置DB_PATH,例如到/home/youruser/neo4j
。
要使用webadmin访问您的数据库,请下载neo4j,更改文件conf/neo4j-server.properties
中的org.neo4j.server.database.location属性,并将其指向数据库的路径并启动服务器。