Index Lookup を PHP API クライアントで動作させることができません。
まず、ノードを作成してインデックスを作成しています。これはうまくいきます。次に、ルックアップをテストすると
curl -H Accept:application/json http://localhost:7474/db/data/index/node/my_nodes/guid/108
私は得る:
[ {
"indexed" : "http://localhost:7474/db/data/index/node/my_nodes/guid/108/57",
"outgoing_relationships" : "http://localhost:7474/db/data/node/57/relationships/out",
"data" : {
"guid" : 108,
"title" : "New User ABC",
"owner_guid" : "2"
},
"traverse" : "http://localhost:7474/db/data/node/57/traverse/{returnType}",
"all_typed_relationships" : "http://localhost:7474/db/data/node/57/relationships/all/{-list|&|types}",
"property" : "http://localhost:7474/db/data/node/57/properties/{key}",
"self" : "http://localhost:7474/db/data/node/57", ....
ここまでは順調ですね。ただし、PHP API クライアントで次のように関数を定義して、ルックアップを実行するとします。
public function getNodeByKey ($key, $value)
{
$uri = $this->base_uri . 'index/node/my_nodes/' . $key . '/' . $value ;
list($response, $http_code) = HTTPUtil::jsonGetRequest($uri);
if ($http_code == 200)
return Node::inflateFromResponse($this, $response);
else {
throw new HttpException($http_code);
}
}
以下は、上記の関数を呼び出す方法です。
$graphDb = new GraphDatabaseService('http://localhost:7474/db/data/');
...
$node = $graphDb->getNodeByKey ('guid', $uid);
$relationship = $node->createRelationshipTo($another_node, 'works with');
$relationship->save();
getNodeByKey() から 200 の HTTP 応答を取得します。ただし、リレーションシップを保存しようとすると、404 が返されます。テストするために dump_node () を使用しようとしましたが、ルックアップしようとしたノード、つまり $node が null でした。どこが間違っているのかわかりません。ポインタはありますか?
前もってありがとう、ナンダ