問題タブ [owl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
class - RDF/OWL/Protege: サブクラスをいくつかのバラバラなスーパークラスの和集合にしますか?
次のクラスがあります。クラス B、C、D は A のサブクラスです。
その上、オブジェクト プロパティhasObjectPropertyと、X、Y、Z の他のいくつかのクラス があります。X、Y、Z は互いに素なクラスです。
次に、クラス B、C、および D に次のように制限を設定します (ここでは、Protege でも使用されているマンチェスター OWL 構文を使用しますhttp://www.co-ode.org/resources/reference/manchester_syntax/ )
ここでの問題は、クラス B と C のみの結合であるクラス E をどのように説明できるかということです。クラス B とクラス C (ただしクラス D ではない) の両方になることができるクラスをどのように説明できますか?
可能ですか?
クラス E の制限をこのように定義しようとしました。しかし、Reasoner はそれを無効と判断します。
どうもありがとう!
graph - jena を使用してオントロジー (フクロウ) をロードし、そのグラフを表示する
オントロジー (ユーザーが選択) を .owl 言語でロードし、そのグラフをツリー メニューとして表示する必要があるプロジェクトで作業しています。これは、オントロジーが任意のサイズになる可能性があることを意味します。
目標は、学習オブジェクトを分類できる分類法を示すことです。
現時点では jena を使用してオントロジーを読み込むことができますが、ツリー メニューを構築するために適切な方法でグラフを表示するにはどうすればよいでしょうか。
ありがとう
java - ルールエンジンによる検証
テキストベース(XMLなし)のメッセージを処理します。私たちの目標はメッセージを検証することです。内容が正しければメッセージは有効です。メッセージのルールを表現するために、XMLで定義された独自の言語を開発しました。より複雑なルールを追加する必要があり、今度は他の代替案を検討して実際のルールエンジンを使用するときが来たと思います。これらのタイプのルールをサポートします。
- 値のリストまたは正規表現の名前ex{SMITH、MOORE、A *}
- メッセージに名前があります-
- メッセージに名前がありません
- if条件thenname= John else name = Jane 条件は単純であり、論理演算子が含まれていないことに注意してください。
これらのタイプのルールをサポートする必要があります。
- if then elseしかし、条件に論理演算子が含まれている
- for ...ループ:
- メッセージ内のすべてのお客様には、米国から少なくとも1つ、フランスから少なくとも1つが必要です。
- メッセージに含まれるすべての顧客に対して、米国からの顧客で、年間1000ドル以上を購入している顧客が少なくとも5人必要です。
- Johnという名前の顧客の場合、姓はDoeである必要があります
- John<15という名前の顧客の総数
- 会社の名前は、メッセージ内の別の場所にある会社の名前と同じです。
ルールは、処理するメッセージの種類によって異なります。そのため、次のようないくつかの既存のソリューションを調査していました。
- ジェス
- OWL(整合性チェック)
- Schematron(メッセージをXMLに変換することにより)
Javaで開発することを考えると、最良の選択肢は何でしょうか。考慮すべきもう1つのことは、エラーの説明、エラーの場所(行と列の番号)などのエラー報告を実行できる必要があるということです。
ontology - プロパティのminCardinalityを取得するには?
ジーナを使用しています。プロパティの minCardinality を取得するにはどうすればよいですか?
java - Jena によるオントロジーにトリプルを追加するにはどうすればよいですか?
私はinstance1
とclass1
をinstance2
持っていclass2
ます。HasName(object property)
また、オントロジーで定義しました。さて、どうすればトリプル ( instance1 HasName instance2
) を jena のオントロジーに追加できますか?
java - jena を使用して事前定義されたオントロジーを変更する
Protege によってオントロジーを作成しました。私のオントロジーにはいくつかのクラスとインスタンスがあります。jena で他のクラスとインスタンスを追加するので、以下のコードを記述して、このクラスに新しいクラスと 1 つのインスタンスを作成します。新しいクラスの名前は「person」、新しいインスタンスの名前は「base」です。このコードをJavaで実行すると、エラーなしで動作し、クラスとインスタンスが作成されます。しかし、プロテジに戻ると、新しいクラスと新しいインスタンスが表示されません。私を助ける考えはありますか。ありがとう
string - OWL: プロパティ値を数値文字列に制限する
私のデータベースには、文字列プロパティを持つものがあります。一部のプロパティ値は、数値文字列 (数字のみを含む) と一致します。これらのものに特別なタイプ (サブタイプ) を与えたいと思います。そんなことがOWLで可能なのでしょうか?
owl - OWL 普遍的定量化
私はOWL2 入門書を半分読んでいて、普遍的な定量化を理解するのに問題があります
与えられた例は
すべての子供が幸せな人であれば、その人は幸せな人であると言えます。しかし、John Doe に子供がいない場合、彼は HappyPerson のインスタンスになることができるでしょうか? 彼の親はどうですか?
また、この部分は非常に紛らわしいと思います。
したがって、上記のステートメントにより、子供がいない人はすべて幸せであると見なされます。
しかし、それは ObjectAllValuesFrom() コンストラクターに違反していませんか?
owl - OWLのEquivalentClassとSubClassOf
のEquivalentClassとSubClassの違いは何ですか?OWL入門書を読んでいると、チュートリアルでは次のようにSubClassOfを頻繁に使用して新しいクラスを宣言していることがわかります。
書けますか
代わりは?