【发布时间】:2020-02-05 09:06:19
【问题描述】:
我正在 RDF 中创建材料集合。我遇到了两种处理计量单位的方法:
- 通过将描述性名称链接到 RDF 属性:
prop:density prop:hasUnits "kg/m3".
<x:MyBrick> a x:Material;
prop:density "1676".`
- 使用现有的本体库,例如ontology of units of measure。分配单位要复杂得多,因为它涉及创建multiple objects。请参阅下面我如何为材料分配相同的密度:
<x:MyBrick> a x:Material;
om:hasPhenomenon <x:density_MyBrick>.
<x:density_MyBrick> a om:Density;
om:hasValue <x:1676_kilogramspercubicmetre>.
<x:1676_kilogramspercubicmetre> a om:Measure;
om:hasNumericalValue 1.676E3;
om:hasUnit om:kilogramPerCubicmetre .
我已经查看了 using UOM ontologies 的不同用例,但主要关注的是他们可以做什么,而不是他们如何做以及它是否实用。例如,我想如果您只想返回指定材料属性的所有值,使用单元本体会使查询变得更加复杂。还有一些属性没有被本体覆盖,比如表面粗糙度,目前还不清楚如何扩展它们。
我更喜欢采用第一种方法。它更简洁、更灵活,并为用户提供了在典型数据库中无法获得的有用信息。我会尝试在应用程序端处理单位转换,因此我的首要任务是以查询友好的方式存储信息。我担心的是,通过采用这种方法,我将进一步限制功能。选择一种方法而不是另一种方法有什么主要的优点和缺点吗?
【问题讨论】: