Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph 如何使用neoj4图形数据库获取Stations?_Graph_Neo4j_Rdf_Semantic Web_N Quads - Fatal编程技术网

Graph 如何使用neoj4图形数据库获取Stations?

Graph 如何使用neoj4图形数据库获取Stations?,graph,neo4j,rdf,semantic-web,n-quads,Graph,Neo4j,Rdf,Semantic Web,N Quads,我期待着使用NeoJ4进行一些研究。然而,我必须先检查它是否能满足我的要求 我想建立一个图表,显示: StatementID1 = Cannabidiol hasPositiveEffectOn ChronicPain StatementID1 isSupportedBy Study1 StatementID1 isSupportedBy Study2 StatementID1 isNotSupportedBy Study3 这很容易在NeoJ4中将key:Value属

我期待着使用NeoJ4进行一些研究。然而,我必须先检查它是否能满足我的要求

我想建立一个图表,显示:

StatementID1 = Cannabidiol hasPositiveEffectOn ChronicPain
    StatementID1 isSupportedBy Study1
    StatementID1 isSupportedBy Study2
    StatementID1 isNotSupportedBy Study3
这很容易在NeoJ4中将key:Value属性添加到关系中

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

这可以在triplestore中完成,其中每个triplestore都有一个ID,如“station1”。这是一个添加三元组的问题,其中对象是另一个三元组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是唯一的,所以可以进行一些搜索。然而,这将使事情变得更加复杂


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

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

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


Neo4j不支持从边到节点的边。边始终位于节点之间。因此,您必须将您的积极效应边缘转换为节点(如rickhg12hs的回答中所建议的),或将积极效应建模为非边缘(如您自己所建议的)。

就是这样,但由于Cannaidiol可以对其他医疗条件产生积极影响,我们需要两个链接:陈述->主题和陈述->对象。另一个问题是,可能有研究表明,坎那比妥对慢性疼痛有积极作用,而有研究表明它没有作用。所以我们还需要指出语句->具有积极的效果,什么是不可能的,或者在statment属性中双重存储链接名称。这很复杂…一个选择是:坎那比妥->有->效果{type:positive}->ON->慢性疼痛。然后我们可以添加一个有3个链接的语句:主题->Cannabidiol,效果->效果,对象->计时疼痛,并且是从研究中链接的…如果效果节点是该语句的唯一节点,我们甚至可以删除该语句节点。然后所有的研究节点都将指向效果节点。@Thib甚至将
:Object
直接链接到
:Statement
。这实际上取决于您拥有(或计划拥有)的数据和您希望执行的查询。而且,如果一段时间后你有了一个更好的模型,你可以改变它(只要数据库中没有太多其他的东西/人在变化)。