2016-10-05 3 views
1

個体(インスタンス)がオブジェクトプロパティを持つクラスに接続する方法はありますか?たとえば、この場合の個人はモジュール名:Webプログラミングです。オブジェクトプロパティ:isClassified。クラス:ネットワーク。Protegeのオブジェクトプロパティを持つクラスに個別に接続できますか?

Webプログラミングをクラスとして定義しようとしましたが、ドメインと範囲が両方のクラスであるために機能します。私が両方のWebプログラミング&ネットワークを個人として定義すれば同じですが、それは機能します。ドメインがクラスであり、範囲が個別である場合、それはまだ機能します。しかし、ドメインが個別で範囲がクラスの場合はどうなりますか?私はそれをオブジェクトプロパティに接続する方法はありますか:isClassifiedIn?

答えて

1

ProtégéはOWL 2 DLエディタ(バージョン4以降)です。 OWL 2 DLでは、個人はクラスになることはできず、オブジェクトのプロパティは個人を個人にのみ関連付ける必要があります。だからあなたが望むものは、あなたがそれを公式化する方法で表現することはできません。ただし、次の2つのことができます。

  1. オブジェクトプロパティではなくアノテーションプロパティを使用します。これは理想的ではないかもしれません。なぜなら、OWL DLの推論者は推論プロセスで注釈のプロパティを無視しなければならないからです。それらはまさにそれです:アノテーションは、プログラミングコードのコメントに似ています。
  2. 個人をクラスと同じ名前の別の個人に関連付けます。これについての詳細を教えてください。 OWL 2 DLにおいて

、個体はクラスすることは可能ではないが個人名が同時にクラス名であるために、それが可能です。例えば、一つは(タートル構文で)言うことができます:クラスとは関係ありません

ex:Module a owl:Class . 
ex:Network a owl:Class, owl:Thing . 
ex:isClassified a owl:ObjectProperty . 
ex:webProgramming a ex:Module; 
    ex:isClassified ex:Network . 

注ここex:webProgrammingこと。これは、タイプowl:Thingの個人に関連しています。この個人は同じ名前を持っていますが、ex:Networkという名前のクラスでは先験的に何もしません。これは、OWL 2の仕様では "punning"と呼ばれています。

3つ目の方法があります。この問題が発生しないように知識モデルを変更します。私はあなたのオントロジーを知らないが、が避けるべき反パターンを示唆することができる。

+0

お返事ありがとうございます、ごめんなさい、遅すぎる返信があります – Gan

関連する問題