如何用neo4j图数据库来源语句?

问题描述 投票:2回答:2

我期待着使用NeoJ4进行一些研究。但是我必须先检查它是否可以做我想要的。

我想建立一个图表说:

StatementID1 = Cannabidiol hasPositiveEffectOn ChronicPain
    StatementID1 isSupportedBy Study1
    StatementID1 isSupportedBy Study2
    StatementID1 isNotSupportedBy Study3

这很容易添加键:Neo4J中关系的值属性。

困难在于我希望Study1,2,3成为节点。这样它们就可以拥有自己的一组属性。

这可以在三重存储中完成,其中每个三元组在此处具有类似“Statment1”的ID。这是添加三元组的问题,其中对象是另一个三元组ID。

url:TripleID1 = url:Cannabidiol url:hasPositiveEffectOn url:ChronicPain
url:TripleID2 = url:TripleID1 url:isSupportedBy url:Study1
url:TripleID3 = url:TripleID1 url:isSupportedBy url:Study2
url:TripleID4 = url:TripleID1 url:isNotSupportedBy url:Study3

目前我无法在Neo4J中找到如何做到这一点。

我可以将研究的DOI添加为属性:

Study 1 :
    DOI:123/123

然后在链接中添加相同的DOI:

isSupportedBy:
    DOI:123/123

由于DOI是唯一的,因此可以进行一些搜索。然而,这将使事情变得更加复杂。

是否有更简单的方法来实现这一目标?

graph neo4j rdf semantic-web n-quads
2个回答
2
投票

我想这是一个数据库设计问题。

节点/关系模型是否适合您的数据并使您的查询更容易?

Graph Database Model


2
投票

Neo4j不支持从边缘到节点的边缘。边缘始终位于节点之间。因此,您必须将positiveEffect边缘转换为节点(如rickhg12hs的答案中所提出的)或将positiveEffect建模为非边缘(如您自己提出的那样)。

© www.soinside.com 2019 - 2024. All rights reserved.