1

クラスがあるとします:

> Element
> ElementProperty

のサブクラスは次のelementPropertyとおりです。

> AtomicNumber
> AtomicMass

次のオブジェクト プロパティとそのドメインと範囲も考慮してください。

> hasElementProperty
  Domain:Element
  Range:ElementProperty

hasElementProperty次のサブプロパティがあります。

> hasAtomicNumber
  Domain:Element
  Range:AtomicNumber
> hasAtomicMass
  Domain:Element
  Range:AtomicMass

このように、クラスのインスタンスである:Lithium :hasAtomicNumber :3トリプル:Lithium :hasElementProperty :3が推論されると言った場合。:3AtomicNumber

では、data プロパティがあり、トリプルがあるときにトリプルが推論されるhasElementNameようにしたい場合を考えてみましょう。これは、データ プロパティであるため、現在設定している方法では不可能であり、オブジェクト プロパティのサブプロパティにすることはできません。リテラル具体化 (リテラル具体化を参照) を使用して成功しましたが、リテラル具体化の目的はリテラルをオブジェクトとして使用できるようにするためであり、それは私がする必要があることではないため、これを行うためのより良い方法があるように感じます。どんなアイデアでも大歓迎です。:Lithium :hasElementName "Lithium":Lithium :hasElementProperty "Lithium"hasElementNamehasElementProperty

ありがとう

4

1 に答える 1

3

これは OWL 2 DL では不可能であり、OWL 2 FULL でのみ可能です。つまり、推論ツールやツールがオントロジーについて文句を言うか、予期しない結果が得られる可能性があります。

アプリケーションで同じプロパティの下にあるすべての値を収集する必要がある場合は、文字通りの具体化を使用し続けます。これが、目的の結果を得る最も簡単な方法のようです。

于 2016-02-16T07:27:13.230 に答える