問題タブ [owl-api]
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.
owl - OWLでの時間情報モデリング
私は時間オントロジーを発見し、時間と日付のモデル化にどのようにアプローチしたかを見ました。オントロジーのすべてのモデリング要素または公理の作成にタイムスタンプを付ける方法があるかどうか疑問に思っていましたか? たとえば、個人として「Fred」を追加した後、その作成にタイム スタンプを付けるオントロジー オーサリング ツールはありますか?
または、これを自動化する方法を考えられますか?
私はOWL APIを直接使用しています。そこで、システムから日付と時刻の変数を読み取ることができ、時間オントロジーのようなプロパティ (:hour、:day など) があれば、システムの情報を追加してこれらのフィールドに入力できると考えました。それは良い考えのように聞こえますか?または、これに対するよりインテリジェントな方法はありますか。
私は、より効率的であり、些細な情報の提出でユーザーをそれほど悩ませない例を探しています。
jena - OWLAPI のオントロジーを同じ IRI とマージする
私は通常、オントロジーを 2 つの異なるファイルに保存します。
最初のオントロジー ファイルには、クラス、サブクラス、データ プロパティ、およびオブジェクト プロパティが含まれます。
すべての個人と個人間の関係を含む 2 番目のファイル。
したがって、完全なモデルを作成するには、これら 2 つのファイルをマージする必要があります。owlapiを使用してこれをどのように達成できるのだろうか?
Jena では、次のようにします。
同様に、owlapi を使用してオントロジー ファイルをロードしようとすると、次のエラーが発生します。
エラー:
アップデート:
結局のところ、オントロジーのマージは異なる IRI を持つものでのみ可能であり、したがって、オントロジーを同じ IRI を持つ 2 つに分割することは受け入れられないと思います。これに対する解決策 (Joshua のコメントによる) は、1 つのオントロジーからすべての個体と公理を読み取り、それらを既に読み込まれているオントロジーに追加することです。
個別の IRI のマージを伴うオントロジーの場合、次のように実行できます (例は Ignazio のOWLED 2011 スライド - スライド番号 27 を参照):
semantic-web - OWL APIを使ってクラス名や個体名を取得する方法
OWLClass を取得して情報にアクセスできます。クラスと個人は接頭辞と一緒です。
プレフィックスを取り除く方法はありますか?
例えば:
印刷:
<http://www.co-ode.org/ontologies/ont.owl#Mon>
<http://www.co-ode.org/ontologies/ont.owl#Dad>
私が欲しいのはただMon
Dad
更新:
Ignazio に感謝します。鍵はメソッド
にあることがわかりました。getIRI()
semantic-web - ペレット+オウラピで個人の最も具体的なクラスを見つける方法
オントロジーとペレット推論で分類を行いたいです。ペレットには、個人に最も固有のものを見つけるための関数(つまり、realization())があります。私は試しましたが、うまくいきません。誰か助けを提供したり、いくつかの例を教えてください。
たとえば、HavingDrink はアクティビティ クラスの 1 つです。ここで、個人とその ObjectProperty を作成します。
HaveDrink クラスを返すはずですが、そうではありません。
owl - Protegé よりもスタンドアロン Java アプリケーションで HermiT が遅いのはなぜですか?
HermiT 1.3.8.3 を使用して、Protege (4.1 および 5.0) 内と OWL API 3.5 を使用して開発している Java アプリケーションの両方で、OWL オントロジー (230 クラス、21 オブジェクト プロパティ、30 インスタンス、および 30 SWRL ルール) を推論しています。 .0.
問題は、Protege HermiT では、オントロジーを分類して実現するのに 225 秒かかるのに対し、私のアプリケーションでは、まったく同じオントロジーでタスクを実行するのに 2 倍または 3 倍の時間を費やしていることです。それに加えて、Protege の DL-query タブが数秒で応答するクエリは、アプリケーション内で応答するのに数分かかります (クエリに相当する OWLClassExpression を作成し、それを HermiT の理由にするという手法を使用します)。
なぜそれが起こっているのか誰か知っていますか?それは推論の設定の問題ですか、それともそのようなものですか?
ありがとうございました!
java - OWL API Reasoner.getTableau が NullPointer をスローする
私はフクロウのAPIで簡単なことをしようとしています。このために、オントロジーを作成し、いくつかのクラスと SubClassOf Axioms を作成しました。この後、Reasoner Hermit を使って何かをしようとします。しかし、hermits メソッドの 1 つを呼び出すと、Null Pointer Exception が発生します。これは私の実際の例です:
しかし、常に例外が発生し、常に getTableau 呼び出しで終了します
この例外の原因がわかりません。同様のケースがどこにも見つかりませんでした。
こんにちは、ダニエル