RDF表达谓词的程度

时间:2016-03-07 17:16:30

标签: rdf semantic-web ontology rdfs

假设我有这个三重奏:

m:song1 m:hasFeature m:harmony

这意味着一首带有uri m:song1的歌曲具有和谐,到目前为止还不错,但有时候我想说它只有40%的和谐。

更好的例子可能是:

m:user1 m:fromPeriod m:adult
m:user2 m:fromPeriod m:childhood

我们不能说在25岁之前你是童年,在你成年之后,它是模糊的,而不是硬切。我想说你是50%的成年人和50%的童年

有没有办法在RDF中做到这一点,以及如果是(我希望)如何在Protege中

我想到的是:

m:user1 m:fromPeriod m:adult
m:fromPeriod :hasFuzzy 0.5

可能吗? (特别是在Protege中,因为我无法在整个本体中书写)

2 个答案:

答案 0 :(得分:1)

您正在查看reification,这是语义网和其他地方的常见做法。使用评论中建议的n-ary relations是一种方式,也许是正确的方法。

另一种技术是为您的语句(三元组)分配URI或bnode,以便您可以对其进行声明。例如,

鉴于三倍:

:song_1 :hasFeature :harmony.

你可以创建:

:statement_1 a rdf:Statement.
:statement_1 rdf:subject :song_1.
:statement_1 rdf:predicate :hasFeature.
:statement_1 rdf:object :harmony.

然后你可以这样说:

:statement_1 :hasSomeValue "40%".

答案 1 :(得分:0)

我也可以使用像this one这样的Protégé检查模糊逻辑上的一些资源。