2015-09-25 47 views
0

我想知道是否可以在orient db(v2.0)中使用子選擇作爲排除查詢。或者,如果有必要導出單獨的查詢和Java/PHP /等進程。如何在OrientDB中排除查詢

例如,假設我們有下面的霍格沃茨圖。

頂點 人,房屋,類

邊 is_at(子類is_student,is_faculty),was_at(校友),is_taking,is_teaching,belongs_to的

我們如何才能找到所有誰不是校友還有教師?是否有可能以單個查詢或以某種方式使用LET?

我們如何找到所有教授課程的教師,比如時間旅行,沒有屬於格蘭芬多家的學生?

感謝, 林賽

回答

1

的.size()操作應該工作:http://orientdb.com/docs/2.0/orientdb.wiki/SQL-Methods.html#size

select from People where out('is_faculty').size() = 0 

使用了( '... ')或(' ...')根據您的圖形。

我們將如何找到所有你正在教的課程,比如時間旅行,沒有屬於格蘭芬多家的學生?

我沒有在你的圖表和類多的信息,但可能是這樣的:

select from Classes where ClassName='time travel' and in('is_teaching')[Id=yourId] and in('is_taking').out('belongs_to')[Name='gryffindor'].size() = 0 

同樣,使用()或退出()因此你的圖表。

+0

謝謝!我測試了這個,並且這個工作得很好。 –

+0

不客氣:) –