是否有一种方法可以简单地从spring-data-neo4j [SDN]数据库检索特定类型的所有关系-其中类型是@RelationshipEntity
注释类?(使用2.0.0。RC1,嵌入式数据库)
当我尝试SDN提供的方法时:
relationShipRepository.findAll()
它给了我以下错误:
org.neo4j.graphdb.NotFoundException: __type__ property not found for RelationshipImpl #9672 of type 7 between Node[4844] and Node[4875].
全部加:http://pastebin.com/j2gqcjxh(虽然看
)一个解决方案是使用低级(neo4j) API(即GraphDatabaseService
)来检索所有节点,然后为每个节点检索它们的所有关系并验证它们的__type__
字段是否与我感兴趣的关系类型匹配。但是为什么要为关系提供findAll
方法呢?
简单的解释是,建议的接口是相同的节点和关系-但有没有任何文档说,我们不允许使用findAll
的关系?
或者:检查数据库中的关系实体,它与异常相矛盾,因为类型按预期正确定义,并且一旦检索节点并调用getRelationship*(..)
另一个注意事项:是否有人知道ImpermanentDataGraph
服务将包括在v2 +?
您是在寻找在SDN中作为关系实体创建的关系还是所有关系?
你的用例是什么?
relationship - entities也被添加到索引中。关系9672是关系实体吗?
对于依赖于TypeRepresentationStrategy的Relationship-Repository,如果使用了"索引策略",relationship - entities也可以在它们各自的存储库中使用(但不是全局的)。
在Neo4j 1.6。M01有一个新的[GlobalGraphOperations][1]
类,也有getAllRelationships()
。
ImpermanentGraphDatabase
不在neo4j测试工具链中。它将在v2+中保持在那里(并提高性能)。