CeBITで、ポーランドの企業Cognitumの代表者と会いました。CognitumはOntorionセマンティックフレームワークを開発しています。 このフレームワークの最も重要な部分は、オントロジーエディター
Fluent Editorです 。これは、私にとって素晴らしいレビューに値するように思えました。 Fluent Editorの主な利点は、OWL構文についてまったく知らない人向けにOWLオントロジーを作成できることです(ただし、その概念とモデリング情報構造についてはまだ把握している必要があります)。 オントロジーは、自然言語である統制英語で作成されます。つまり、特定のルールと制限が適用される平易な英語で作成されます。 この言語の主な構文機能の概要を説明します。その主な式がOWLに保存されるフォームを見ることを忘れないでください。
例として、特定の会社のビジネスに関する情報を含むオントロジーのコンパイルを始めましょう。 この会社には、あらゆる商業組織と同様に、サプライヤーとバイヤーがいます。 どちらも組織であり、同じ組織がサプライヤーとバイヤーの両方になることができます。 制御された英語で対応する式を記述します。
すべての顧客
は組織です。
すべてのサプライヤー
は組織です。
キーワードFluent Editorは青色で強調表示されていますが、私は太字で強調表示しています。 入力プロセス中に、エディターは文法的に正しくない表現についてヒントを与え、警告します。
組織、サプライヤ、バイヤーがクラスであるという事実を明示的に宣言する必要はないことに注意してください。編集者自身がコンテキストからそれを推測します。 クラスの準備ができました。個々のエンティティを宣言できるようになりました。
アルファ
は顧客です。
アルファ
はサプライヤーです。
ベータ版
は顧客です。
編集者は、アルファとベータが「サプライヤー」と「顧客」のクラスに属する個々のエンティティであることを理解します。
オントロジーをOWLファイルに保存すると、次のようになります:
<SubClassOf> <Class IRI="Customer" /> <Class IRI="Organization" /> </SubClassOf> <SubClassOf> <Class IRI="Supplier" /> <Class IRI="Organization" /> </SubClassOf> <ClassAssertion> <Class IRI="Customer" /> <NamedIndividual IRI="Alpha" /> </ClassAssertion> <ClassAssertion> <Class IRI="Supplier" /> <NamedIndividual IRI="Alpha" /> </ClassAssertion> <ClassAssertion> <Class IRI="Customer" /> <NamedIndividual IRI="Beta" /> </ClassAssertion>
サプライヤーは当社に材料とスペアパーツを供給し、顧客は当社の製品を購入します。 適切なクラスを定義します。
交換可能な部品
は すべて製品です。
すべてのサプライヤーは
、少なくとも1つの製品を供給
します。
すべての顧客が
少なくとも1つの製品を購入
します。
ご覧のように、商品とスペアパーツの役割に応じて「サプライヤー」と「バイヤー」の役割を定義することができました。 OWLでは、上記のコードの2行目は次のように反映されます:
<SubClassOf> <Class IRI="Supplier" /> <ObjectMinCardinality cardinality="1"> <ObjectProperty IRI="supplies" /> <Class IRI="Product" /> </ObjectMinCardinality> </SubClassOf>
ここで、特定の製品とスペアパーツを定義し、請負業者との重要な関係がどのように構築されるかについて説明します。
オイル
は製品です。
ベータ版はオイルを購入します。
ポンプ
は交換可能な部品です。
アルファはポンプを供給します。
書かれた内容に混乱しないように、Fluent Editorは分類法ツリーを示します。
エディター自体がさまざまな形式の動詞を翻訳することに注意してください。 テキストではサプライを記述し、分類ツリーでは対応する用語をサプライと呼びます。 彼は不規則動詞の友達でもあります。
Controlled English構文により、クラス間のさまざまな制約と関係を定義できます。
交換可能な部品で
ある すべての単一のものは、 少なくとも1つのサプライヤー
によって供給
されます。
if-and-only-if-itがサプライヤ
であり 、交換可能な部品
を提供する
だけのもの であり、組織です。
何かは、 もしそれが
唯一の場合 は製品
を購入する
だけの顧客
であり、組織です。
属性を追加します。 組織には名前、TINなどがあります。 2つの属性を定義し、組織「Alpha」の値を示します。 もちろん、値はリテラルになります。
すべての組織は、-name
nothing-but(some-string-value)を持ってい
ます 。
すべての組織には、税金番号
がありますが(整数値)があります。
アルファは「Alpha、LLC」に
等しい名前を持ちます。
アルファの納税者番号
は 6671123456です。
OWLでは、これらのフレーズは次のように翻訳されます:
<SubClassOf> <Class IRI="Organization" /> <DataAllValuesFrom> <DataProperty IRI="hasName" /> <Datatype abbreviatedIRI="xsd:string" /> </DataAllValuesFrom> </SubClassOf> <ClassAssertion> <DataSomeValuesFrom> <DataProperty IRI="hasName" /> <DataOneOf> <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#string">Alpha, LLC</Literal> </DataOneOf> </DataSomeValuesFrom> <NamedIndividual IRI="Alpha" /> </ClassAssertion>
もちろん、Controlled English構文の可能性はこれに限定されませんが、私たちのタスクはエディターの利点の短いレビューに過ぎません。 構文の詳細な説明は、エディターのドキュメントに記載されています。
Hermitはエディターに組み込まれているため、オントロジーに含まれる情報について「質問する」ことができます。 たとえば、この例では、Alphaオブジェクトとは何かを知ることができます。
アルファとは
?ハーミットは答えます:アルファは顧客、サプライヤー、組織です。
Ontorionフレームワークの他のコンポーネントの機能も同様に興味深いものですが、レビューの範囲を超えています。
主なものは、オントロジーを作成するための素晴らしいアクセス可能なツールを得たことです。これは、TopBraid ComposerやProtegeよりもITの専門家ではない人にはるかに適しています。 しかし、実際には、オントロジーに含まれるべき用語に関する情報は、まさにそのような人々、つまり、情報技術ではなく、管理、生産の分野の専門家によって所有されています。