Just to close the loop on this one, it was answered
here:
http://stackoverflow.com/questions/22690108/presence-absence-of-an-outgoing-edge-from-a-vertex-in-orientdb/22734644#22734644
All set now. Thanks.
On Thursday, March 27, 2014 12:57:31 PM UTC-4, Rohit Raman wrote:
>
> I have seen some similar questions on SO but none of the answers have
> worked for me yet, so I am hoping to get a new answer with the new features
> that have been added to recent versions of OrientDb since the other
> questions were asked.
>
> I am trying to query all vertices which have an outgoing edge of a
> particular type but no outgoing edge of another type.
>
> As an example in a simple relationship of Person ---- Friend ---> Person
> Person ---- Owns ---> Car
>
> I am trying to find all the persons who have friends but do not own a car.
>
> I have already tried the following query with no luck (It returns all the
> persons irrespective of whether or not those vertices have an outgoing edge
> of a particular kind)
>
> select from Person where (out('Friend') not null and out('Owns').size() = 0)
> select from Person where (out('Friend') is not null and out('Owns') is null)
>
> In my efforts I realized that the NOT query is not supported yet by
> OrientDb in the WHERE clause as per this page:
> https://github.com/orientechnologies/orientdb/wiki/SQL-Where Can someone
> please verify if this is indeed true.
>
> Anyways, I moved on and tried to simplify my query and tried to find only
> vertices that do not have the outgoing edge of 'Owns'. Even that did not
> work in that it seemed to return all the Person vertices in my graph:
>
> select from Person where (out('Owns').size() = 0)
> select from Person where (out('Owns') is null)
>
> Not sure what I am missing, but any help is as always greatly appreciated.
> I am using 1.7Rc-1 of orient.
>
--
---
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/d/optout.