2011-12-02 3 views
0

spring-data-neo4j [SDN] 데이터베이스에서 유형이 @RelationshipEntity 주석이있는 클래스 인 특정 유형의 모든 관계를 간단히 검색 할 수있는 방법이 있습니까? (2.0.0.RC1 & 임베디드 DB 작업)(spring-data-) neo4j 데이터베이스에서 모든 관계를 검색하는 방법은 무엇입니까?

나는 SDN이 제공하는 방법을 시도 할 때 :

org.neo4j.graphdb.NotFoundException: __type__ property not found for RelationshipImpl #9672 of type 7 between Node[4844] and Node[4875].

전체 스택 트레이스 :

relationShipRepository.findAll() 

이 나에게 다음과 같은 오류를 제공을 : http://pastebin.com/j2gqcjxh (비록 보이지 만)

해결 방법은 l (neo4j) API (즉 GraphDatabaseService)를 사용하여 모든 노드를 검색 한 다음 각 노드에 대해 모든 관계를 검색하고 해당 __type__ 필드가 내가 관심있는 관계 유형과 일치하는지 확인합니다. 그렇다면 관계에 대한 findAll 방법을 제공하는 이유는 무엇입니까?

간략한 설명은 권고 된 인터페이스가 노드와 관계에 대해 동일하다는 것입니다. 그러나 설명서에 관계에 대해 findAll을 사용할 수 없다고하는 설명이 있습니까?

또는 : DB에 관계 엔티티를 검사, 예상대로 유형가 올바르게 정의되어 있기 때문에, 예외를 모순 그것을 당신이 노드를 검색하면 고위급 (SDN) API를 통해 관계를 retreive하는 것이 가능하고 전화 getRelationship*(..)

기타주의 사항 : ImpermanentDataGraph 서비스가 v 2 이상에 포함될 경우 누구에게 알리십니까?

답변

2

SDN의 관계 엔티티 또는 으로 생성 된 관계가 모두 인 관계를 찾고 있습니까?

사용 사례는 무엇입니까?

관계 - 엔티티도 색인에 추가됩니다. 관계 9672는 관계 엔티티입니까?

관계 저장소 - TypeRepresentationStrategy에 따라 다르지만 "색인 전략"을 사용하는 경우 관계 항목은 해당 저장소에서 사용할 수 있지만 전체적으로는 사용할 수 없습니다.

Neo4j 1.6.M01에는 getAllRelationships()을 가진 새로운 [GlobalGraphOperations][1] 클래스가 있습니다.

ImpermanentGraphDatabase은 Neo4j 테스트 툴 체인 밖에 있습니다. 그리고 그것은 v2 +에서 거기에 머물러있을 것이고 (성능을 향상시킬 것입니다).

+0

예, 9672는 RelClass rel = nodeEntity.relateTo (otherNodeEntity, RelClass.class, \t RELATIONSHIP_NAME);에서 사용되는'relateTo '에 의해 생성 된'RelationshipEntity'입니다. RelClass에는'@ RelationshipEntity' 주석이 붙습니다. 응용 프로그램의 일부에서는'@ RelatedToVia'로 주석이 달린 필드에서 검색합니다. 여전히, 나는 해당 repo의'findAll' 메소드를 사용하여 검색 할 수 없다. – Matyas

+0

문제가 지속되면 http://spring.neo4j.org/issues에서 문제점을 제기 할 수 있습니까? –

+0

문제가 더 이상 존재하지 않습니다 (1.6M02). 협조 해 주셔서 감사 드리며 다시 연락하지 않으셔서 죄송합니다.그리고 내가 테스트 케이스에 의해 입증 된 의심스런 행동을 발견하면 거기에 게시 할 것입니다. 현재 나는 그런 문제를 만났습니다. – Matyas

관련 문제