답변
오늘 Neo4j에 내장 된 메커니즘이 없습니다 (작성 당시 Neo4j의 현재 버전은 2.1.6입니다). 설명하는 것은 일종의 스키마입니다 (예 : RDBMS의 경우 DDL을 비교 한 경우). Neo4j는 기본적으로 스키마가 없습니다. 이러한 유형의 구조적 무결성은 quite often handled in the application layer for NoSQL databases입니다.
오늘 Neo4j에서 사용할 수있는 스키마 작업은 here입니다.
현재 그들은 다음과 같습니다- 고유 - 예를
CREATE CONSTRAINT ON (p:Person) ASSERT p.name IS UNIQUE
- 색인 - 라벨에 색인을 만듭니다.
CREATE INDEX ON :Person(name)
Neo4j는 이상의 제약이 미래에 Neo4j을 위해 사용할 수 있음을 나타냅니다 뒤에 팀의 일부입니다 Michael Hunger에서이 답변에 코멘트. 또한, 마이클은 다음과 같은 대안을 가리키는 :
- 이 Structr에서 무엇보다도 엄격한 스키마
- SylvaDB을 (스키마 문서 here 확인)를 적용하는 것이 Neo4j 위의 레이어를 살펴 보자, 쉬운 - 투 - 스키마를 지원하는 Neo4j 위의 레이어를 사용하십시오. 매우
이 외에도, FrobberOfBits은 데이터베이스에 대해 아주 간단한 사이퍼 쿼리를 실행하고 요약 통계를 제공하는 대부분의 프로파일 러의 숫자가 들어있는 도구 NeoProfiler 지적 보인다. 일부 프로파일 러는 실제로 그래프에서 데이터를 발견 한 다음 나중에 실행할 다른 프로파일 러를 생성합니다. 예를 들어 데이터에서 "Person"이라는 레이블이 발견되면 해당 레이블이있는 노드 채우기를 검사하기 위해 레이블 프로파일 러가 실행 대기열에 추가됩니다.
여기서 뻔뻔한 플러그 - neo4j에 내장 된 메커니즘이 없지만 neo4j의 스키마 정의를 돕는 몇 가지 다른 도구가 있습니다. 기존 그래프의 데이터를보고 그래프가 함께 연결되는 방식과 그 뒤에 오는 규칙을 설명하는 "메타 문트"를 유도합니다. https://github.com/moxious/neoprofiler – FrobberOfBits
Neo4j 위에 더 엄격한 스키마 정보를 추가하는 structr.org와 sylvadb도 있습니다. 미래에는 Neo4j에 더 많은 제약이 추가 될 것입니다. 또한 Java에서 트랜잭션 이벤트 핸들러를 사용하여 스스로 할 수도 있습니다. 시작한 것은 PoC입니다. –
- 1. Neo4j 2.0 - 다중 레이블 색인
- 2. Neo4j 여러 레이블 일치
- 3. 합금 XML 스키마가 있습니까?
- 4. py2neo에서 레이블에 색인을 만들 수 있습니까?
- 5. Neo4j 레이블 성능
- 6. StatusStrip 레이블에 AutoEllipsis가 있습니까?
- 7. 레이블 데이터를 다음보기 레이블에 표시합니다.
- 8. 왜 내 WSDL에 스키마가 있습니까?
- 9. neo4j 배열 속성이 존재하는 경우
- 10. 레이블 multilines을 만들 수 있습니까?
- 11. Neo4j : 여러 레이블 일치 (2 개 이상)
- 12. Neo4j 시작 문제가 있습니까?
- 13. Neo4j 노드의 모든 레이블 제거
- 14. Jquery wrapp 요소가 레이블에 있습니까?
- 15. 왜 'cut'개체가 내 레이블에 있습니까?
- 16. 보고서 레이블에 날짜 레이블 추가 LinePlot 차트
- 17. 레이블, 특성 또는 노드? Cypher/Neo4j
- 18. netbeans GUI 빌더의 레이블에 레이블 넣기
- 19. 고정 너비의 레이블에 가변 너비의 레이블 추가하기
- 20. PHP 인터페이스에 속성이 있습니까?
- 21. rails3 link_to : 속성이 있습니까?
- 22. 레일 : 모델에 속성이 있습니까?
- 23. 일반적인 속성이 있습니까
- 24. 모듈에 속성이 있습니까?
- 25. pygame에 rect.center라는 속성이 있습니까?
- 26. WeakReference에 중복 속성이 있습니까?
- 27. WPF에 OpenForms 속성이 있습니까?
- 28. 테스트 클래스에 속성이 있습니까?
- 29. SBCL의 실행 프로그램과 동일한 스키마가 있습니까?
- 30. Jenkins에서 작업을위한 xsd 또는 xml 스키마가 있습니까?
이것은 응용 프로그램 수준 IMHO에서 처리해야합니다. Neo4j는 스키마가 없습니다. 어쩌면 트랜잭션에 연결하여 관리되지 않는 확장을 작성하여이를 달성 할 수 있습니다. 어쩌면이 예제가 도움이 될 것입니다. https://github.com/graphaware/neo4j-uuid –