Java アプリケーションでスプリング データを使用して、neo4j を操作しようとしています。現在、私は奇妙な問題に直面しています。次にシナリオです。
I have:
1. Two UserNode, say A and B, where "UserNode" is java @NodeEntity class.
2. A @RelationshipEntity "RequestedTo" which i again a java class.
3. A relationship "A RequestedTo B" which i directed towards B.
ここで、B に向けられた RequestedTo 関係を持つすべての UserNode をフェッチしようとすると、次の例外が発生します。
Caused by: org.neo4j.graphdb.NotFoundException: '__type__' property not found for NodeImpl#0.
at org.neo4j.kernel.impl.core.Primitive.newPropertyNotFoundException(Primitive.java:184)
at org.neo4j.kernel.impl.core.Primitive.getProperty(Primitive.java:179)
at org.neo4j.kernel.impl.core.NodeImpl.getProperty(NodeImpl.java:52)
at org.neo4j.kernel.impl.core.NodeProxy.getProperty(NodeProxy.java:155)
at org.springframework.data.neo4j.support.typerepresentation.AbstractIndexingTypeRepresentationStrategy.readAliasFrom(AbstractIndexingTypeRepresentationStrategy.java:106)
ここでは、Spring で提供されている GraphRepository インターフェイスを使用して、neo4j に次のクエリを実行します。
START user=node:searchByMemberID(memberID={0}) , member=node(*), root = node(0) MATCH user<-[r:RequestedTo]-member WHERE member <> root RETURN member
また、neoclipse でこのクエリを起動すると、結果として UserNode に「type」プロパティがないことがわかります。しかし、neo4j ブラウザー コンソールでこのクエリを試すと、結果セットに「 type 」プロパティが表示されます。