Apologies up front, I'm very new to graph databases in general and OrientDB 
in particular.

I've learned that if I have a simple relationship to express, I can model 
it with edges or links (and I understand there are many things that can be 
done with edges that cannot be done with LINK or LINKSET, etc).  I'm 
wondering when using something like a LINKSET would be preferable to 
creating an edge. 

The particular example I was playing with was one where I've got typed 
vertices to represent People and Messages. Each Message is authored by a 
Person and I'm creating a visibility filter where each Message is visible 
to a set of People.

for authorship I could do one of the following:

   - Message.author property of type LINK Person
   - Create an Edge type Author from Person to Message

for visibility I could do one of these:

   - Message.viewers property of type LINKSET Person
   - Create an Edge type Viewer from Person to Message

I'm already seeing that what I choose affects my ability to do traversals 
in Gremlin (although I suspect I could filter on LINKSET items in Gremlin?) 
so clearly there is a disadvantage to using LINK/LINKSET for this reason.  

Are there any advantages to using LINK* relationships? In particular I'm 
wondering if the visibility filter would execute faster as a LINKSET.  (For 
example, show me all Messages written by Person1 that Person2 is allowed to 
see.)

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" 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/groups/opt_out.

Reply via email to