如何使用PHP客戶端通過Neo4j的REST接口進(jìn)行數(shù)據(jù)操作

這篇文章將為大家詳細(xì)講解有關(guān)如何使用PHP客戶端通過Neo4j的REST接口進(jìn)行數(shù)據(jù)操作,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供猇亭網(wǎng)站建設(shè)、猇亭做網(wǎng)站、猇亭網(wǎng)站設(shè)計(jì)、猇亭網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、猇亭企業(yè)網(wǎng)站模板建站服務(wù),十年猇亭做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

Neo4j是目前最熱門的圖數(shù)據(jù)庫之一,圖數(shù)據(jù)庫以計(jì)算機(jī)圖結(jié)構(gòu)為基礎(chǔ),擅長處理復(fù)雜的數(shù)據(jù)關(guān)系。比如我們常見的社交網(wǎng)絡(luò)中的人與人的關(guān)系圖。

如何使用PHP客戶端通過Neo4j的REST接口進(jìn)行數(shù)據(jù)操作

我們需要用上面的復(fù)雜SQL語句才能獲取到和KevinBacon一起演出過的演員名單。

如果我們需要獲取一個(gè)與和KevinBacon一起演出過的人一起演出過的演員名單(真拗口)就更麻煩了,再試想多一層,與(與(與KevinBacon一起演出過的演員)一起演出過的演員)一演出過的演員。那幾乎是不可完成的任務(wù)了。

下面我們直接使用Neo4j的PHP客戶端來構(gòu)建圖譜:

$client=newClient(newTransport('localhost',7474));

//構(gòu)建演員節(jié)點(diǎn)

$keanu=newNode($client);

$keanu->setProperty('name','KeanuReeves')->save();

$laurence=newNode($client);

$laurence->setProperty('name','LaurenceFishburne')->save();

$jennifer=newNode($client);

$jennifer->setProperty('name','JenniferConnelly')->save();

$kevin=newNode($client);

$kevin->setProperty('name','KevinBacon')->save();

怎樣使用PHP客戶端通過Neo4j的REST接口進(jìn)行數(shù)據(jù)操作

//構(gòu)建電影節(jié)點(diǎn)

$matrix=newNode($client);

$matrix->setProperty('title','TheMatrix')->save();

$higherLearning=newNode($client);

$higherLearning->setProperty('title','HigherLearning')->save();

$mysticRiver=newNode($client);

$mysticRiver->setProperty('title','MysticRiver')->save();

//建立關(guān)聯(lián)關(guān)系

$keanu->relateTo($matrix,'IN')->save();

$laurence->relateTo($matrix,'IN')->save();

$laurence->relateTo($higherLearning,'IN')->save();

$jennifer->relateTo($higherLearning,'IN')->save();

$laurence->relateTo($mysticRiver,'IN')->save();

$kevin->relateTo($mysticRiver,'IN')->save();

然后我們就能夠在已經(jīng)建立好的圖結(jié)構(gòu)上進(jìn)行數(shù)據(jù)查詢了。第一個(gè)查詢是查找所有與KevinBacon距離為12的其它人(演員與演員間的距離只能是2的倍數(shù),因?yàn)橹虚g隔著電影)。

$path=$keanu->findPathsTo($kevin)

->setMaxDepth(12)

->getSinglePath();

foreach($pathas$i=>$node){

if($i%2==0){

echo$node->getProperty('name');

if($i+1!=count($path)){

echo"wasin\n";

}

}else{

echo"\t".$node->getProperty('title')."with\n";

}

}

你也可以用下面的語句查詢所有與LaurenceFishburne相關(guān)的電影:

echo$laurence->getProperty('name')."wasin:\n";

$relationships=$laurence->getRelationships('IN');

foreach($relationshipsas$relationship){

$movie=$relationship->getEndNode();

echo"\t".$movie->getProperty('title')."\n";

}

關(guān)于“如何使用PHP客戶端通過Neo4j的REST接口進(jìn)行數(shù)據(jù)操作”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

本文標(biāo)題:如何使用PHP客戶端通過Neo4j的REST接口進(jìn)行數(shù)據(jù)操作
轉(zhuǎn)載注明:http://bm7419.com/article38/gegcsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、面包屑導(dǎo)航Google、關(guān)鍵詞優(yōu)化企業(yè)建站、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作