問題タブ [jena]

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.

0 投票する
1 に答える
6142 参照

owl - Jena を使用した推論

上記の例は、正式な Pizza.owl によって形成されます。このフクロウでは、例-マルゲリータはマルゲリータ クラスの個体です。ですから、フクロウファイルにはすでに書かれています。ただし、問題は、推論者がマルゲリータの例もベジタリアン ピザであると推論する必要があることです。Protege のように、個人の可能な推論クラスを見つける方法を示す例を誰か教えてください。

0 投票する
3 に答える
3177 参照

java - OWL/XMLの読み取りの問題

Jenaを使用してJavaからOWL/XMLファイルを読み取る際に問題が発生しました。

RDF / XMLファイルの読み取りに問題はありませんが、ProtegeからOWL / XMLファイルを作成して読み取ろうとすると、Javaは次のエラーを表示します。WARN[main](RDFDefaultErrorHandler.java:36)スレッド"main"の例外com.hp.hpl.jena.rdf.arp.impl.XMLHandler.endElement(XMLHandler.java:143)でのjava.lang.NullPointerException

RDF/XMLを取得するために使用するコードは次のとおりです。

このコードはRDF/XMLで完全に機能します。ただし、OWL/XMLを読み取ることができません。インターネットを見ても何も見つかりませんでした。誰かが私に道を教えてくれたら、本当にありがたいです。どうもありがとう

0 投票する
1 に答える
367 参照

java - 整数カーディナリティ制約を持つインスタンスを推測する際の問題

Protege 4.1 alpha を使用して RDF/OWL ファイルを作成しました。また、CheapPhone という Protege の定義済みクラスも作成しました。このクラスには、以下に示す制限があります。

電話の価格が 350 を下回る場合は常に、CheapPhone と見なされます。Protege 4.1 alpha では、これを推測するのに問題はありません。ただし、Jena を使用してこれを推測することはできません。

また、SmartPhone という名前の定義済みクラスも作成しました。このクラスには、以下に示す制限もあります。

電話に 3G とインターネットがある場合はいつでも、スマートフォンと見なされます。この状況では、Protege と Jena の両方でこれを推測しても問題はありません。

Jena のデフォルトの推論エンジンに問題があるのではないかと思い始めました。私が Java で使用するコードは以下のとおりです。

このコードは完全に機能し、インスタンスを返しますが、以下のコードを変更して、CheapPhone に適したものにすると、何も返されません。

私は何か間違っていますか?

0 投票する
4 に答える
702 参照

sparql - SPARQL-オントロジーを見つけるには何が必要ですか?

私はSPARQL、OWL、およびJenaにかなり慣れていないので、まったく愚かな質問をしている場合は失礼します。私は数日以来私を狂わせている問題を抱えています。次の文字列をJenaのクエリとして使用していますQueryFactory.create(queryString)

今朝までは、foaf名前空間からプロパティを要求するだけで機能していました。自分の名前空間からプロパティを要求するとすぐに、常に空の結果が得られました。私がこの質問をここに投稿しようとしていて、可能な限り正確に投稿できるようにいくつかの最終テストを行ったところ、突然うまくいきました。正確に何を求めるべきかわからなくなったので、投稿する前に質問を削除しました。数時間後、ProtegeのPelletプラグインを使用して、推測されたモデルを作成およびエクスポートしました。私はそれをhelloOwlInferred.owlと呼び、helloWl.owlがまだ存在するサーバー上のディレクトリにアップロードしました。推論されたオントロジーをロードするようにメソッドを調整し、接頭辞ho:が推論されたオントロジーにも割り当てられるように上記のクエリを変更しました。すぐに、何も機能しなくなりました。正確には、それはもはや機能するものではありませんでしたが、それは私が今朝まで私の元のクエリで持っていたのと同じ症状でした。私のプレフィックスはもう機能しませんでした。簡単なテストを行いました。すべてのhelloWorldInferred.owlファイル(サーバー上のプレフィックスとロードしたローカルコピーのファイル)の名前をhelloWorld.owlに変更しました。すべてを修正するのに十分奇妙です。

