Hi, 

I've trying to use Neo4j to simulate a graph database I need to create for a
website I'm working on (currently running on SQL server). 
I created a bulk loading scripts and generated data (~100K nodes, ~120K
properties, ~120K relationships, 2 relationship types). 
While running a simple traverse using Cypher, my query finishes in ~20
seconds. 
I'm running my tests on webadmin, while the server (same computer) is
running Windows 7, i7 920 (Quad Core) with 12GB RAM. 
Using neo4j latest community version (with default configuration, only
enabled auto indexing for any case). 

If possible, I'd be glad if someone might show me what I'm doing wrong for
getting these results... 

*This is how I built my nodes:*

Product Details 
 - Properties: Name, Price 

Battery Details 
- Properties: MaH 
- Relationships: parent (Pointing to a Product Details node) 

Electronic Product Details 
- Properties: Voltage, Manufacturer 
- Relationships: parent (Pointing to a Product Details node) 

Mobile Phone 
- Properties: NetworkType, BluetoothEnabled, Color, MobileOperatingSystem 
- Relationships: parent (Pointing to a Electronic Product details node) 

For example, storing a mobile phone details in the database would have the
following information stored: 
Battery: 
- Product Details (NodeID = 1): Name = Standard Battery, Manufacturer =
Apple 
- Battery Details (NodeID = 2): MaH: 1600, Relationship: 'parent' pointing
to NodeID = 1 

Mobile phone: 
- Product Details (NodeID = 3): Name = iPhone 3GS, Price = 300USD 
- Electronic Product Details (NodeID = 4): Manufacturer: Apple,
Relationship: 'parent' pointing to NodeID = 3 
- Mobile Phone Details (NodeID = 5): NetworkType: GSM, Color: White,
Relationship: 'parent' pointing to NodeID = 4, Relationship:
'BatteryProductNodeID' pointing to NodeID = 1 

I would like to allow browsing through all mobile phones (for instance) and
show the users all of the allowed filter options (for example, show each
possible Color and it's value). 
The Cypher query I've written for getting this data is (while also filtering
the Battery MaH for example): 

start Products = node(1) 
match 
    Products<-[a:parent]-Product, 
    Product<-[b:parent]-ElectronicProduct, 
    ElectronicProduct<-[c:parent]-MobilePhone, 
    MobilePhone-[d:Battery]->Battery 
where Battery.MaH? > 1000 
return 
    MobilePhone.Color, 
    count(MobilePhone) 

Thanks for your help ! 
Effy.

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/Traversing-Performance-Slow-tp3507202p3507202.html
Sent from the Neo4j Community Discussions mailing list archive at Nabble.com.
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to