gpt4 book ai didi

database - 如何从关系三元组创建图形数据库?

转载 作者:搜寻专家 更新时间:2023-10-30 20:23:56 24 4
gpt4 key购买 nike

我想为特定的故事情节构建一个知识图谱,为此我使用 OpenIE 提取了关系三元组 (S,P,O)。现在我想从这些我不知道该怎么做的关系三元组创建图形数据库。所以这是我的问题:
1)我应该使用哪个图形数据库,为什么?
2) 如何从关系三元组创建数据库,或者是否可以在任何图形数据库中从原始关系三元组创建关系图?

例如,假设我选择 Neo4j 作为图形数据库:
关系三胞胎看起来像​​:['Barack Obama', 'was born in', 'Hawaii']
如何从 ['Barack Obama', 'was born in', 'Hawaii'] 以编程方式创建 Neo4j 图形?

Barak Obama and Hawaii are Nodes.
was born in is Relationship

最佳答案

使用 OrientDB,您可以通过以下方式做到这一点:

create class Person extends V
create property Person.name string
create property Person.surname string
insert into Person(name, surname) values ("Barack","Obama")

create class Country extends V
create property Country.name string
insert into Country(name) values ("Hawaii")

create class was_born_in extends E

create edge was_born_in from (select from Person where name = "Barack") to (select from Country where name = "Hawaii")

情况是这样的:

+----+-----+-------+------+-------+---------------+--------------+
|# |@RID |@CLASS |name |surname|out_was_born_in|in_was_born_in|
+----+-----+-------+------+-------+---------------+--------------+
|0 |#17:0|Person |Barack|Obama |[#25:0] | |
|1 |#21:0|Country|Hawaii| | |[#25:0] |
+----+-----+-------+------+-------+---------------+--------------+

如果您运行此查询:

select expand(in('was_born_in')) from Country where name = "Hawaii"

你会得到所有住在夏威夷的人

+----+-----+------+------+-------+---------------+
|# |@RID |@CLASS|name |surname|out_was_born_in|
+----+-----+------+------+-------+---------------+
|0 |#17:0|Person|Barack|Obama |[#25:0] |
+----+-----+------+------+-------+---------------+

希望对你有帮助

问候

关于database - 如何从关系三元组创建图形数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48379586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com