我使用隐士推理器和Java加载了Neo4j和Pizza.owl文件.当我通过一个简单的查询:
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"进行比较,这没有意义.你想要的是将name
节点的属性n
与字符串"Pizza"进行比较:WHERE n.name = "Pizza"
.然后整个查询看起来像这样
MATCH (n) WHERE n.name = "Pizza" RETURN n
节点实际上没有类型.请查看Neo4j手册,了解有关节点,关系,属性和标签以及Cypher的更多信息,特别是该WHERE
条款.