例として、特定の会社のビジネスに関する情報を含むオントロジーのコンパイルを始めましょう。 この会社には、あらゆる商業組織と同様に、サプライヤーとバイヤーがいます。 どちらも組織であり、同じ組織がサプライヤーとバイヤーの両方になることができます。 制御された英語で対応する式を記述します。
すべての顧客は組織です。
すべてのサプライヤーは組織です。
キーワード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の専門家ではない人にはるかに適しています。 しかし、実際には、オントロジーに含まれるべき用語に関する情報は、まさにそのような人々、つまり、情報技術ではなく、管理、生産の分野の専門家によって所有されています。