上一篇文章介紹如何用 Neo4j Bloom 簡單的探索資料關係,今天將繼續延伸上次的主題,再介紹其他的搜尋模式,以及視覺樣式的進階設定。
上次介紹的三種搜尋模式,都有一個主體,就是某個客戶(當然根據需求,您也可以定某個產品、供應商或訂單為主體),接下來要介紹的搜尋模式,並不是以特定的節點當主體,而是搜尋資料的分佈與連結概況。
這個搜尋模式,我覺得有點難定義明白,我們直接看範例如下:
請找出有哪些供應商提供至少兩種產品
Product Supplier Product
想當然這個搜尋結果會有點多,大部分供應商應該會有多種不同產品。我們來做點變化
請找出在瑞典有哪些供應商提供至少兩種產品
Product Supplier country Sweden Product
找出有哪些供應商至少提供兩項海鮮產品?
Seafood Product Supplier Product Seafood
找出有哪些客戶購買過 Teatime Chocolate Biscuits 和 Ipoh Coffee 產品(官網範例)
Teatime Chocolate Biscuits Order Customer Order Ipoh Coffee
如果上述的各種搜尋模式都還無法滿足你的情境,還是可以直接撰寫 Cypher 語言做更彈性的搜尋變化。
首先請點選左上角按鈕開啟選單,並切換到「Search」,再按下「Add Search phrase」即可自訂 Cypher 搜尋。
接著回到 Bloom 的搜尋框輸入剛才 Cypher 語法的名稱即可
以上把 Neo4j Bloom 各種探索資料的方法介紹到這裡,接下來要講的是 Bloom 圖形的客製化顯示,例如:
根據屬性改變節點的顏色與大小、根據屬性改變關係線的粗細、改變節點的 icon。
首先 Double-Click 右邊的圖例,如圖假設我們想修改產品的顯示,點擊 Product 之後會出現設定畫面,這裡可以更改 Product 節點的顏色、大小以及 Icon。如果想根據某屬性數值而更改這些設定,則點選「Rule-based」即可。
同樣的,如果想更改關係線條的顏色、粗細,則切換到 Relations 頁籤後設定,想根據屬性來修改也是選「Rule-based」。
這部分並不難,只是涉及實際操作與熟練,就給大家自己嘗試囉。這兩篇講 Neo4j Bloom 的文章中,有許多附圖有客製化顏色、icon、線條粗細,是因為我設定以下條件式視覺元素
想要將最後的搜尋結果匯出,可以在空白處按右鍵選擇「Export as CSV」即可。
另外還有一個特殊功能,在 Bloom 圖形畫面中,可以複選多個 Nodes,然後按下 Ctrl/Command + C,這時候會取得 Cypher 語法,可以將之貼在 Neo4j Browser 執行,不過得到的語法會相當累贅如下:
MATCH (a0:Supplier {country: "Sweden", supplierID: "17", address: "Brovallavägen 231", city: "Stockholm", contactName: "Michael Björn", postalCode: "S-123 45", companyName: "Svensk Sjöföda AB", homePage: "NULL", contactTitle: "Sales Representative", phone: "08-123 45 67", fax: "NULL", region: "NULL"})
MATCH (a1:Supplier {country: "Denmark", supplierID: "21", address: "Lyngbysild Fiskebakken 10", city: "Lyngby", contactName: "Niels Petersen", postalCode: "2800", companyName: "Lyngbysild", homePage: "NULL", contactTitle: "Sales Manager", phone: "43844108", fax: "43844115", region: "NULL"})
return a0, a1
以上兩篇是 Neo4j Bloom 的介紹與應用,希望對大家有幫助~
參考來源:
https://neo4j.com/developer/neo4j-bloom/
https://medium.com/neo4j/tips-and-tricks-in-neo4j-bloom-41e4b3b1cc8f