I try to outline my domain.

Simple implementation of an UML informationflow:

(a:Class)-[:InformationFlow]->(b:Class)

Conveyed items can be attached to the InformationFlow:

[:InformationFlow {items: [..] }

But in our model InformationItems are really "first-class-citizens". A lot 
of searches are related to this items. So I want them to be part of the 
graph and queryable. My current approach is to add them as nodes. But 
because there can also InformationFlows without or with more than one 
conveyed items, I create an "abstract" one first:

(a:Class)-[:InformationFlow]->(:InformationItemAbstract)-[:InformationFlow]->(b:Class)

Now I can attach as many real InformationItems to the abstract one as I 
like:

(:InformationItemAbstract)-->(x:InformationItem {..})
(:InformationItemAbstract)-->(y:InformationItem {..})

Now I can search for InformationItems:

MATCH (:InformationItem 
{name:'IE1'})<--(a:InformationItemAbstract)-[:InformationFlow]-(b:Class)
RETURN a,b

The question: Is there a better approach? 




Am Donnerstag, 13. November 2014 12:58:01 UTC+1 schrieb Michael Hunger:
>
> Perhaps you can try to outline your concrete example, not sure what you 
> mean?
>
>
> On Thu, Nov 13, 2014 at 12:03 PM, Guido Franz <[email protected] 
> <javascript:>> wrote:
>
>> My current approach is to model something like an association class. 
>> Translated into the email example: I create an email placeholder node 
>> between the FROM and TO nodes (FROM->EMAIL_PLACEHOLDER->TO). If there are 
>> really detailed emails, then I attach them on the placeholder with 
>> additional nodes (EMAIL_PLACEHOLDER->EMAIL).
>>
>> My current problem: it is hard to search for the FROM and TO nodes with 
>> this approach. I need to search for paths (FROM->EMAIL_PLACEHOLDER->TO) 
>> based on a branched path (EMAIL_PLACEHOLDER->EMAIL).
>>
>>
>>
>>  -- 
>> 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