Rdf 用一个观察值表示两个特性/特征

Rdf 用一个观察值表示两个特性/特征,rdf,owl,ontology,protege,Rdf,Owl,Ontology,Protege,最近,我浏览了他的博客,他很好地解释了如何在使用本体模块时表示传感器观察。我完全理解他的解释,但有一件事我发现是多余的,它代表了a的两个特征(这里的CO2和H20浓度如下表所示) 具有两个独立观察值的行,如rdf文件中的所示 我试图在rdf文件中用一个观察值来表示这两个特性。这将减少rdf文件的大小并消除冗余 换言之,我如何替换 及 与 这肯定会删除一些多余的语句。这种方法的问题在于,您不知道哪个观察结果(和值)与观察中的哪个属性相关。有关此问题的更多讨论,您可能需要阅读来自公共x

最近,我浏览了他的博客,他很好地解释了如何在使用本体模块时表示传感器观察。我完全理解他的解释,但有一件事我发现是多余的,它代表了a的两个特征(这里的CO2和H20浓度如下表所示) 具有两个独立观察值的行,如rdf文件中的所示

我试图在rdf文件中用一个观察值来表示这两个特性。这将减少rdf文件的大小并消除冗余

换言之,我如何替换





这肯定会删除一些多余的语句。

这种方法的问题在于,您不知道哪个观察结果(和值)与观察中的哪个属性相关。有关此问题的更多讨论,您可能需要阅读来自公共xg的线程-ssn@w3.org邮件列表。

如果您这样做(修剪):


然后你有四个三元组。你有

:obj1 ssn:observationResult :S01, :S012 ;
      ssn:observedProperty :massFractionC02, :massFractionH2o .
但是,您如何知道:S01应该与:massFractionCo2还是:massFractionH2o匹配?您如何知道:S012应该与:massFractionCo2还是:massFractionH2o匹配?因为RDF图是一组三元组,所以不能基于任何类型的顺序来完成;没有顺序(即使任何文本表示都必须以某种顺序写入三元组)

这样做并不会消除任何冗余,只会引入歧义。

有一个建议可以解决这个问题:创建
ssn ext:ObservationCollection
并修复一些属性,并保存
ssn:Observation
s以改变其余属性和结果

这完全类似于使用
qb:Slice
来减少多维数据集本体中的数据


(我认为上面使用的是旧ssn,而ssn ext与新ssn相关。)

感谢您指向线程。我明白这是不必要的含糊不清。谢谢约书亚,我明白了。