저는 neo4j에 상당히 익숙하며 현재 Neo4jRestNet 클라이언트를 사용하고 있습니다.Neo4jRestClient : 노드와 연결이 이미 생성 된 후 인덱스를 추가하는 방법?
private static void GenerateNetwork()
{
var rootNode = Node.GetRootNode();
// Create a User Node with Properties
var prop = new Properties();
prop.SetProperty(NodeProperty.Name.ToString(), "Madeline J. Parnell");
prop.SetProperty(NodeProperty.Age.ToString(), "25");
prop.SetProperty(NodeProperty.LivesIn.ToString(), "LA");
var nodeUserWithName1 = Node.CreateNode(NodeType.Person.ToString(), prop);
prop = new Properties();
prop.SetProperty(NodeProperty.Name.ToString(), "Jack S. Waldrop");
prop.SetProperty(NodeProperty.Age.ToString(), "28");
prop.SetProperty(NodeProperty.LivesIn.ToString(), "San Francisco");
var nodeUserWithName2 = Node.CreateNode(NodeType.Person.ToString(), prop);
prop = new Properties();
prop.SetProperty(NodeProperty.Name.ToString(), "Willis O. Hicks");
prop.SetProperty(NodeProperty.Age.ToString(), "33");
prop.SetProperty(NodeProperty.LivesIn.ToString(), "Ann Arbor");
var nodeUserWithName3 = Node.CreateNode(NodeType.Person.ToString(), prop);
prop = new Properties();
prop.SetProperty(NodeProperty.Name.ToString(), "Leroy P. Wagner");
prop.SetProperty(NodeProperty.Age.ToString(), "40");
prop.SetProperty(NodeProperty.LivesIn.ToString(), "Hattiesburg");
var nodeUserWithName4 = Node.CreateNode(NodeType.Person.ToString(), prop);
prop = new Properties();
prop.SetProperty(NodeProperty.Name.ToString(), "Nancy J. Rose");
prop.SetProperty(NodeProperty.Age.ToString(), "25");
prop.SetProperty(NodeProperty.LivesIn.ToString(), "Cornish");
var nodeUserWithName5 = Node.CreateNode(NodeType.Person.ToString(), prop);
prop = new Properties();
prop.SetProperty(NodeProperty.Name.ToString(), "Sally G. Gee");
prop.SetProperty(NodeProperty.Age.ToString(), "48");
prop.SetProperty(NodeProperty.LivesIn.ToString(), "Charlestown");
var nodeUserWithName6 = Node.CreateNode(NodeType.Person.ToString(), prop);
prop = new Properties();
prop.SetProperty(NodeProperty.Name.ToString(), "Blanche T. Perez");
prop.SetProperty(NodeProperty.Age.ToString(), "35");
prop.SetProperty(NodeProperty.LivesIn.ToString(), "Philadelphia");
var nodeUserWithName7 = Node.CreateNode(NodeType.Person.ToString(), prop);
prop = new Properties();
prop.SetProperty(NodeProperty.Name.ToString(), "Robert S. Johnston");
prop.SetProperty(NodeProperty.Age.ToString(), "22");
prop.SetProperty(NodeProperty.LivesIn.ToString(), "Lancaster");
var nodeUserWithName8 = Node.CreateNode(NodeType.Person.ToString(), prop);
// Create Relationships to Nodes
rootNode.CreateRelationshipTo(nodeUserWithName1, RelationshipType.Knows.ToString());
rootNode.CreateRelationshipTo(nodeUserWithName2, RelationshipType.Knows.ToString());
rootNode.CreateRelationshipTo(nodeUserWithName3, RelationshipType.Knows.ToString());
rootNode.CreateRelationshipTo(nodeUserWithName4, RelationshipType.Knows.ToString());
rootNode.CreateRelationshipTo(nodeUserWithName5, RelationshipType.Knows.ToString());
rootNode.CreateRelationshipTo(nodeUserWithName6, RelationshipType.Knows.ToString());
rootNode.CreateRelationshipTo(nodeUserWithName7, RelationshipType.Knows.ToString());
rootNode.CreateRelationshipTo(nodeUserWithName8, RelationshipType.Knows.ToString());
// Create Relationship with Properties
//var relProp = new Properties();
//relProp.SetProperty(RelationshipProperty.Name.ToString(), "MyRelationship");
//relProp.SetProperty("CustomRelProp", "CustomPropValue");
nodeUserWithName1.CreateRelationshipTo(nodeUserWithName2, RelationshipType.Knows.ToString());
nodeUserWithName1.CreateRelationshipTo(nodeUserWithName3, RelationshipType.Knows.ToString());
nodeUserWithName2.CreateRelationshipTo(nodeUserWithName3, RelationshipType.Knows.ToString());
nodeUserWithName5.CreateRelationshipTo(nodeUserWithName6, RelationshipType.Knows.ToString());
nodeUserWithName6.CreateRelationshipTo(nodeUserWithName8, RelationshipType.Knows.ToString());
nodeUserWithName7.CreateRelationshipTo(nodeUserWithName1, RelationshipType.Knows.ToString());
nodeUserWithName7.CreateRelationshipTo(nodeUserWithName1, RelationshipType.Knows.ToString());
nodeUserWithName7.CreateRelationshipTo(nodeUserWithName3, RelationshipType.Knows.ToString());
nodeUserWithName7.CreateRelationshipTo(nodeUserWithName4, RelationshipType.Knows.ToString());
nodeUserWithName7.CreateRelationshipTo(nodeUserWithName5, RelationshipType.Knows.ToString());
nodeUserWithName7.CreateRelationshipTo(nodeUserWithName6, RelationshipType.Knows.ToString());
nodeUserWithName7.CreateRelationshipTo(nodeUserWithName8, RelationshipType.Knows.ToString());
}
나는 다음과 같은 자바 방법에 해당 될 것이다, 인덱스를 생성하는 방법을 찾기 위해 노력 : 나는 학습의 목적을 위해 소규모 네트워크를 만들어
IndexManager 지수 = graphDb.index(); 인덱스 people = index.forNodes ("people"); RelationshipIndex roles = index.forRelationships ("roles");
과 같은 방법으로 자바에서 이루어집니다 GenerateNetwork() 메소드를 사용하여 만든 사람에 추가 : 어쨌든
people.add(nodeInstance, "valueName", reeves.getProperty("valueName"));
나는 인덱스 Neo4jRestClient를 사용하여 처리하는 방법을 발견하지 않았습니다 지금까지 . 누구든지 기존 인덱스를 확인하고 Neo4jRestClient를 사용하여 인덱스에 노드를 할당하는 방법을 알고 있습니까?
사례를 공유하면 매우 감사 할 것입니다.
잭, 답변 해 주셔서 감사합니다. 새 버전을 실행할 수 없습니다. 이전 버전은 아무런 문제없이 실행되었지만 새로운 버전에서는 예외가 발생합니다. var rootNode = Node.GetRootNode(); –
솔루션에 관해 이야기하기 위해 이메일 주소 나 연락처를 알려주시겠습니까? –
그래프에서 루트 노드가 삭제되면 GetRootNode 메서드는 오류를 throw합니다. neo4j.org에 대한 토론 링크 (https://groups.google.com/forum/#!topic/neo4j/Sb2ANlJtLDY)가 있습니다. 내 개인적인이 걸릴; 나는 RootNode의 아이디어를 좋아하지 않는다. neo4j에 대한 토론에서 제기 된 문제로 인해 그래프를 루트로 노드를 생성하는 것을 선호합니다. 원할 경우 https://github.com/SepiaGroup/Neo4jRestNet에 문제를 열어서 감사 할 수 있습니다. –