Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4J图算法Cypher投影应该只返回数字?_Neo4j_Cypher - Fatal编程技术网

Neo4J图算法Cypher投影应该只返回数字?

Neo4J图算法Cypher投影应该只返回数字?,neo4j,cypher,Neo4j,Cypher,您好,我使用以下类型的Cypher发出一个图形算法Neo4J请求,它首先查找节点,然后查找它们之间的关系: CALL algo.pageRank.stream('MATCH (u:User{uid:"0ee14110-426a-11e8-9d67-e79789c69fd7"}), (ctx:Context{name:"news180417"}), (u)<-[:BY]-(c:Concept)-[:AT]->(ctx) RETURN DISTINCT id(c) as id',

您好,我使用以下类型的Cypher发出一个图形算法Neo4J请求,它首先查找节点,然后查找它们之间的关系:

CALL algo.pageRank.stream('MATCH (u:User{uid:"0ee14110-426a-11e8-9d67-e79789c69fd7"}), 
(ctx:Context{name:"news180417"}), (u)<-[:BY]-(c:Concept)-[:AT]->(ctx) 
RETURN DISTINCT id(c) as id', 
'CALL apoc.index.relationships("TO","user:0ee14110-426a-11e8-9d67-e79789c69fd7") 
YIELD rel, start, end WITH DISTINCT rel, start, end MATCH (ctx:Context) 
WHERE rel.context = ctx.uid AND (ctx.name="news180417" ) 
RETURN DISTINCT id(start) AS source, id(end) AS target', 
{graph:'cypher', iterations:5});
调用algo.pageRank.stream('MATCH(u:User{uid:'0ee14110-426a-11e8-9d67-e79789c69fd7}),
(ctx:Context{name:“news180417”},(u)(ctx)
将不同的id(c)作为id'返回,
'调用apoc.index.relationships(“收件人”,“用户:0ee14110-426a-11e8-9d67-e79789c69fd7”)
使用不同的rel、start、end匹配(ctx:Context)生成rel、start、end
其中rel.context=ctx.uid和(ctx.name=“news180417”)
返回不同的id(开始)作为源,id(结束)作为目标',
{图:'cypher',迭代次数:5});
这很好用。但是,当我尝试返回
c.uid
而不是它的Neo4J
id()
时,图形算法不接受它

这是否意味着我只能在Graph算法中使用Neo4J ID进行操作?

当您使用Graph算法过程时,会传递2条密码语句(和一个配置映射)

第一个Cypher语句必须返回一个
id
变量,该变量的值是节点的本机id

第二个Cypher语句必须返回值也是节点ID的
目标
变量

因此,是的,您的Cypher语句必须始终返回neo4j本机ID。

当您与Graph Algorithms过程一起使用时,您将传递2个Cypher语句(和一个配置映射)

第一个Cypher语句必须返回一个
id
变量,该变量的值是节点的本机id

第二个Cypher语句必须返回值也是节点ID的
目标
变量


因此,是的,您的Cypher语句必须始终返回neo4j本机id。

图形算法给出的错误是什么,表明它不接受
c.uid
?@Rebeccalson该id应该是整数。听起来库不允许您调用返回非整数的
MATCH
模式。这就是问题所在。啊,对不起,看起来我误解了你。如果问题是“如果这个库说我不能返回字符串,我可以返回字符串吗?”答案当然是“不,那是不可能的”。您正在寻找可以接受标签作为PageRank字符串值的替代调用或库吗?Graph算法给出的错误是什么,表明它不接受
c.uid
?@Rebeccalson该id应为整数。听起来库不允许您调用返回非整数。这就是问题所在。啊,对不起,看起来我误解了你。如果问题是“如果这个库说我不能返回字符串,我可以返回字符串吗?”答案当然是“不,那是不可能的”。您是否正在寻找可以接受标签作为PageRank字符串值的替代调用或库?