2

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

我想建立一个图表,上面写着:

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

这很容易将 key:Value 属性添加到 NeoJ4 中的关系中。

困难在于我希望 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

目前我在 NeoJ4 中找不到简单的方法。

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

Study 1 :
    DOI:123/123

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

isSupportedBy:
    DOI:123/123

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

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

4

2 回答 2

2

Neo4j 不支持从边到节点的边。边总是在节点之间。因此,您必须将 positiveEffect 边缘转换为节点(如 rickhg12hs 的回答中所建议的那样)或将 positiveEffect 建模为非边缘(如您自己所提议的那样)。

于 2019-03-28T06:34:26.520 回答
2

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

像下面这样的节点/关系模型是否适合您的数据并使您的查询变得容易?

图数据库模型

于 2019-03-28T03:30:57.277 回答