問題タブ [arq]
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 - 結果のないJena/arqリクエスト
セマンティックWebアプリケーションを作成していますが、Jenaに問題があります。パラメータ化されたクエリを実行したいのですが、結果がありません。
次のコードは私のクエリを示しています。
そして、これは私のオントロジーの一部です:
java - TDB を利用した Jena データセットのサイズを縮小するにはどうすればよいですか?
私は単純な Jena データセットを使用しています。このデータセットには、〜 30 MB の RDF ファイルが 1 つしかインポートされていません。アプリケーションの一部として、ユーザーがデフォルト グラフ (または名前付きグラフ) をクエリし、クエリの結果のトリプルを新しい名前付きグラフに挿入できるようにしようとしています。このため、CONSTRUCT ステートメントを使用してトリプルの結果セットを RDF 形式で形成し、これらのトリプルを (QueryExecution.execConstruct() を使用して) 新しいモデルに入れ、このモデルをデータセットに追加します。これは、データセットが新しいグラフ ノードを取得し、TDB データベース フォルダーのディスク サイズが大きくなるため、再び機能するように見えます。
データセットから名前付きグラフを削除しようとすると、ここで問題が発生します。Dataset の removeNamedName("graphName") メソッドを使用して、データセットからモデルを削除します。そのモデル名に対する今後のクエリは、それが正常に削除されたことを明らかにします。ただし、TDB データベース フォルダーのディスク サイズは、同期して終了した後でも同じサイズのままです。
最初は、新しいデータが入ったときに上書きできるように、データベースが削除されたファイルのスペースを空きとしてマークしているだけだと思っていましたが、そうではないようです。同じプログラム実行で名前付きグラフを削除してすぐに置き換えると、フォルダーは大きくならないようですが、新しい名前付きグラフを追加して同じ実行で削除すると、フォルダーのサイズが大きくなり、モデルが削除してもメモリは解放されません。つまり、数回実行すると、データベース フォルダは元のサイズの 5 倍から 10 倍になり、データが保持されなくなります。
どんな洞察や助けも素晴らしいでしょう、ありがとう。
sparql - Jena StmtIterator とデータベース
モデルをトリプル ストア (永続化) に保存しています。あるドキュメント名に関連するすべての個人を選択したいと考えています。
私は2つの方法でそれを行うことができます
1) SPARQL リクエスト:
質問: ResultSet から Jena のモデルを作成する方法は?
2) StmtIterator stmtIterator = model.listStatements(...)
model.listStatements(...) 操作を数回使用する必要があるというこのアプローチの問題:
a) ドキュメント名でドキュメント URI を取得する
b) このドキュメント URI に関連する個人 ID のリストを取得する
c) 最後に - 個人のコレクションを取得する
パフォーマンスが心配です - model.listStatements(...) を 3 回実行します - 多くのデータベース要求。
または、モデルの作成中にデータベースからすべてのデータがメモリに読み込まれます(私はそれについて疑問があります):
?
sparql - Jena / Arq:クエリ処理がスタックする
次のSPARQLクエリに問題がある場合:
potégé4.2では、このクエリは問題なく機能し、1秒以内に結果を返します。また、SPARQLerクエリバリデーター(http://www.sparql.org/query-validator.html)を使用した構文チェックでは、SPARQLクエリが有効であることが示されています。しかし、jena arqエンジンを使用すると、結果セットを待機している間、クエリ処理が常にスタックします。コマンドラインからjena-arq-2.9.1を使用して、また次のコードを使用してJavaアプリケーションで試してみました。
多分誰かが問題が何であるかについての考えを持っています。
sparql - Jena ARQを使用した選択、記述、構築のための1つのSPARQLエンドポイント
ユーザーがsparqlクエリを入力するためのフロントエンドユーザーインターフェイスとして、単純なWebページを作成しました。私はバックエンドとしてJenaARQを使用しています(私はGrailsを使用しています)sparqlクエリエンジン。現在、ユーザーは「選択」クエリのみを入力でき、私は以下を使用します。
クエリを実行して結果を返します。しかし今、私はユーザーが同じページからバックエンドにDescribeとConstructクエリを送信することも望んでいます。このスレッドで説明されているように:Jena Sparqlとconstruct、を使用する必要があります
バックエンドで。だから私の質問は、バックエンドで、クエリ文字列がSelectクエリ、Describeクエリ、またはConstructクエリのいずれであるかを知ることができるので、execSelect()、execDescribe()、またはexecConstruct()から選択できますか?フロントエンド用に変更する必要があるものはありますか?
sparql - Jena / Sparql / Arq:クエリ中にモデルにいくつかのステートメントを挿入します
私は小さなRDFモデルを構築しました。これには、ヒトゲノム上のいくつかの項目を説明するいくつかのトリプルのみが含まれています。
別のリレーショナルデータベースに保存されている、一部のゲノムセグメント(「遺伝子」など)と重複するアイテムのみを保持したいと思います。この遺伝子のデータベースは大きすぎて、私の最初のRDFモデルに挿入できません。
ARQを拡張して、クエリ中にモデルにいくつかの新しいステートメント(アイテムと重複する遺伝子のみを記述するRDFステートメント)を挿入する方法はありますか?
入力:
出力:
http://jena.sourceforge.net/ARQ/arq-query-eval.htmlについて読んだことがありますが、迷っています。どの拡張メカニズムを選択する必要がありますか?財産 ?Web上にこれ以上の完全な例はありますか?
ありがとう、
sparql - ローカルファイルに対するSPARQL更新クエリ
jenaarqを使用してSPARQLUpdateクエリでローカルrdfファイルを更新しようとしています。以下はコードです
コードを実行した後、クエリは正常に実行されたが、ローカルファイルは更新されなかったと表示されます。
sparql - Jenaを使用してDbpediaリソースの詳細を取得するには?
Sparql エンドポイントでdbpediaにクエリを実行すると、結果がオブジェクトとして取得されます。次に、このリソースの詳細を取得するにはどうすればよいですか? たとえば、このリソースが人である場合。どうすれば彼/彼女を手に入れることができますか?Jena ResourceImpl
birthDate
これを試しました。ただし、常に null を返します。
rdf - Jena SPARQL の更新が実行されない
私の状況は単純です。sparql-auth-endpoint にアップロードしたい RDF (N3) ファイルがあります。私は Jena ARQ を使用していますが、残念ながら機能しません。エラーは発生しませんが、グラフは変化しません。どこに問題があるのでしょうか? 私のコード:
そのデータを sparql-endpoint にアップロードするようにコードを変更するにはどうすればよいですか?
編集 1
これは小さな例ですが、これも機能していません。ブラウザで sparql-endpoint を介して新しいグラフを作成できますが、Jena では作成できません。エラーも新しいグラフもありません。
編集 2
sparql-auth-endpoint で Virtuoso サーバーを使用して、これらの行を変更したところ、はるかにうまく機能しました。
まあ、localhost:8890 では動作しますが、別の名人サーバーでは動作しません
sparql - 現在ロックされている領域: 布石 + 全文検索 + 推論
私は最近、Fuseki 0.2.8 スナップショットで全文検索を試し始めました。
Lucene テキスト インデックスを追加した TDB データセットに基づく InfModel があります。次のような検索クエリでテストしました。
Fuseki に対して 2 つ以上の同時クエリが発生するまで、これはうまく機能します。
ランダムな間隔でクエリを送信する 10 人の同時ユーザーでエンドポイントをテストしてみました.2 分間で、クエリの約 30% が上記の 500 エラーを返しました。
また、このセクションを置き換えて推論を無効にしようとしました (以下の完全なアセンブラー ファイル)。
これとともに:
また、TextDataset が #dataset_inf ではなく #tdbDataset を使用している場合、例外は生成されません。
私のセットアップに何か問題がありますか、それとも Fuseki のバグですか?
これが私の現在のアセンブラファイルです:
Fuseki のログの例外の 1 つの完全なスタック トレースは次のとおりです。
アドバイスをいただければ幸いです。
ありがとう、スチュアート。