名前をhelloWorldInferred.owlに戻すと、すべてが再び壊れました。等々。そこで何が起こっているのですか?オントロジーが「有効なプレフィックスとして登録」されるまで、数週間待つ必要がありますか?

0 投票する
1 に答える
2304 参照

jena - jena にプロパティ値を追加する

個人にプロパティ値を追加するにはどうすればよいですか。「ラクナス」という新しい個体を作りました。その後、プロパティ値を追加する必要があります..

OntClass cul = model.getOntClass(" http://www.owl-ontologies.com/Ontology1275995702.owl#person ");

個人の ind = model.createIndividual(" http://www.owl-ontologies.com/Ontology1275995702.owl#laknath ",cul);

その個人 (ind) の下に URL を追加する必要があります。1 つまたは複数の URL がその人に属している可能性があります...どうすればそれを追加できますか:::

誰でも私に道を教えてもらえますか..

0 投票する
0 に答える
984 参照

jsp - jsp の jena パッケージ

Jena パッケージを JSP ページにインポートしました。

実行すると、エラーが表示されます:

どうすればこれを修正できますか?

0 投票する
1 に答える
632 参照

jsp - モデルにリテラル型を追加する

私は自分のモデルにデータ型のプロパティ値を追加しようとしました..それはうまくいきます..私がこのように書いたとき:

引数として渡すと:

エラーが発生します:

誰かがこれを解決するのを手伝ってくれますか...

ありがとう

0 投票する
1 に答える
4266 参照

owl - Jena による .owl ファイルへの OWL:imports の追加方法

私はイエナが初めてです。新しい OntModel を作成したいので、他のオントロジーをこのモデルにインポートする必要があります。ファイルに書き込むと、ファイルは次のようになると思います。

現在、他のオントロジーを jena によってモデルにインポートする方法がわかりません。誰でも私にアドバイスをもらえますか?

ありがとうございました

0 投票する
4 に答える
4811 参照

java - オントロジーからのJavaクラスの作成

私が書いているアプリのエンティティを表現するオントロジーファイル(RDF)があります。私はイエナを使用しており、トリプルを直接操作することで、コンセプトにアクセスしたり、リソースを作成/アクセスしたりできます。

物事を簡単にするために、オントロジーのリソースのタイプごとに1つずつ、Javaクラスのセットを作成しました。それらの継承とプロパティを念頭に置いて、例えば

オントロジーに2種類のリソースが含まれている場合、AgentおよびPerson、後者は前者のサブクラスです。

これらのクラスを作成するプロセス(およびそれらを抽出するメソッド)は非常に単調であることに気づきました。データベースでアプリケーションを作成している場合は、Hibernateの構成ファイルを使用して、詳細を処理します。

私の質問は、オントロジー(RDFファイル内)を入力として受け取り、上記の例のように、オントロジー内の概念を表すJavaファイルのセットを作成するツールはありますか?(または、イエナ自身がこれを行うことができ、私が何かを逃している場合)

ありがとう。

0 投票する
2 に答える
2774 参照

sparql - Jenaを使用してリモートRDFエンドポイントをクエリ/更新するにはどうすればよいですか?

httpを介してリモートエンドポイントに更新を送信したいと思います。私は、定石がそのようなエンドポイントとして機能することを発見しました。

ただし、エンドポイントのURIしかわからない場合、このエンドポイントに更新クエリを送信するにはどうすればよいですか?

それ以外の場合は、URIのみがわかっているエンドポイントに対してリモート更新クエリを実行する方法を聞きたいです。

更新: 最終的に地元のイエナに頼った。この種のRDFエンドポイントは、挿入ステートメントと削除ステートメントを受け入れます。クエリの変更を受け入れるリモートRDFエンドポイントを見つけることに成功しませんでした。