orientdb sql查询选择边和顶点字段属性.

mar*_*tin 6 sql graph-databases orientdb

我确实有以下数据库结构.

用户 - >评论 - >产品

一个.用户和产品是包含一些信息等的顶点:user_name,product_name和.... b.comment是包含注释和创建/修改日期的边缘.

什么是sql查询可能看起来像是为了显示以下结果.

注意:我必须显示可能有或没有评论的所有产品.

  1. product_name,user_name,comment,comment_created_date,comment_modified_date
  2. product_name,user_name,'','',''
  3. product_name,user_name,comment,comment_created_date,comment_modified_date

vit*_*rte 4

create class User extends V
create property User.name string

create class Product extends V
create property Product.name string

create class Comment extends E
create property Comment.comment string
create property Comment.createDate datetime
create property Comment.modifiedDate datetime


create vertex User set name = 'u1' # 12:0
create vertex Product set name = 'p1' # 13:0
create vertex Product set name = 'p2' # 13:1

create edge Comment from #12:0 to #13:0 set comment = 'nice product', createDate = sysdate()
Run Code Online (Sandbox Code Playgroud)

如果以上是您的情况,我相信您正在寻找的查询类似于:

select *, expand(inE('Comment')) from Product
Run Code Online (Sandbox Code Playgroud)

更新:

它不是很漂亮,但作为解决方法,您可以使用:

select *, inE('Comment').include('comment', 'createDate', 'modifiedDate') from Product
Run Code Online (Sandbox Code Playgroud)