我正在创建有关材料及其物理性质的链接数据,而且我在为某些属性设置单元时遇到了困难。我的个人材料: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 .这个是可能的吗?单元将是数据类型,除了注释属性之外,我不能在它们之间放置数据类型属性?是否有可能使这些单元独立(甚至是类),并将它们作为某种值之后的数据类型使用?
我看到了QUDT的OWL本体(数量、单位、维度和数据类型),但我打算自己创建一些更简单的东西。
发布于 2013-11-27 21:08:13
您可以使用您喜欢的任何数据类型,但是如果这样做(例如使用"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:价值本身是没有意义的。它作为一个词汇提供,可用于成语,如例16的RDF引物RDF-引物。尽管对这一属性的含义缺乏正式的说明,但定义它的价值在于鼓励在这类例子中使用一个常见的成语。
RDF底漆也有相关的材料;测量是一个明确的例子:
4.4 More on Structured Values: rdf:value …例如,在3.2节的示例9中,使用类型化文字,将特定帐篷的重量作为十进制值2.4,即, 外部产品:项目10245外列:重量“2.4”^xsd:十进制。 事实上,更完整的重量描述应该是2.4公斤,而不仅仅是小数2.4。要说明这一点,exterms:W权数属性的值需要有两个组件,一个是十进制值的类型化文字,另一个是度量单位(公斤)的指示。在这种情况下,十进制值可以被认为是外接词的“主”值:权重属性,因为通常情况下,该值将被简单地记录为键入的文字(如上面的三元组),依赖于对上下文的理解来填充未声明的单位信息。 在RDF模型中,这类限定属性值可以简单地看作是另一种结构化值。为了表示这一点,可以使用单独的资源来表示整体的结构化值(在本例中是权重),并用作原始语句的对象。然后,该资源可以被赋予表示结构化值的各个部分的属性。在这种情况下,应该有代表十进制值的类型化文字的属性和单位的属性。RDF提供了一个预定义的rdf:value属性来描述结构化值的主值(如果有)。因此,在这种情况下,类型化文字可以给出rdf:value属性的值,资源exunit: is作为exterms:unit属性的值(假设资源exunit:is被定义为example.org词汇表的一部分)。由此产生的三倍将是: 外部产品:项目10245外列:重量_:weight10245。_:weight10245 rdf:值“2.4”^xsd:十进制。_:weight10245外列:单位外单位:公斤。
请注意,最后一个示例可以编写为:
exproduct:item10245 exterms:weight [ rdf:value "2.4"^^xsd:decimal ;
exterms:units exunits:kilograms ] .https://stackoverflow.com/questions/20248369
复制相似问题