2012-04-25

新手的 Neo4j: plugins

neo4j-server-examples 下載常用的 plugin ,然後重新啟動 neo4j-service。 好了,可以接上 這一頁 的範例了...
>>> from neo4jrestclient.client import GraphDatabase
>>> gdb = GraphDatabase("http://localhost:7474/db/data/")
>>> gdb.extensions
{u'CypherPlugin': <Neo4j ExtensionModule: [u'execute_query']>, u'GremlinPlugin': <Neo4j ExtensionModule: [u'execute_script']>, u'GetAll': <Neo4j ExtensionModule: [u'get_all_nodes', u'getAllRelationships']>}


>>> gdb.node[5].properties
{u'name': u'Trinity'}
>>> gdb.node[9].properties
{u'name': u'The Architect'}
>>> trinity = gdb.node[5]
>>> # 找出從 Trinity 到 The Architect 的最短路徑
>>> p = trinity.extensions.ShortestPath.shortestPath(gdb.node[9])
>>> p
[{u'relationships': [u'http://localhost:7474/db/data/relationship/8', u'http://localhost:7474/db/data/relationship/9', u'http://localhost:7474/db/data/relationship/10'], u'start': u'http://localhost:7474/db/data/node/5', u'nodes': [u'http://localhost:7474/db/data/node/5', u'http://localhost:7474/db/data/node/7', u'http://localhost:7474/db/data/node/8', u'http://localhost:7474/db/data/node/9'], u'end': u'http://localhost:7474/db/data/node/9', u'length': 3}]
>>> print [gdb.node[n].properties['name'] for n in p[0]['nodes']]
[u'Trinity', u'Cypher', u'Agent Smith', u'The Architect']

沒有留言: