問題タブ [triplestore]

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 に答える
173 参照

performance - Triplestore の書き込みパフォーマンスとロック

読み取りとクエリのパフォーマンスに焦点を当てた多くのトリプルストア ベンチマークを見てきました。ただし、トリプルストアへの移行を検討しているアプリケーションには非常に動的なデータが含まれており、書き込みパフォーマンスとロックについて非常に懸念しています。

たとえば、Jena/TDB は、一度だけ書き込み、何度も読み取りを行うロック モデルが適用されている場合にのみ使用できると聞いたことがあります。これにより、複数のリーダー SPARQL クエリを同時に実行できます。ただし、トリプルを作成/更新するために書き込み操作が行われる場合、既存の実行中の SPARQL クエリが完了するまで、書き込み操作は処理されません。さらに、書き込み操作の進行中は、(モデル内のどのトリプルに対しても) 読み取り操作を行うことはできません。大量のデータ コピー操作が、SPARQL クエリを長時間ブロックしていると想像できます。

このロック モデルが私のアプリケーションに深刻な影響を与えることは想像に難くないでしょう。

このレベルでさまざまなトリプル ストアを比較した人はいますか?

ご自身で使用されているトリプル ストアについてコメントしていただければ、それは私にとって非常に役立ちます。

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

triplestore - Sesame にセマンティック推論を統合するにはどうすればよいですか?

SesameのTripleStoreのAPI に取り組んでいます。RDF で動作する推論機能があります。

私もOWLで働いているので。そこで、 Pelletや ITMなどのセマンティック推論をもう 1 つ追加したいと思います...

SAIL API はカスタマイズ可能な推論をサポートしており、他の RDF ベースの言語に拡張できるようです

誰もこれを行う方法を知っていますか?

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

rdf - 「トリプルは存在しません」に基づいてsparqlを使用して選択する

私は私の店から正しいトリプルを選択するのに少し助けが必要です....

タイプ/1でタイプ/2ではない要素のみを選択したい

sparql selectクエリを使用してこれを達成するための最良の方法は何ですか?

次のようなものを探しています:

ありがとう、

:)

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

php - 最適なデータ ストレージ - トリプル ストア / リレーショナル データベース / その他?

Apache サーバー上で PHP を使用して Web アプリを構築しています。

このアプリには、人に関する多くのオプション データが含まれています。個人のカテゴリに応じて (1 人の人物が複数のカテゴリに属する​​可能性があります)、データを指定するかどうかを選択できます: 自宅の住所 (== 通り、都市、国などの 5 つのフィールド)、勤務先の住所 (ここでも 5 フィールド)、年齢、電話番号、....もちろん、アプリはいくつかの追加データも保存します (作成、最終更新、ユーザー名、パスワード、ユーザーレベルなど)。

アプリの現在/古いバージョンには、「users」テーブルに 86 のフィールドがあり、(人のカテゴリに応じて) 別の 23 のフィールド (1-1 関係) を持つ追加のテーブルで拡張されています。

これらはすべて Postgresql データベースに保存されます。

これがこのタイプのデータを処理する最良の方法であるかどうか疑問に思っています。ほとんどのレコードには(多くの)空のフィールドがあり、データベースが大きくなり、クエリが遅くなります。Triple Store のような他のソリューションを検討する価値はありますか、それとも心配しすぎて現在のセットアップを維持する必要がありますか? サイトの新しい目的ごとにテーブルにフィールドを追加するだけというのは、奇妙に思え、気まずい気がします。一方で、トリプルストアはまだあまり一般的ではない印象です。これにアプローチするための指針や提案はありますか?

Toby Segaran などによる「セマンティック Web のプログラミング」を読んだことがありますが、その本から、トリプル ストアと RDF の主な利点は Web を介した情報交換にあるという印象を受けました (これは私のアプリの目標ではありません)。 )

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

sql - TriplestoreAtomの実装

SQLデータベース上に独自のトリプルストアを実装しようとしています(はい、完成したプロジェクトがそこにあることはわかっています)。シンボリックな「アトム」を実装するための最良の方法を決定しようとしています。

単純な設計では、subject、predicate、objectと呼ばれる3つのvarchar列を持つ単一の「トリプル」テーブルを作成することにより、SQLにトリプルストアを実装できます。スペースを節約するために、サブジェクト/述語/オブジェクトフィールドで使用される一意のテキストを格納する「アトム」テーブルを作成し、それらのフィールドを、テキストを含むアトムにリンクする外部キーに変更しました。

ただし、Atomテーブルを実装する方法はいくつかあります。

  1. テキストをvarcharとして保存します。

    • 長所:テキストの一意性をインデックス付けして適用するのは簡単です。
    • 短所:任意の大きなテキストを保存できませんでした。
  2. テキストをテキストブロブとして保存し、一意性をクエリして適用するときに使用するテキストのハッシュも保存します。

    • 長所:任意の大きなテキストを保存できます。
    • 短所:もう少し複雑です。まれですが、ハッシュアルゴリズム(md5、shaなど)によっては、衝突が発生する可能性があります。

パフォーマンス、長期的な信頼性、およびあらゆる種類のデータを保存する機能の観点から、どちらが優れたアプローチですか?ハッシュを使用する場合、衝突についての正当な懸念はありますか?衝突がまれであっても、トリプルストアを破損するのは1回だけです。

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

rdf - SPARQLselectは言語でオプション

私はこのように見えるいくつかのトリプルを持っています:

「非言語ラベル」と「フランス語ラベル」(存在する場合)を取得するsparqlクエリを作成したいと思います。

私はこれを試しましたが、機能していません:

前もって感謝します!

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

java - トリプルストアへのリレーショナルデータベース

MySQLテーブルからの情報をトリプルに変換するJavaプログラムを作成しようとしているので、後でそれらをトリプルストアにインポートできます。RDF/XML補助ファイルを作成せずにこれを行うことは可能 ですか?どのように?

0 投票する
6 に答える
4383 参照

python - Freebase のようにデータを保存する方法は?

これは基本的に、Use freebase data on local server?の重複した質問であることを認めます。しかし、すでにそこに与えられているよりも詳細な回答が必要です

私は Freebase に完全に恋をしました。私が今必要としているのは、基本的に、Freebase 自体に属していなくても、Freebase スキーマを使用して記述できるコンテンツを格納するための非常に単純な Freebase クローンを作成することです。基本的に私が求めているのは、Freebase 自体が行うようにデータを保存し、そのデータを Python (CherryPy) Web アプリケーションで簡単に使用できるようにするシンプルでエレガントな方法です。

MQL リファレンス ガイドの第 2 章には、次のように記載されています。

Metaweb の基盤となるデータベースは、皆さんがよく知っているリレーショナル データベースとは根本的に異なります。リレーショナル データベースはデータをテーブルの形式で保存しますが、Metaweb データベースはデータをノードのグラフとそれらのノード間の関係として保存します

これは、トリプルストアまたは Neo4j などのグラフ データベースのいずれかを使用する必要があることを意味していると思いますか? Python 環境でこれらのいずれかを使用した経験がある人はいますか?

(私がこれまでに実際に試みたのは、Freebase トピックを簡単に格納できるリレーショナル データベース スキーマを作成することですが、SQLAlchemy でのマッピングの構成に問題があります)。

調べていること

更新 [2011 年 12 月 28 日]:

Freebase ブログで、Freebase 自身が使用する独自のタプル ストア/データベース (graphd) について説明している記事を見つけました: http://blog.freebase.com/2008/04/09/a-brief-tour-of-graphd/

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

rdf - SPARQL DELETE クエリ エラー: 解析中の EOF

このクエリを使用していくつかのトリプルを削除しようとしています:

deleteQuery = """DELETE { ?a ?b ?c } WHERE { mynamespace:List mynamespace:Item ?c. ?a ?b ?c }"""

私の名前空間は既に定義されているので、それは問題ではありません。ただし、クエリに正しい構文を使用しているかどうかはわかりません。クエリを発行すると、次のエラーが表示されます。

400 EOF while parsing. Expected terminals: (prefix describe sum correlation select average modify insert median load ask construct clear count stats delete). Traceback (most recent call last): File "<stdin>", line 1, in <module> File "triple_store_methods_v2.py", line 40, in query myResults = myTupleQuery.evaluate() File "/usr/local/agraph-fse-3.3/python/franz/openrdf/query/query.py", line 358, in evaluate response = self.evaluate_generic_query() File "/usr/local/agraph-fse-3.3/python/franz/openrdf/query/query.py", line 239, in evaluate_generic_query checkVariables=self.checkVariables, accept=accept) File "/usr/local/agraph-fse-3.3/python/franz/miniclient/repository.py", line 80, in evalSparqlQuery accept=accept) File "/usr/local/agraph-fse-3.3/python/franz/miniclient/request.py", line 114, in jsonRequest else: raise RequestError(status, body) franz.miniclient.request.RequestError: Server returned 400: EOF while parsing. Expected terminals: (prefix describe sum correlation select average modify insert median load ask construct clear count stats delete).

私が間違っていることを理解していません。ちなみにAllegroGraph 3.3を使っています。

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

python - TripleStore - そのようなモジュールはありません

Python に rdflib をインストールしました。これを行うとバージョン 3.2 になります。

import rdflib
print rdflib.__ version__ rdflib.TripleStoreから
3.2.0
import TripleStore
トレースバック (最新の呼び出しが最後): ファイル ""、行 1、ImportError 内: TripleStore という名前のモジュールはありません

誰かがこれを手伝ってください。:)