3

OWLオントロジーには、クラスA、B、C、および公理(DL表記)があります。

A ⊑ (B ⊓ C)

またはおおよそのマンチェスター OWL 構文:

subClassOf ( BおよびC)

A が B のサブクラスであり、A が C のサブクラスであることは論理的に真ですが、トリプル

A rdfs:subClassOf B
A rdfs:subClassOf C

OWLオントロジーのRDFシリアル化に必ずしも存在するとは限りません。たとえば、Protégé でのこの非常に単純なオントロジーと、RDF/XML および Turtle でのその RDF シリアライゼーションについて考えてみましょう。

ここに画像の説明を入力

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://stackoverflow.com/q/19924861/1281433/sample.owl#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  <owl:Ontology rdf:about="http://stackoverflow.com/q/19924861/1281433/sample.owl"/>
  <owl:Class rdf:about="http://stackoverflow.com/q/19924861/1281433/sample.owl#C"/>
  <owl:Class rdf:about="http://stackoverflow.com/q/19924861/1281433/sample.owl#B"/>
  <owl:Class rdf:about="http://stackoverflow.com/q/19924861/1281433/sample.owl#A">
    <rdfs:subClassOf>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="http://stackoverflow.com/q/19924861/1281433/sample.owl#B"/>
          <owl:Class rdf:about="http://stackoverflow.com/q/19924861/1281433/sample.owl#C"/>
        </owl:intersectionOf>
      </owl:Class>
    </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
@prefix :      <http://stackoverflow.com/q/19924861/1281433/sample.owl#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<http://stackoverflow.com/q/19924861/1281433/sample.owl>
        a       owl:Ontology .

:B      a       owl:Class .

:C      a       owl:Class .

:A      a                owl:Class ;
        rdfs:subClassOf  [ a                   owl:Class ;
                           owl:intersectionOf  ( :B :C )
                         ] .

シリアル化には のトリプルrdfs:subClassOfがありますが、オブジェクトは:Bまたは:Cではないため、次のようなクエリ

:A rdfs:subClassOf ?superclass

のスーパークラスを返しません:A。のスーパークラスを返す SPARQL クエリを作成するにはどうすればよい:Aですか?

4

1 に答える 1