저는 neo4j에서 일부 그래프 이론 알고리즘을 가지고 놀고 있습니다. 내 네트워크 내에서 최소 스패닝 트리 (mst)를 찾으려고합니다. 나는 종합적으로 10,000 명의 사람들의 네트워크를 만들었습니다. 각 사람은 12 개의 관계 유형을 가지고 있으며 각각은 다른 9999로 다시 연결되며 각각의 관계는 자신의 가중치가 할당됩니다.neo4j의 최소 스패닝 트리는 어떻게 작동합니까?
그러나 문제는 내가 정의한 바에 따르면 결과는 전체 네트워크에 걸친 트리가되어야한다는 것입니다. 그러나 neo4j 함수는 전체 네트워크 중 아주 작은 서브 그래프 (약 12 노드 만)를 반환합니다.
코드 I는 다음과 같다을 사용하고 있습니다 :
MATCH (a:Name {Name:"Dillon Snow"})
CALL algo.mst(a,"Weight",{stats:true})
YIELD loadMillis, computeMillis, writeMillis, weightSum, weightMin, weightMax, relationshipCount
RETURN loadMillis, computeMillis, writeMillis, weightSum, weightMin, weightMax, relationshipCount
어떻게 변경할 수있는 기능을 얻을 수
코멘트 주셔서 감사합니다. 여러 관계에 문제가있을 수 있으므로이 문제를 해결하기 위해 하나의 관계 만 만들었지 만 다른 속성으로 작성하려고했습니다. 예를 들어 내 모든 관계를 '연결됨'이라고 부르지 만 일부는 '친구와 만나는'특성을 갖고 각 관계에는 자체의 '체중'특성이 있습니다. 이것은 많은 다른 그래프 이론 함수를 쉽게 만들었지 만 mst는 만들지 않았습니다. 두 번째로 내 네트워크의 95 % 만 노드 사이에 하나의 관계 만 있습니다. 이것은 적어도 네트워크의 50 %가 연결되어야 함을 의미합니다. – Merlyn
인공 노드 솔루션을 사용해보십시오. 감사합니다. – Merlyn
속성에 대한 제한도 있습니다. 기본적으로 GA-CoreApi는 모든 레이블, 관계 유형 및 속성 유형을 하나로 줄입니다. 어쨌든 현재 구현이 중단되었습니다. – mknblch