2014-07-05 48 views
1

如何使用休息密碼找到模式關係?上運行的終端使用休息密碼找到模式關係

我的查詢: -

MATCH (n)<-[:DEPENDS_ON*]-(dependent) RETURN n.host as Host, 

計數(DISTINCT依賴性)AS家屬ORDER BY家屬 DESC LIMIT 1 **

輸出是: -

+ - ------------------- + |主機|家屬|

+ -------------------- + | 「SAN」| 20 | + -------------------- +

其中與其餘等效查詢: -

String query = "{\"query\" : \"MATCH (website)<-[rel]-(dependent) " + 
       "WHERE TYPE(rel) = {rtype} RETURN website.host as Host," + 
       "count(DISTINCT dependent) AS Dependents ORDER BY Dependents DESC LIMIT 1" + 
       " \", \"params\" : {\"rtype\" : \"DEPENDS_ON*\"}}";  

和輸出是空的(沒有記錄) !

任何幫助表示讚賞。

P.S-當我們在我們的查詢中不使用「*」時,一切都很順利。 IE查詢結果相同

回答

1

在第二個查詢中,您將關係類型作爲「DEPENDS_ON *」傳遞,這是因爲包含星號而不正確。

星號用於允許指定關係的任意長度的路徑,但不是類型的一部分。

+0

令人失望。 *有一些很好的意義。它存在於兩個查詢中,並且與密碼一起運行良好,但是不會給我帶來相同的結果 –

+0

您可以通過在查詢本身中留下星號,展開,然後進行過濾來實現相同的結果: String query =「 {\「query \」:\「MATCH(website)< - [rel *] - (dependent)」+ 「UNWIND rel as _rel WITH website,_rel WHERE」+ 「TYPE(_rel)= {rtype} RETURN website如。主持人主機, 「+ 」計數(DISTINCT依賴性)AS家屬「 + 」ORDER BY家屬DESC LIMIT 1「 + 」 \ 「\ 」PARAMS \「:{\ 」舍入類型\「:\」 DEPENDS_ON \ 「}}」; –

+0

您也無法將關係指定爲參數。只需將關係(和星號)作爲查詢的一部分寫入查詢即可。 –