1
私はNeo4j Transactional Cypher HTTPエンドポイントを使用します。Neo4j REST同じクエリと異なるパラメータを持つ複数のステートメントリクエスト
{
"statements" : [ {
"statement" : "MATCH path=shortestPath(
(p:Person {idp:123})-[*..10]-(p2:Person {idp:{idp2}}))
RETURN reduce(x={
last_idp: +head(nodes(path)).idp,
str:"" +head(nodes(path)).idp },
r IN relationships(path) |
{
last_idp: CASE WHEN x.last_idp = startnode(r).idp THEN endnode(r).idp ELSE startnode(r).idp END,
str: CASE WHEN x.last_idp = startnode(r).idp
THEN x.str +"-" +type(r)+"->"+ endnode(r).idp
ELSE x.str +"<-"+type(r)+"-" + startnode(r).idp
END
}
).str AS rpath",
"parameters" : {"idp2": 1234}
}, {
"statement" : "<the same chypher query as above>",
"parameters" : {"idp2": 1234}
}, {
"statement" : "<the same chypher query as above>",
"parameters" : {"idp2": 1235}
},
...
{
"statement" : "<the same chypher query as above>",
"parameters" : {"idp2": 1255}
} ]
}
どのように私は無意味な繰り返しを避けるために要求を簡素化することができます:私はCYPHERクエリは、すべての文でも同じですが、パラメータが異なる複数の文でリクエストを行う必要があり
http://neo4j.com/docs/developer-manual/3.0/http-api/#rest-api-execute-multiple-statements
サイファークエリ文字列の?
そして、私は同じクエリを計画している&の解析に不必要なコストを避けたいと考えています。 可能ですか?
それはまったく同じクエリの場合は、それが解析されたか、再度計画されることはありません。サイファーエンジンは、これらをキャッシュします。 –