我正在尝试在OrientDB中创建一个图形数据库,该数据库将存储有关视频游戏的一些信息。我希望根据“游戏顶点”与其他顶点的关系(边)来填充“游戏”顶点上的某些字段。
目前我有3种顶点:
游戏
平台
公司
要将这3个顶点类相互关联,我有2种Edges:
可用
Developed_By
例如::“游戏”(顶点)为“ Developed_By”(边缘)“公司”(顶点)
或
例如:“游戏”(顶点)为“ Avaialble_On”(边缘)“平台”(顶点)
“游戏”顶点具有四个字段:
名称(字符串)
releaseDate(字符串)
devs(LinkList?)
平台(链接列表?)
“游戏”顶点上的“名称”和“ releaseDate”是我手动设置的简单字符串。但是,我希望基于“游戏”顶点与“平台”和“公司”顶点的关系来设置“开发者”和“平台”字段。
例如:如果“游戏”顶点与任何“公司”顶点具有任何“已开发”关系,请列出这些“公司”顶点的“名称”字段作为“设备”的内容“游戏”顶点的“”字段。
我发现我可以为游戏顶点类设置属性,并添加“ LINKLIST”作为类型,这使我可以将属性与Linked_Class相关(例如:“公司”)。
不幸的是,将此LinkList属性添加到“游戏”顶点似乎没有任何作用(据我所知);查询“游戏”顶点时,尽管它们出现在架构中,但不会显示“开发”或“平台”字段。
当前,如果我提交此查询:
SELECT FROM Game WHERE name='Myst Masterpiece Edition'
我收到了Game Vertex,但是“ devs”和“ plats” LinkList属性似乎根本没有出现。
我不确定从这儿去哪里。任何见解都将受到高度赞赏。
答案 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"
要查看开发者名称:
select devs.name as devs, releaseDate, name, out() as Developed_By from Game where name = "Unreal"
希望对您有帮助
致谢