Neo4j - 具有特定标签的所有节点的路径(标签上的操作)

时间:2015-10-25 10:25:40

标签: neo4j cypher

我想检查节点标签上具有约束的节点之间的路径。路径中的所有节点都应包含特定标签。 "放大器"是我的标签和 我的问题:

#app/controllers/movies_controller.rb
class MoviesController < ApplicationController
   def add_tmdb
      @movie = Movie.new
      @movie.id = params[:movie_id]
      @movie.save

      #or....
      @movie = Movie.new({id: params[:movie_id]})
      @movie.save
   end
end

在上面的查询中,我有两个中间节点。现在,我希望这两个节点还应该包含标签&#34; amps&#34;。

如何在标签上进行比较?

1 个答案:

答案 0 :(得分:4)

如果 ALL 路径中的节点应该有amps标签,并且当前查询可以通过两种方式执行此操作:

1)在()

中指定标签
MATCH p=(a:amps{word:"review"})-->(:amps)-->(:amps)-->(b:amps{word:"nothing"}) 
RETURN p

2)使用ALL谓词指定它:

MATCH p=(a:amps{word:"review"})-->()-->()-->(b:amps{word:"nothing"})
WHERE ALL ( n IN nodes(p) WHERE "amps" IN labels(n) )
RETURN p