0

私はneo4jを初めて使用し、現在Neo4jRestNetクライアントを使用しています。学習目的で小さなネットワークを作成しました。

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());

        }

インデックスを作成するメソッドを見つけようとしましたが、これは次の Java メソッドと同等です。

IndexManager index = graphDb.index(); Index people = index.forNodes( "people" ); RelationshipIndex roles = index.forRelationships( "roles" );

次のメソッドを使用して Java で行われる GenerateNetwork() メソッドで作成された人にそれを追加します。

people.add( nodeInstance, "valueName", reeves.getProperty( "valueName" ) );

とにかく、これまでのところ、Neo4jRestClient を使用してインデックスを処理する方法が見つかりませんでした。既存のインデックスを確認し、Neo4jRestClient を使用してノードをインデックスに割り当てる方法を知っている人はいますか?

誰かが例を共有してくれたら、とても感謝しています。

4

1 に答える 1

0

メソッドを使用して、ノード/リレーションシップをインデックスに追加しますAddToIndex。例えば:

var node1 = Node.CreateNode();
node1.AddToIndex("nodes", "name", "jack");

または、次の静的関数を使用できますNode

Node.AddToIndex(node1, "nodes", "name", "jack");

ここ"nodes"で、 はインデックスの名前、"name"/"jack"はキーと値のペアです。

Enumvalue パラメータに を渡すと、ノードのプロパティ コレクションの値が使用されます。

注: 2012 年 6 月 6 日の時点で新しいコードをプッシュしたばかりなので、ぜひ使用してみてください。コマンドのバッチ処理がサポートされるようになりました。API を更新して、cypher mutating コマンドをサポートする予定です。また、ドキュメントは現在古くなっているため、できるだけ早く更新します。

h番目。

于 2012-06-07T23:10:18.450 に答える