我正在创建材料及其物理属性的链接数据,而我在为某些属性设置单位时遇到问题。我的个人材料:AlMg3
具有一些机械属性,如:
:AlMg3 prop:hasTensileStrength "300" .
:AlMg3 prop:hasYieldStrength "2" .
:alMg3 prop:hasDensity "2200" .
如何为这些值设置单位?我的第一个想法是创建新的数据类型,例如:
unit:megaPascal rdf:type rdfs:datatype ;
rdfs:label "MPa" .
unit:Pascal rdf:type rdfs:datatype ;
rdfs:label "Pa" .
然后像这样使用它们:
:AlMg3 prop:hasTensileStrength "300"^^unit:megaPascal .
:AlMg3 prop:hasYieldStrength "2"^^unit:Pascal .
然后我想把这些单位联系起来:
unit:megaPascal prop:hasBaseUnit unit:Pascal .
unit:pascal prop:hasBaseSIUnit unit:kilogramPerMeterSecondSquared .
这可能吗?单位是数据类型,我不能在它们之间放置数据类型属性,除了注释属性?是否有可能使这些单位成为个体(甚至是类)并将其用作某种值后的数据类型?
我看到了QWT(数量,单位,尺寸和数据类型)的OWL本体,但我打算尝试创建更简单的东西。
答案 0 :(得分:8)
您可以使用您喜欢的任何数据类型,但是如果您这样做(例如,使用"300"^^unit:megaPascal
)则问题是您不能再对它们进行算术运算,并且您无法对词汇进行任何验证来自任何标准工具的表格。更好的选择是向属性添加一些文档,并使用支持数据类型的文字,或者为这些测量使用一些结构化值。
更有意义的是,只需在相关属性中添加注释即应将其值指定为某个特定单位的数字。例如,
prop:hasYieldStrength rdfs:comment "YieldStrength of material in Pascals"@en .
rdf:value
)另一种选择是使这些属性的范围成为指定测量和单位的某种实体,以便您的数据如下:
:AlMg3 prop:hasTensileStrength [ rdf:value "300"^^xsd:integer ;
unit:units unit:megaPascal ] .
如果您在OWL工作,我不确定是否可以使用rdf:value
,但您当然可以使用自己的词汇来做同样的事情。如果你可以使用rdf:value
,这实际上就是RDF文档说它可以使用的方式之一:
5.4.3 rdf:value
rdf:value是rdf:可以在其中使用的属性的实例 描述结构化价值。
rdf:价值本身没有任何意义。它是作为一块提供的 可用于习语的词汇,如例子中所示 RDF引物中的16个[RDF-PRIMER]。尽管缺乏正式的 规范这个属性的含义,有价值 定义它以鼓励在这个例子中使用一个共同的习语 样。
RDF Primer也有相关材料;测量是一个明确的例子:
4.4 More on Structured Values: rdf:value
...例如,在3.2节的例9中,特定的权重 帐篷以十进制值2.4给出,使用类型文字,即
事实上,一个 更完整的重量描述将是2.4公斤 而不仅仅是小数值2.4。说明这一点,价值 exterms:weight属性需要有两个组件,即 十进制值的类型文字和单位的指示 测量(公斤)。在这种情况下,十进制值可能是 被认为是外部的“主要”价值:重量属性,因为 通常,该值将被简单地记录为键入的文字(如 在上面的三重中),依靠对上下文的理解 填写未说明的单位信息。exproduct:item10245 exterms:weight "2.4"^^xsd:decimal .
在RDF模型中,可以使用此类限定属性值 被视为另一种结构化价值。代表 这个,可以用一个单独的资源来表示结构化的 价值作为一个整体(在这种情况下的重量),并作为 原始陈述的对象。然后可以给出该资源 表示结构化值的各个部分的属性。 在这种情况下,键入的文字应该有一个属性 表示十进制值,以及单位的属性。 RDF 提供预定义的rdf:value属性来描述主值 (如果有的话)结构化价值。所以在这种情况下,键入 literal可以作为rdf:value属性的值给出 资源经费:千克作为外部的价值:单位财产 (假设资源是exunits:千克被定义为 example.org的词汇表)。由此产生的三元组将是:
exproduct:item10245 exterms:weight _:weight10245 . _:weight10245 rdf:value "2.4"^^xsd:decimal . _:weight10245 exterms:units exunits:kilograms .
请注意,最后一个示例可以写为:
exproduct:item10245 exterms:weight [ rdf:value "2.4"^^xsd:decimal ;
exterms:units exunits:kilograms ] .