0

OWLオントロジー言語で「一部」のSQL関係を表す方法は? 例えば:

CREATE TABLE DevelopmentTask (
 DevelopmentTaskID INT,
 SoftwareProjectID INT FOREIGN KEY REFERENCES SoftwareProject (SoftwareProjectID),PRIMARY KEY(DevelopmentTaskID, SoftwareProjectID))

上記の表では、DevelopmentTask テーブルは SoftwareProject の一部です。これをOWLでどのように表現できるかというと、OWLのintersectionOfプロパティを使用して表現できるかもしれません。

ありがとう、

4

3 に答える 3

4

正確に何を表示する必要があるかに応じて、ObjectProperty または DataTypeProperty を簡単に導入できます。たとえば、次のように紹介します。

hasDevelopmentTask

そして、次の制限を追加します。

SoftwareProject hasDevelopmentTask some DevelopmentTask

「一部」の制限も、関係によって異なります。1-n の場合、この関係が成り立ちます。それ以外の場合は、"min"、"max"、"exactly"、または "only" に置き換えます。

また、あなたの例にはIDが含まれているため、それらをSoftwareProjectまたはDevelopmentTaskのインスタンスまたは個人として追加します。この場合、SoftwareProject のすべてのインスタンスには「何らかの」 DevelopmentTask があります。

于 2013-05-31T10:31:59.207 に答える
3

別の回答が述べたように、単にプロパティhasDevelopmentTaskまたは同様のものを作成できます。将来、物事をもう少し複雑にする予定がある場合 (たとえば、ソフトウェア プロジェクトに開発タスクがあり、開発タスクが (サブ) 開発タスクである場合など)、W3C Working OWLオントロジーのドラフト、単純な部分全体の関係。

于 2013-05-31T13:26:28.817 に答える
3

まず、いくつかの理論

OWL は、リレーションを定義するための組み込みプリミティブを提供しませんpart-whole(W3C ワーキング ドラフトで説明されているように)。

ただし、 OWLとそのを使用してpart-of(およびその他の 以外の) 関係を表すことができます。is-aobjectPropertiesrestrictions

したがって、あなたのケースでは、コンセプトDevelopmentTaskをコンセプトSoftwareProjectの一部として定義したいと考えています。

この場合、次のことを行う必要があります。

  1. owl:Classfor each コンセプト (この例では 2 つのクラス) を作成します。
  2. owl:ObjectProperty関係partOfとその制限を表すを作成します。
  3. 部分クラスを拡張して、そのプロパティのクラス全体subClassOfからの値を制限します。

次に、RDF/XML 構文

それをRDF/XML構文でOWLオントロジーとして表現すると、最終的なレイアウトは次のようになります。

<owl:Class rdf:about="SoftwareProject"/>

<owl:ObjectProperty rdf:about="partOf"/>

<owl:Class rdf:about="DevelopmentTask">
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="partOf"/>
      <owl:someValuesFrom rdf:resource="SoftwareProject"/>
    </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>
于 2015-03-01T05:51:39.113 に答える