1

私はbulbsを介してneo4jのRESTAPIを使用し、次のようにサイファーを介してノードと関連するすべてのエッジを削除しようとしました。

from bulbs.neo4jserver import Graph as Neo4jGraph
db = Graph()

query = '''START d=node(57)
           MATCH d-[r]-()
           DELETE d,r
        '''
t = db.cypher.execute(query)

dbneo4j-database-Handlerはどこにありますか)。

...そしてそれはそのようにうまくいかないようです。長いエラーレポートが続きます:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/tobias/Esk/Dev/liquidDemocracyLight/venv/local/lib/python2.7/site-packages/bulbs/neo4jserver/cypher.py", line 31, in execute
    return self.client.cypher(query, params)
  File "/home/tobias/Esk/Dev/liquidDemocracyLight/venv/local/lib/python2.7/site-packages/bulbs/neo4jserver/client.py", line 403, in cypher
    resp = self.request.post(path, params)
  File "/home/tobias/Esk/Dev/liquidDemocracyLight/venv/local/lib/python2.7/site-packages/bulbs/rest.py", line 126, in post
    return self.request(POST, path, params)
  File "/home/tobias/Esk/Dev/liquidDemocracyLight/venv/local/lib/python2.7/site-packages/bulbs/rest.py", line 181, in request
    return self.response_class(http_resp, self.config)
  File "/home/tobias/Esk/Dev/liquidDemocracyLight/venv/local/lib/python2.7/site-packages/bulbs/neo4jserver/client.py", line 217, in __init__
    self.handle_response(response)
  File "/home/tobias/Esk/Dev/liquidDemocracyLight/venv/local/lib/python2.7/site-packages/bulbs/neo4jserver/client.py", line 249, in handle_response
    response_handler(response)
  File "/home/tobias/Esk/Dev/liquidDemocracyLight/venv/local/lib/python2.7/site-packages/bulbs/rest.py", line 36, in bad_request
    raise ValueError(http_resp)
ValueError: ({'status': '400', 'content-length': '3989', 'content-encoding': 'UTF-8', 'server': 'Jetty(6.1.25)', 'access-control-allow-origin': '*', 'content-type': 'application/json'}, '{\n  "message" : "expected return clause\\n\\"           DELETE d,r\\"\\n            ^",\n  "exception" : "org.neo4j.server.rest.repr.BadInputException: expected return clause\\n\\"           DELETE d,r\\"\\n 

私は何か間違ったことをしていますか?球根を介した暗号クエリを介してノードを削除することはできませんか?

4

2 に答える 2

1

Bulbs には、ノード/頂点とそのすべての関係を削除する組み込みメソッドがあります。

>>> from bulbs.neo4jserver import Graph
>>> g = Graph()
>>> g.vertices.delete(57)

http://bulbflow.com/docs/api/bulbs/element/#vertex-proxyを参照してください

これを行うために、Bulbsdelete()メソッドは内部で Gremlin スクリプトを使用します。これは、Neo4j サーバーが頂点をそのすべてのインシデント エッジと共に削除するための単一のエンドポイントを提供しないためです。

コードは次のようになります。

上記の Gremlin スクリプトはブループリントの removeVertex() メソッド (Neo4j サーバーに組み込まれている) を使用していることに注意してください。

https://github.com/tinkerpop/blueprints/blob/master/blueprints-neo4j-graph/src/main/java/com/tinkerpop/blueprints/impls/neo4j/Neo4jGraph.java#L409を参照してください。

于 2012-11-23T10:56:24.517 に答える
1

古いバージョンの Neo4j を実行しているように見えますか? DELETE1.8でのみ追加されました。

于 2012-11-22T14:51:31.547 に答える