問題タブ [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.
java - エンドポイントとしてdbpediaを使用してjena(sparqlの場合)にタイムアウトを追加しますか?
Jenaを使用してdbpediaを介してsparqlクエリを実行し、 http: //dbpedia.org/sparqlで指定されているタイムアウト設定を使用する方法があるかどうかを知りたいです(このページを表示すると、そこでタイムアウトを設定する方法)、これが必要なのは、大きなクエリを実行したいので、タイムアウトを設定しないと結果を取得できないことを(ページを介して)何度か試したためです(これは常にトランザクションタイムアウトの例外です) )。
編集:私はJavaを使用しています。
java - DBpedia ページの rdf バージョンを Jena で処理するには?
すべての dbpedia ページで、たとえば
http://dbpedia.org/page/アイルランド
RDF ファイルへのリンクがあります。私のアプリケーションでは、rdf コードを分析し、いくつかのロジックを実行する必要があります。dbpedia SPARQL エンドポイントに頼ることもできますが、rdf コードをローカルにダウンロードして解析し、それを完全に制御することを好みます。
JENAをインストールし、コードを解析して、たとえば "geo:geometry" というプロパティを抽出しようとしています。
私は試しています:
モデルにクエリを実行して必要な情報を取得するにはどうすればよいですか?
たとえば、ステートメントを取得したい場合:
または
正しいフィルターとは?
どうもありがとう!ムロン
model - Jenaフレームワークを使用してオントロジーに基づいてメモリ内モデルをロードする方法は?
Jenaフレームワークを使用したオントロジーから、オントロジーで定義されたものとまったく同じセマンティクスを取得するモデルをロードする方法を考えています。 オントロジーモデル、クラスなどで作業する可能性を提供するJeanオントロジーAPIについて知りました。
次に、次の例を示します。
することが可能です:
ただし、次のようにOntClassまたはResourceを通過せずに、DigitalCameraクラス/インスタンスを直接取得するために検索しています。
次に、そのカメラの特定のプロパティを検索するときに、そのカメラに直接アクセスして、DSLのようなデータのセマンティクスに焦点を合わせ続けることができます。イエナは、どんなオントロジーを表すこの種の専用の(生成された?)フレームワークを提案しますか?
ありがとう
java - Jena、DBpedia: RDF とモデル名
アプリで dbpedia を使用しており、セマンティック ロジックに Jena を使用しています。
Jena では、クラスは次のとおりです。
モデル: 一連のステートメント http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/model/Model.html リソース: http://jena.sourceforge.net/javadoc/com/hp /hpl/jena/rdf/model/Resource.html
dbpedia では、リソースの rdf コードは次のとおりです。たとえば、http://dbpedia.org/resource/Frederick_of_Sweden はhttp://dbpedia.org/data/Frederick_of_Sweden.rdf になります。
私が電話した場合:
「http://dbpedia.org/data/Frederick_of_Sweden.rdf」という名前のモデルが作成されます。しかし、rdf ステートメントと一致させるために、実際には「http://dbpedia.org/resource/Frederick_of_Sweden」と呼ぶ必要があります。モデルに名前を付けるにはどうすればよいですか?
グラフをナビゲートして他のノードに到達したい場合、これらのステートメントを格納する最良の方法はどれですか? dbpedia リソースごとに個別のモデルが必要ですか、それともすべてのステートメントを 1 つの大きなモデルにマージできますか?
ヒントをありがとう!ムロン
jena - 入力ファイルからの読み取り中にjenaプログラミングエラーが発生しました.rdf.......ガイドしてください
入力されるエラー
スレッド"main"java.lang.NoSuchMethodErrorの例外:com.hp.hplのcom.hp.hpl.jena.util.LocatorFile.open(LocatorFile.java:118)のorg.slf4j.Logger.isTraceEnabled()Z。 jena.util.FileManager.openNoMapOrNull(FileManager.java:527)at com.hp.hpl.jena.util.FileManager.openNoMap(FileManager.java:510)at com.hp.hpl.jena.util.LocationMapper.initFromPath( LocationMapper.java:132)at com.hp.hpl.jena.util.LocationMapper.get(LocationMapper.java:61)at com.hp.hpl.jena.util.FileManager.makeGlobal(FileManager.java:116)at com .hp.hpl.jena.util.FileManager.get(FileManager.java:82)at sample.ReadRDF.main(ReadRDF.java:17)
rdf - ノード間のパスの長さを計算しますか?
2 つのノード間のパスの長さを取得するにはどうすればよいですか? たとえば、組織階層が与えられた場合、親組織と子孫組織がどの程度離れているかをどのように判断できますか? 次のシナリオを検討してください。
OrgA -hasSubOrganization-> OrgB, OrgC
これは、エンティティの直接のサブ組織をすべて取得したいという非常に単純なケースです。したがって、パスの長さは 1 です。
OrgA -> OrgB -> OrgC
または一般的な場合
/li>
グラフを再帰的に走査し、プロパティを通じて別の組織に属する各組織を見つけたいと考えていhasSubOrganization
ます。すべてのサブ組織を再帰的に取得するには、次の演算子などのプロパティ パスを使用できます。+
これにより、葉ノードに至るまでのすべてのサブ組織が表示されます。しかし、私の最終的な目標は組織階層を構築することですが、「サブ組織から離れたノード/ステップ/レベル/ホップの数」に関する情報は失われています。これは、ビジュアライゼーションの組織構造を再作成できないことを意味します。
サブ組織の名前に加えて、「離れたノード数」の情報を取得するにはどうすればよいですか?
rdf - Notation3をデータベースにロードする
Notation3ファイルで表されるトリプルをどのように解析してデータベースにロードしますか?私はJenaとSesameにある程度精通していますが、これらは完全なNotation3ではなく、RDFまたはTurtleを処理するように調整されているように見えました。
N3を処理するための堅牢なツールは比較的少ないことがわかりました。私が見つけたいくつかはここにリストされており、基本的なコマンドラインアクションのみを実行でき、標準のパッケージ化、配布、またはメンテナンスがないように見える大まかなPythonスクリプトのみで構成されています。デフォルトのPythonライブラリはあるように見えますnotation3.py
が、そのホームページは1つも見つかりませんでした。また、インターネット上に数十の異なるバージョンが散在していることがわかりました。
たとえば、植物分類を表す次のN3があるとします。
これ(および場合によっては数千の同様のレコード)をデータベースにロードして、「2010年に一般的なスペイン語の名前を含むレコードを誰が転記したか」などの任意のクエリを実行できるようにしたい。または「X属に関連する平均的な花の色は何ですか?」
これは現在、現在のセマンティックWebツールとN3で行うのが実用的ですか?
jena - 推論のルールを変更する方法
Jena フレームワークで Eclipse を使用して Web アプリケーションを開発しています。私のアプリケーションは次のことを行います。
名前、電子メール、興味(C言語、Javaなど)、職業、ユーザー名、およびパスワードの情報を使用して、新しいユーザーを登録します。
この情報は、user.rdf という名前の rdf ファイルに保存されます。
新しい希望のユーザー名とパスワードを使用して、新しいユーザー アカウントが作成されます。新しいユーザーがログインすると、ユーザーの興味に応じて、データベース内のすべての関連書籍が開きます。
ここで、新しいユーザーに次のことを推奨する必要があります。
彼/彼女が C 言語に興味がある場合は、C++ の本が彼に推奨され、リストが画面に表示されます。
これには、事実とルールを必要とする推論エンジンが必要であることを私は知っています。事実は、ユーザーの関心を格納する rdf ファイルになります。ルール ファイルは、推奨事項が実行されるときにルールに基づいて表示されます。
次の内容の user.rdf ファイルがあります。
ユーザー Suresh と Anvika は実際には Protege で作成されたもので、ファイルはアプリケーションを介して他のユーザーの詳細で更新されます。
test.rules ファイルには以下が含まれます。
出てくる推論は
今、行が原因で
推論は、LikeC++ の Anvika の推奨事項をユーザーに提供します。しかし、C 言語にも関心があるユーザー Raj にも同じことが欠けています。この行により、ユーザー Anvika のみが推測されていることがわかりました。しかし、この行は Protege によって自動的に追加されました。私のプログラムはそれをしません。では、アプリケーションを介してその行を追加するにはどうすればよいですか。これが不可能な場合は、ルールを変更して正しい結果を推測する方法を教えてください。
私を助けてください。私は長い間これに打たれました。