2013-02-02 51 views
0

非鍵值數據我有數據是這樣的:設計在Neo4j的

Berlin: capital, city, germany, europe, DE3, CET 
Lyon: city, france, Rhône-Alpes, europe, CET 
Warsaw: capital, europe, city, poland, masovian, CET 
Toulouse: city, midi-pyrénées, europe, france, CET 
[...] 

這種記錄是夫婦十萬。

我寫了一個解析器來提取數據,並把在Neo4j的是這樣的:

name: Berlin 
capital: true 
city: true 
germany: true 
DE3: true 
CET: true 

這是一個示範點。 如果我想找到資金,我可以通過像這樣做:

START obj =node:node_auto_index('capital: true') RETURN obj 

而且它是相當的作品,但我的問題是:

  1. 我能做到這一點對於這種非訂單數據好?
  2. 也許我可以使用不同於真實的東西來加快查找速度。例如0或1.
+0

START OBJ =節點:node_auto_index(資本= 「真」)RETURN OBJ而是創建類別節點爲您的尺寸。 –

回答

0

有多少首都?

你也可以做一個大寫的節點,然後執行:

start capitalCategory = node(1) match capital-[:IS_A]->capitalCategory return n; 

/彼得

+0

同樣適用於您的其他屬性,如時區,國家,大陸。爲這些人創建節點並將你的城市連接到他們。 –

+0

謝謝你的回答。 – chris

+0

我想補充一點,有時在你的圖中有超級節點(數千甚至上百個相同類型的關係)並不是最優的。在你的數據中,這可能會發生,例如類型 - 例如,可能有很多節點連接到'城市'。在這種情況下,您可能希望在特定節點上創建一個'type ='city''屬性。 – ulkas