2017-02-20 99 views
0

我有两个v类:vuser和vlang 和e类:说话。OrientDB在图形模式下的边缘

所以:Vuser的 - >说 - > vlang

然后我正尝试在我的图表看这充分说明 'AR' 和用户的我的查询是下一个:

select expand(in('speaks')) from vlang where lang = 'ar' 

有了这个,我看到的是用户,而不是vlang和边缘的顶点。如何显示lang ='ar'的边缘和vlang?我已经阅读了OrientDB文档,但是我没有看到这个问题类型。

在此先感谢。

回答

0

如果你是开V 2.2,您可以使用符合此:

MATCH 
{class:vlang, as:lang, where:(lang = 'ar')} <-speaks- {as:user} 
RETURN $elements 

这将返回用户和郎顶点。如果您还需要边缘,你可以使用这个语法:

MATCH 
{class:vlang, as:lang, where:(lang = 'ar')} 
    .inE("speaks"){as:theEdge} 
    .outV(){as:user} 
RETURN $elements 

这将返回一个边/顶点只有一次,在结果集一个单独的项目。

如果你想看到的单一模式,你可以改变返回条款:RETURN $patterns

完整的语法在这里:http://orientdb.com/docs/2.2.x/SQL-Match.html