是否可以在 RDF 中的主语和宾语之间定义多个谓词?

Is it possible to define multiple predicates between a subject and object in RDF?

我想保留一个 RDF 图,其中谓词是 属性 边,subjects/predicates 是节点。现在我想知道在 rdf 语义中两个节点之间的多条边是否可能并且合法。

例如:

Tom -loves->julia Tom -liveswith->julia

这种形式可以吗?或者我会用不同的方式建模吗?

是的,很有可能。这只是两个三元组。例如,在 Turtle 中,它可能看起来像:

@prefix : <urn:ex:>.

:Tom :loves :Julia .
:Tom :livesWith :Julia .

或更简洁:

@prefix : <urn:ex:>.

:Tom :loves :Julia ;
     :livesWith :Julia .

RDF 图只是一组三元组。对于这些三元组中有多少恰好具有相同的主语和宾语没有限制。

事实上,由于 RDFS 具有 subPropertyOf 关系,因此非常需要在相同资源之间建立多个关系。例如,您可能有:

:hasSon rdfs:subPropertyOf :hasChild .

这意味着当你有

:X :hasSon :Y

你可以推断

:X :hasChild :Y

这是另一个与同一主题和对象相关的三元组。