5

私は最近、Webオントロジー言語(OWL)の学習を始めました。独自に定義した値の範囲でDataPropertyを定義したいと思います。次のプロパティを検討してください。

  <owl:DatatypeProperty rdf:ID="myProperty">
     <rdfs:domain rdf:resource="#MyDomain"/>
     <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/>
  </owl:DatatypeProperty>

プロパティの範囲はdouble値ですが、プロパティが0から1までのdouble値のみを受け入れるようにするために、範囲を制限したいと思います。データプロパティの独自の範囲を定義する方法を教えていただければ幸いです。

4

1 に答える 1

15

ここに行きます(簡潔にするために、RDF / XMLではなくTurtleで):

:myProperty  a  owl:DatatypeProperty;
    rdfs:domain  :MyDomain;
    rdfs:range  [
        a  rdfs:Datatype;
        owl:onDatatype  xsd:double;
        owl:withRestrictions ( [xsd:minInclusive 0] [xsd:maxInclusive 1] )
    ] .

精度に制限があり、から素であるため、xsd:decimalの代わりに使用することをお勧めします。これにより、、などからも素になります。xsd:doublexsd:doublexsd:decimalxsd:integerxsd:int

更新: RDF / XMLでは、次のように対応します(Turtleと比較してどれほど厄介かを見てください):

<owl:DatatypeProperty rdf:about="#myProperty">
    <rdfs:domain rdf:resource="#MyDomain"/>
    <rdfs:range>
        <rdfs:Datatype>
            <owl:onDatatype rdf:resource="&xsd;double"/>
            <owl:withRestrictions rdf:parseType="Collection">
                <rdf:Description>
                    <xsd:minInclusive rdf:datatype="&xsd;double">0</xsd:minInclusive>
                </rdf:Description>
                <rdf:Description>
                    <xsd:maxInclusive rdf:datatype="&xsd;double">1</xsd:maxInclusive>
                <rdf:Description>
                </rdf:Description>
            </owl:withRestrictions>
        </rdfs:Datatype>
    </rdfs:range>
</owl:DatatypeProperty>

しかし、テキストエディタを使用してRDFを直接記述している場合は、Turtleの使用法を実際に学ぶ必要があります。これは、RDF/XMLよりもはるかに単純で簡潔です。あなたは本当にトリプルを見ることができます。そして、それはまもなく標準になるでしょう。W3C候補勧告への移行が差し迫っています。

** 2017年10月3日更新:タートルは2014年2月に標準化されました。JSONに基づくRDFの表記を好む場合は、別のW3C標準であるJSON-LDもあります。

于 2013-01-05T16:19:58.533 に答える