RDF,附加一个 rdf:Statement 多个 rdf:predicate 三元组是否有效?
RDF, is it valid to have a single rdf:Statement with multiple rdf:predicate triples attached?
根据主题,断言单个 rdf:Statement
附加多个 rdf:predicate
三元组是否有效?
背景:我正在尝试通过基于 SPARUL
(即 INSERT <inferred triples> WHERE <preconditions>
)的简单规则来构建推断的三元组。在我的数据集中,我根据 rdf:
词汇表对陈述进行了具体化,做出如下推论是有意义的:
?stmt rdf:predicate ?p; ?p rdfs:subPropertyOf ?p1 =>
=> a statement with rdf:predicate ?p1 is also asserted.
这种推理的目的主要是词汇映射:使用定义 ?p1
的词汇进行搜索的人也会找到使用定义 ?p
的词汇的人陈述的语句(例如,skos:prefLabel(?p) rdfs:subPropertyOf schema:name(?p1)
).
我找不到任何说明语句只能有一个 rdf:predicate
或相反的文档。在我看来,只有一个谓词才是更简洁的选择,但是,如果是这样的话,我将需要复制几乎所有现有语句(包括额外的三元组,如出处或显着性分数)并使用 ?p1
作为新的谓词。
如果我只是简单地向现有的 rdf:predicate
添加一个 rdf:predicate
,则隐含的语义将是:"there are two which differ by predicate only" 以及搜索 ?p
或 ?p1
的所有查询应该没有问题,但我不确定我没有遗漏任何东西。
实际上,我能看到的一件事是具体化的语句计数不能基于像 ?s a rdf:Statement
这样的三元组计数,但这对我来说似乎没什么大不了的。
在这种情况下,我认为可以通过使用 owl:sameAs.
简单地声明 <p>
等同于 <p1>
来轻松地进行词汇映射
不幸的是,RDF 中的整个具体化内容都未明确说明 - 但常规用法是具体化语句指的是三元组的实际实例(不是多个,当有多个谓词时就是这种情况)
将使用我从 Facebook 上的语义 Web 组收集的信息来回答(非常感谢那些贡献的人)。
通常的做法是,一个具体化的语句只代表一个语句。我提出的解释不适用于一个 URI 应该只代表一个实体这一事实。
此外,可以从 specs 中推断出这样的唯一性(强调定冠词是我的):
RDF 语句的谓词是 rdf:Property 的实例,由三元组的 谓词标识。
此外,像 Jena 这样的框架不太可能适用于我的方法。
所以,这绝对不是一个好主意,我会选择重复的。
根据主题,断言单个 rdf:Statement
附加多个 rdf:predicate
三元组是否有效?
背景:我正在尝试通过基于 SPARUL
(即 INSERT <inferred triples> WHERE <preconditions>
)的简单规则来构建推断的三元组。在我的数据集中,我根据 rdf:
词汇表对陈述进行了具体化,做出如下推论是有意义的:
?stmt rdf:predicate ?p; ?p rdfs:subPropertyOf ?p1 =>
=> a statement with rdf:predicate ?p1 is also asserted.
这种推理的目的主要是词汇映射:使用定义 ?p1
的词汇进行搜索的人也会找到使用定义 ?p
的词汇的人陈述的语句(例如,skos:prefLabel(?p) rdfs:subPropertyOf schema:name(?p1)
).
我找不到任何说明语句只能有一个 rdf:predicate
或相反的文档。在我看来,只有一个谓词才是更简洁的选择,但是,如果是这样的话,我将需要复制几乎所有现有语句(包括额外的三元组,如出处或显着性分数)并使用 ?p1
作为新的谓词。
如果我只是简单地向现有的 rdf:predicate
添加一个 rdf:predicate
,则隐含的语义将是:"there are two which differ by predicate only" 以及搜索 ?p
或 ?p1
的所有查询应该没有问题,但我不确定我没有遗漏任何东西。
实际上,我能看到的一件事是具体化的语句计数不能基于像 ?s a rdf:Statement
这样的三元组计数,但这对我来说似乎没什么大不了的。
在这种情况下,我认为可以通过使用 owl:sameAs.
简单地声明<p>
等同于 <p1>
来轻松地进行词汇映射
不幸的是,RDF 中的整个具体化内容都未明确说明 - 但常规用法是具体化语句指的是三元组的实际实例(不是多个,当有多个谓词时就是这种情况)
将使用我从 Facebook 上的语义 Web 组收集的信息来回答(非常感谢那些贡献的人)。
通常的做法是,一个具体化的语句只代表一个语句。我提出的解释不适用于一个 URI 应该只代表一个实体这一事实。
此外,可以从 specs 中推断出这样的唯一性(强调定冠词是我的):
RDF 语句的谓词是 rdf:Property 的实例,由三元组的 谓词标识。
此外,像 Jena 这样的框架不太可能适用于我的方法。
所以,这绝对不是一个好主意,我会选择重复的。