OrientDB图形数据库-根据连接的边缘设置字段内容

时间:2018-09-12 19:41:13

标签: database orientdb graph-databases

我正在尝试在OrientDB中创建一个图形数据库,该数据库将存储有关视频游戏的一些信息。我希望根据“游戏顶点”与其他顶点的关系(边)来填充“游戏”顶点上的某些字段。

目前我有3种顶点:

  1. 游戏

  2. 平台

  3. 公司

要将这3个顶点类相互关联,我有2种Edges:

  1. 可用

  2. Developed_By

例如::“游戏”(顶点)为“ Developed_By”(边缘)“公司”(顶点)

例如:“游戏”(顶点)为“ Avaialble_On”(边缘)“平台”(顶点)

“游戏”顶点具有四个字段:

  1. 名称(字符串)

  2. releaseDate(字符串)

  3. devs(LinkList?)

  4. 平台(链接列表?)

“游戏”顶点上的“名称”和“ releaseDate”是我手动设置的简单字符串。但是,我希望基于“游戏”顶点与“平台”和“公司”顶点的关系来设置“开发者”和“平台”字段。

例如:如果“游戏”顶点与任何“公司”顶点具有任何“已开发”关系,请列出这些“公司”顶点的“名称”字段作为“设备”的内容“游戏”顶点的“”字段。

我发现我可以为游戏顶点类设置属性,并添加“ LINKLIST”作为类型,这使我可以将属性与Linked_Class相关(例如:“公司”)。

不幸的是,将此LinkList属性添加到“游戏”顶点似乎没有任何作用(据我所知);查询“游戏”顶点时,尽管它们出现在架构中,但不会显示“开发”或“平台”字段。

当前,如果我提交此查询:

SELECT FROM Game WHERE name='Myst Masterpiece Edition'

我收到了Game Vertex,但是“ devs”和“ plats” LinkList属性似乎根本没有出现。

我不确定从这儿去哪里。任何见解都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

要使用链接列表,您应该在上面添加值。

create class Game extends V
create property Game.name string
create property Game.releaseDate string
create property Game.devs LINKLIST
create property Game.plats LINKLIST

create class Company extends V
create property Company.name string


insert into Company(name) values ("Ordilogic System")                         #26:0
insert into Game(name, releaseDate) values ("Unreal"), ("1998-05-22")         #17:0
update #17:0 set devs = #26:0


select from Game where name = "Unreal"

enter image description here

要查看开发者名称:

select devs.name as devs, releaseDate, name, out() as Developed_By from Game where name = "Unreal"



希望对您有帮助

致谢