6

材料とその物性をリンクしたデータを作成しているのですが、ある物性の単位の設定に困っています。私の個々の材料: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 オントロジーを見ましたが、もっと単純なものを自分で作成しようとしていました。

4

1 に答える 1

8

好きなデータ型を使用できますが、それを行う場合 (たとえば を使用する場合"300"^^unit:megaPascal) は、それらに対して算術演算を行うことができなくなり、標準ツールのいずれからも語彙形式の検証を取得できないという問題があります。より良いオプションは、プロパティにドキュメントを追加し、サポートされているデータ型でリテラルを使用するか、これらの測定値に構造化された値を使用することです。

ドキュメントと標準データ型

おそらくもっと理にかなっているのは、関連するプロパティに、その値を特定の単位の数値として指定する必要があるというコメントを追加することです。例えば、

prop:hasYieldStrength rdfs:comment "YieldStrength of material in Pascals"@en .

構造化された値 (おそらく を使用rdf:value)

もう1つのオプションは、これらのプロパティの範囲を、測定と単位の両方を指定するある種のエンティティにすることです。これにより、データは次のようになります。

:AlMg3 prop:hasTensileStrength [ rdf:value "300"^^xsd:integer ;
                                 unit:units unit:megaPascal ] .

OWL で作業している場合、使用してよいかどうかはわかりませrdf:valueんが、独自の語彙を使用して同じことを行うことはできます。を使用できる場合rdf:value、これは実際に RDF ドキュメントで使用できると述べられている方法の 1 つです。

5.4.3 rdf:値

rdf:value は、構造化された値を記述する際に使用できる rdf:Property のインスタンスです。

rdf:value 自体には意味がありません。これは、RDF 入門書 [RDF-PRIMER] の例 16 に示されているようなイディオムで使用できる語彙の一部として提供されています。このプロパティの意味の正式な仕様が不足しているにもかかわらず、この種の例で一般的なイディオムの使用を促進するためにそれを定義することには価値があります。

RDF Primer にも関連資料があります。測定値は明示的な例の 1 つです。

4.4 構造化された値の詳細: rdf:value

… たとえば、セクション 3.2 の例 9 では、特定のテントの重量は、型付きリテラルを使用して 10 進値 2.4 として与えられました。つまり、

exproduct:item10245   exterms:weight   "2.4"^^xsd:decimal .

実際、重量のより完全な説明は、小数値の 2.4 ではなく、2.4 キログラムでした。これを述べるには、exterms:weight プロパティの値に、10 進値の型付きリテラルと測定単位 (キログラム) の指示の 2 つのコンポーネントが必要です。この状況では、10 進数値は exterms:weight プロパティの「メイン」値と見なすことができます。これは、多くの場合、値が単純に型付きリテラル (上記のトリプルのように) として記録され、コンテキストの理解に依存して埋められるためです。記載されていない単位情報。

RDF モデルでは、この種の修飾されたプロパティー値は、単に別の種類の構造化された値と見なすことができます。これを表すために、別のリソースを使用して、構造化された値全体 (この場合は重み) を表し、元のステートメントのオブジェクトとして機能させることができます。そのリソースには、構造化された値の個々の部分を表すプロパティを与えることができます。この場合、10 進値を表す型付きリテラルのプロパティと、単位のプロパティが必要です。RDF は、構造化された値の主要な値 (存在する場合) を記述するために、事前定義された rdf:value プロパティーを提供します。したがって、この場合、型付きリテラルは rdf:value プロパティの値として与えられ、資源 exunits:kilograms は exterms の値として与えられます: units プロパティ (リソース exunits:kilograms が 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 ] .
于 2013-11-27T21:08:13.593 に答える