Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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字符串未传递到下一步进行处理_Neo4j_Cypher - Fatal编程技术网

Neo4j字符串未传递到下一步进行处理

Neo4j字符串未传递到下一步进行处理,neo4j,cypher,Neo4j,Cypher,我有一个疑问: WITH split("what is porsche",' ') as instr MATCH (a)-[rels*]->(b) WHERE a.name=instr[0] and b.name STARTS WITH 'outcome' WITH [r IN rels | [STARTNODE(r).name]] AS steps WITH [k in steps where size(steps)=3] as ka RETURN ka limit 1 但是,我希望将

我有一个疑问:

WITH split("what is porsche",' ') as instr
MATCH (a)-[rels*]->(b)
WHERE a.name=instr[0] and b.name STARTS WITH 'outcome'
WITH [r IN rels | [STARTNODE(r).name]] AS steps
WITH [k in steps where size(steps)=3] as ka
RETURN ka limit 1

但是,我希望将size(steps)=3替换为size(steps)=size(instr),其中'instr'是在第一步中传递的输入字符串。我好像错过了什么

您应该使用将
指令传递到第一个
中的下一个上下文,如下所示:

WITH split("what is porsche",' ') as instr
MATCH (a)-[rels*]->(b)
WHERE a.name=instr[0] and b.name STARTS WITH 'outcome'
WITH instr, [r IN rels | [STARTNODE(r).name]] AS steps
WITH [k in steps where size(steps)=size(instr)] as ka
RETURN ka limit 1

伟大的嘿,我有一个扩展-现在没有限制,它给我两个输出-一个长度为3(正确),另一个长度为0。我们可以不使用限制来消除长度0的输出吗?@ugp Try
使用split(“what is porsche”,'')作为instr匹配(a)-[rels*]->(b),其中a.name=instr[0]和b.name以'output'开头,instr,[r IN rels |[STARTNODE(r).name]]作为步长,其中[k IN steps WHERE size(steps)=size(instr)]作为ka,其中ka>0返回ka
Super!我能够消除长度为0的行。嘿,我如何在列表中找到字符串的索引值?例如,使用split(“what is porsche”,”),我如何找到“porsche”的位置为3?Tks@ugp我认为提出一个新问题而不是使用评论是个好主意。通过这种方式,整个社区可以帮助您和其他有相同问题的用户利用这些答案。好吗?:)