Thank you for your answer, I will look at the guide you linked :)

Le jeudi 16 avril 2015 13:02:37 UTC+2, Michael Hunger a écrit :
>
> I think it depends on the use-case
>
> if your use-cases and queries make use of that structure to provide some 
> functionality that is hard to achieve otherwise, then go for the graph 
> structure. 
> If it is just for the storage and some property lookup or comparison it 
> might not be worth it.
>
> There is no "general rule" :) Some types of nodes e.g. Countries can be 
> connected to *a lot* of other nodes, so querying across them might not be 
> as efficient, then you'd rather check from the other direction, if 
> something is *also* connected to the same country.
>
> The data modeling training has some infos on that, as well as Ian 
> Robinsons talks (recorded on watch.neo4j.org) on data modeling
>
> See also: http://neo4j.com/developer/guide-data-modeling
>
> HTH
>
> Cheers, Michael
>
> Am 16.04.2015 um 11:23 schrieb Gaël N. <[email protected] <javascript:>>:
>
> Hi dear community,
>
> I was wondering if there were some good practices about how you modelize 
> your graph when you have different kind of nodes (so differents labels) 
> that have properties in common.
> Let me explain with an example :
>
> Let's say I have a node containing localization data (city, country, 
> street, zipcode...) which is related to a "person" node.
> I also have an other node, a "company", which have "countries" as a 
> property.
>
> I can see many kind of modelization :
>
>
>    1. (person)-[:IS_LOCATED_IN]->(location {city:"", country:"france", 
>    zipcode:""}), (company {countries: :["france", "USA"]})
>    2. (person)-[:IS_LOCATED_IN]->(location {city:"", country:"france", 
>    zipcode:""}), (company)-[whatever]->(country {name:"france"})
>    3. (person)-[:IS_LOCATED_IN]->(location {city:"", 
>    zipcode:""})-[whatever2]->(country {name:"france"})<-[whatever]-(company)
>
> You will probably say that it depends on my needs, but I was just 
> wondering if there was a rule like "When you have data in common, you'd 
> better extract it to an other node and link them all to have a highely 
> connected graph".
>
> Considering my needs, my application is not specifically focused on 
> localization, it is just some datas that could be share between nodes by 
> extracting them to node and create relations.
>
> This question came to my mind after seeing some "time representation 
> model" like the GraphAware TimeTree.
>
>    - Is there a best modelization between the 3 I suggest ?
>    - Does it only depends on what will be the queries ?
>    - What about global Neo4j performances and disk(or memory) usage 
>    between those 3 ?
>    - Do you have a better modelization ? :)
>
> Thank you guyz
>
> -- 
> 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 [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to