我要看的是:
https://github.com/maxdemarzi/neography/wiki/Scripts-and-queries
我试图为“查询”找到一个值,该值将返回以下内容:
workingOn的节点value我试过:
start n=node(id) # where id is the reference node
match n-[:workingOn]-()
where has(n.date < Date.now.to_i and n.date > Yesterday.to_i) # yesterday is a Date for yesterday
return n解决了:我从标记为已解决它的问题中获得了洞察力,但我所做的是创建一个查询字符串并使用内插来填充所需的值。例如query = "Match (n) -[#{relationship}]-(n2)....etc
发布于 2017-05-16 18:42:20
您使用的是过时的Cypher语法。如果您使用的是最新版本的neo4j (3.1+),并且安装了适当的载脂蛋白C插件,下面的内容应该可以使用。(我假设在进行查询时传递id参数。如果不是,则用实际的ID值替换$id。)
WITH timestamp() AS now
MATCH (n)
WHERE ID(n) = $id AND
(n)-[:workingOn]-() AND
apoc.date.convert(apoc.date.convert(now, 'ms', 'd') - 1, 'd', 'ms') < n.date < now
RETURN n;它使用timestamp()函数获取当前的划时代时间(以毫秒为单位),并使用APOC函数apoc.date.convert两次获得昨天开始的划时代时间。
它还将(n)-[:workingOn]-()模式移动到WHERE子句,以便每个n只生成一个行,即使该n具有多个workingOn关系。
(如果希望返回RETURN节点的value属性,则实际使用n子句。)
更新
GrapheneDB支持像APOC这样的插件。见他们的文件。
要通过本机neo4j ID进行搜索,首先需要知道ID值。您可能需要先执行另一个查询才能得到它。但是,请注意,最好是分配和使用您自己的is,而不是本机is,因为如果删除原始is,可以回收这些is并将其用于新节点。
https://stackoverflow.com/questions/44008470
复制相似问题