2016-04-04 13 views
1

Belirli bir düğümün tüm çocuklarını bulmaya çalışıyorum.Neo4j: Yalnızca bir etiketin ilişkilerini bulma

match(t:TAG)<-[children:CHILD_OF]-(subtag:TAG) where t.name="brand" return t.name, subtag.name 

Yukarıdaki sorgudan doğru sonucu alıyorum. Ama bu sorgunun verimli olduğundan şüpheliyim. İlk önce "tagA, bir tagB'nin alt öğesidir" ve daha sonra tagB'nin verildiği gibi filtrelemesini alır.

Bunu yazmanın daha iyi bir yolu olmalı. Lütfen yardım et.

cevap

3

bu

match(t:TAG) where t.name="brand" with t 
Match (t)<-[children:CHILD_OF]-(subtag:TAG) return t.name, subtag.name 

Sen profile

+0

şaşırtıcı benim sorgu O set verilerinizin uygun olması nedeniyle olabilir – tanvi

+0

hızlıdır kullanarak farkı kontrol edebilirsiniz deneyin (sorgu etiketleri ve Neo4j az sayıda optimize var) , önbellek. Ve eğer bana garip gelmiyorsa, isimde indeks olduğundan emin ol. – Evgen

+0

Bu durum böyle olabilir. Endeks olduğumu nasıl kontrol edebilirim? – tanvi