Spring Data Neo4j无法识别外部插入的节点

时间:2013-08-19 17:11:51

标签: neo4j spring-data-neo4j

我正在使用一个小的Clojure脚本,它将节点批量插入我的Neo4j实例。 为了显示这些节点,我使用Spring Data Neo4j的基于spring的webapp。 我还创建了一个代表节点的小域对象。

当我使用webapp插入节点时,它将被加载并显示开箱即用。但是当我尝试加载已由外部脚本插入的节点时,无法找到它。为了兼容,我认为足以将 _ 类型 _ 属性添加到域类的FQN中。但在我看来,还有更多工作要做。

我正在使用Neo4j 1.8.2服务器和SDN 2.2.2

你能给我一个提示吗?

提前致谢。

最佳, 马库斯

1 个答案:

答案 0 :(得分:5)

Spring Data Neo4j(SDN)使用TypeRepresentationStrategy。如果未明确配置SDN,则默认情况下使用IndexingNodeTypeRepresentationStrategyIndexingRelationshipTypeRepresentationStrategy。这些策略为其所有节点实体保留一个名为“__types__”的索引,为其所有关系实体保留一个名为“__rel_types__”的索引。由SDN创建的所有节点或关系实体都将添加到相应的索引中。

如果您正在使用SDN的存储库基础结构并调用yourEntityRepo.findAll(),则将查询“__types __”(或“__rel_types__”)索引以获取此特定类型的所有实体。

您的脚本可能不会更新这些索引。看看reindexing solution described on the neo4j google group