Hi Benjamin, 

Thanks for the answer, 

I have a layered graph, i.e., level 0 are only connected to level 1, level 
one to level 2, etc. What if 
I create a node at top, say level n and create all level n elements to it 
and each time querying just 
specify a start node (not sure if we can specify start node in java or 
not)? 

My following questions are as follows: 

1- When creating normal node we can use createNode command in java and 
specify the label, but 
if I have a spatial layer and for instance I add a point (using 
createPoint), how do I attach a label to it?

2-Is adding label to all nodes going to decrease the performance ?

Best,
Alireza






On Monday, July 14, 2014 1:16:20 AM UTC+2, Benjamin Makus wrote:
>
> There are no object types in Neo4j.
>
> There are basically 4 solutions for your problem:
>
>    1. search ALL nodes for property p = value (this will find ALL nodes 
>    which have a property named "p" with value "value")
>    2. use Labels. This way you can "tag" nodes. Each node can have 
>    multiple labels. so your query would be "give me all nodes with label 'x' 
>    and property p = value"
>    3. give all your nodes a field called "type" and use this for tagging 
>    your objects. (this was used before there were tags). query: "give me all 
>    nodes with property 'type' = 'x' and property 'p' = value"
>    4. give all your objects a relation to a common node, so you can say 
>    "give me all node which have a relation to 'common node' and where 
> property 
>    p = value"
>
> As you can see, there are only 3 'good' solutions, because *1. *will scan 
> every(!) node, which can get very slow and additionally it will return 
> every kind of node with p = value.
>
> I'd prefer *2.* or *4.*.
>
> If your objects are really independent, what do they have in common? How 
> would you find these objects in a database like MySQL or MongoDB? If the 
> answer is: "I store them - and only them - in the same table", then the 
> Neo4j answer is: Use Labels!
>
> Here's an example:
> create (n:MyLabel {p : "value"})
> This will create a Node with label "MyLabel" and property p = value.
>
> If you now want to get all Nodes with that label use:
> match n:MyLabel
> return n
>
> Or with additional p = value:
> match n:MyLabel
> where n.p = value
> return n
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to