neo4j 查询错误 "dont know how to compare"
neo4j query error "dont know how to compare"
我使用 hermit reasoner 和 Java 用 Pizza.owl 文件加载了 Neo4j。
当我通过一个简单的查询时:
match (n) where n="name:Pizza" return n;
收到以下错误
Don't know how to compare that. Left: Node[1]{name:"owl:Thing"} (NodeProxy); Right: "name:Pizza" (String)
NodeProxy 是一种数据类型吗?我怎样才能让他们两个进行比较。我可以在查询时进行转换吗?任何更改整个图节点数据类型的查询?如何查看节点类型?
您正在将节点 n
与字符串 "name:Pizza" 进行比较,这没有意义。您想要的是将节点 n
的 属性 name
与字符串 "Pizza": WHERE n.name = "Pizza"
进行比较。整个查询看起来像这样
MATCH (n)
WHERE n.name = "Pizza"
RETURN n
节点实际上没有类型。看看 Neo4j manual to more about nodes, relationships, properties and labels and about Cypher in general, and the WHERE
clause 特别是。
我使用 hermit reasoner 和 Java 用 Pizza.owl 文件加载了 Neo4j。 当我通过一个简单的查询时:
match (n) where n="name:Pizza" return n;
收到以下错误
Don't know how to compare that. Left: Node[1]{name:"owl:Thing"} (NodeProxy); Right: "name:Pizza" (String)
NodeProxy 是一种数据类型吗?我怎样才能让他们两个进行比较。我可以在查询时进行转换吗?任何更改整个图节点数据类型的查询?如何查看节点类型?
您正在将节点 n
与字符串 "name:Pizza" 进行比较,这没有意义。您想要的是将节点 n
的 属性 name
与字符串 "Pizza": WHERE n.name = "Pizza"
进行比较。整个查询看起来像这样
MATCH (n)
WHERE n.name = "Pizza"
RETURN n
节点实际上没有类型。看看 Neo4j manual to more about nodes, relationships, properties and labels and about Cypher in general, and the WHERE
clause 特别是。