Graph 如何使用neoj4图形数据库获取Stations?
我期待着使用NeoJ4进行一些研究。然而,我必须先检查它是否能满足我的要求 我想建立一个图表,显示: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属
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
。这实际上取决于您拥有(或计划拥有)的数据和您希望执行的查询。而且,如果一段时间后你有了一个更好的模型,你可以改变它(只要数据库中没有太多其他的东西/人在变化)。