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
Regex Neo4j Cyper:从RE获取数据_Regex_Neo4j_Cypher - Fatal编程技术网

Regex Neo4j Cyper:从RE获取数据

Regex Neo4j Cyper:从RE获取数据,regex,neo4j,cypher,Regex,Neo4j,Cypher,我想要的是从正则表达式中的属性中获取信息,并返回一个名称和该名称经过多少次的计数——所有这些都是用cypher实现的。我猜是这样的: MATCH (t:Tweet) WHERE t.body =~ "@(.*?) .*" = k RETURN k as name, count(k) as number 解决办法当然是: MATCH (t:Tweet) WHERE t.body =~ "@.*" RETURN t 我想用另一种语言(比如python)来实现这一点——这不是我想要的不幸的是,你不

我想要的是从正则表达式中的属性中获取信息,并返回一个名称和该名称经过多少次的计数——所有这些都是用cypher实现的。我猜是这样的:

MATCH (t:Tweet)
WHERE t.body =~ "@(.*?) .*" = k
RETURN k as name, count(k) as number
解决办法当然是:

MATCH (t:Tweet)
WHERE t.body =~ "@.*"
RETURN t

我想用另一种语言(比如python)来实现这一点——这不是我想要的

不幸的是,你不能用cypher来实现你想做的事情。正则表达式只是用于匹配。但请确认,这里有两个相关的StackOverflow问题,问题类似,但答案与我在这里提供的相同:和

在其中一个问题上,Michael Hunger就如何面对这些情况给出了良好而适当的建议:

一般来说,当我遇到像你所面临的问题时,我会尝试 在导入步骤之前处理它们。也就是说,你可以从 数据,将其转换为CSV,然后将CSV加载到图形中。在期间 在CSV的操作中,我会使用一些 使用其他工具(sed/awk/perl/python/whatever),然后修改数据 在它被加载到图表中之前,做这种事情

对于您的问题,您将无法避免在单独的工具中执行此操作。但当然,无论您选择如何操作,您都可以使用包含答案的属性更新节点,然后根据这些属性进行查询。这是一个解决办法,但我认为这准确地反映了您的选择。

谢谢您的回答。。