開発者

ソーシャルネットワークを介したQA会社
qacompany/qendpointqacompany/qendpoint-wikidataQendpointは、フルテキストとGeoSparQLのサポートを備えた非常にスケーラブルなトリプルストアです。スタンドアロンのSPARQLエンドポイントとして、または依存関係として使用できます。たとえば、QendpointはKohesioで使用されており、UIとの各相互作用は、QendPointの基礎となるSPARQLクエリに対応しています。また、Qendpointは、RDFグラフを介したQanswer Enabeling質問の一部です。
バックエンド/ベンチマーク用
フロントエンドの場合(バックエンドを実行するために必須ではありません)
Scoop Package Managerを使用してQendPointをインストールできます。
the-qa-company Bucketを追加する必要があります。その後、 qendpointマニフェストをインストールできるようになります。これらのコマンドを使用して実行できます。
# Add the-qa-company bucket
scoop bucket add the - qa - company https: // github.com / the - qa - company / scoop - bucket.git
# Install qEndpoint CLI
scoop install qendpointBrew Package Managerを使用してQendpointをインストールできます。
このコマンドを使用してインストールできます
brew install the-qa-company/tap/qendpointBrewまたはScoopにアクセスできない場合、Qendpointコマンドラインインターフェイスは、ファイルqendpoint-cli.zipの下の[リリース]ページで使用できます。それを抽出することにより、パスに追加できるビンディレクトリをできます。
このリンクからqendpointをクローンします: git clone https://github.com/the-qa-company/qEndpoint.git
バックエンドディレクトリcd qendpoint-backendに移動します
このコマンドを使用してプロジェクトをコンパイルします: mvn clean install -DskipTests
java -jar target/qendpoint-backend-1.2.3-exec.jarを使用してプロジェクトを実行します(バージョンを最新バージョンで置き換えます)
プロジェクトを依存関係として使用できます(最新バージョンでバージョンを置き換えます)
<dependency>
<groupId>com.the_qa_company</groupId>
<artifactId>qendpoint</artifactId>
<version>1.2.3</version>
</dependency>
git clone https://github.com/the-qa-company/qEndpoint.gitcd qendpoint-frontendに移動しますnpm installを使用してパッケージをインストールしますnpm startを使用してプロジェクトを実行しますLinux、MacOS、およびWindows用のエンドポイントインストーラーはここにあります。インストーラーにはコマンドライン(CLI)が含まれておらず、エンドポイントのみが含まれていません。
事前に設定されたDocker画像の1つを使用できます。
qacompany/qendpointdockerhub :qacompany/qendpoint
このDocker画像にはエンドポイントが含まれており、データセットをアップロードして使用を開始できます。
画像を実行するだけで、インデックスをダウンロードし、以下のスニペットを使用してリポジトリをセットアップすることにより、環境を準備します。
docker run -p 1234:1234 --name qendpoint qacompany/qendpointまた、Docker Environnement Value MEM_SIZEを設定して割り当てられたメモリのサイズを指定することもできます。デフォルトでは、この値は6gに設定されています。大規模なデータセットでメモリが不足していることは確かに、この値を4G以下に設定しないでください。より大きなデータセットの場合、大きなデータセットにも大きな値が推奨されます。たとえば、Wikidata-Allは少なくとも10gなしでは実行されません。
docker run -p 1234:1234 --name qendpoint --env MEM_SIZE=6G qacompany/qendpoint次のコマンドを使用して、コンテナを停止し、いつでも内部のデータを維持することができます(qendpointはコンテナの名前です)。
docker stop qendpoint
docker start qendpoint:注意このコンテナは、データインデックスのサイズのためにディスクの大部分を占める可能性があるため、以下のコマンドを使用してももう必要ない場合は、コンテナを削除してください。
docker rm qendpointqacompany/qendpoint-wikidatadockerhub :qacompany/qendpoint-wikidata
このDockerイメージには、サーバーからWikidata Truthyステートメントを含むインデックスをダウンロードするスクリプトを備えたエンドポイントが含まれているため、インデックスのダウンロードを待って使用を開始する必要があります。
画像を実行するだけで、インデックスをダウンロードし、以下のコードを使用してリポジトリを設定することにより、環境を準備します。
docker run -p 1234:1234 --name qendpoint-wikidata qacompany/qendpoint-wikidataまた、Docker Environnement Value MEM_SIZEを設定して割り当てられたメモリのサイズを指定することもできます。デフォルトでは、この値は6Gに設定されています。たとえば、Wikidata-Allは少なくとも10gなしでは実行されない場合、大きなデータセットにも大きな値が推奨されます。
docker run -p 1234:1234 --name qendpoint-wikidata --env MEM_SIZE=6G qacompany/qendpoint-wikidata環境値hdt_baseを使用してダウンロードするデータセットを指定できます。デフォルトでは、値はwikidata_truthyですが、現在の利用可能な値は次のとおりです。
wikidata_truthy -wikidata Truthyステートメント(少なくとも6Gのメモリが必要です)wikidata_all wikidata -allステートメント(少なくとも10Gのメモリが必要です) docker run -p 1234:1234 --name qendpoint-wikidata --env MEM_SIZE=10G --env HDT_BASE=wikidata_all qacompany/qendpoint-wikidata以下のコードを使用して、コンテナを停止し、いつでも内部のデータを維持することができます(qendpointはコンテナの名前です)。
docker stop qendpoint-wikidata
docker start qendpoint-wikidataこのコンテナは、データインデックスのサイズのためにディスクの大部分を占める可能性があることに注意してください。以下に示すようにコマンドを使用してももう必要ない場合は、コンテナを削除してください。
docker rm qendpoint-wikidatahttp:// localhost:1234にアクセスできます。ここには、sparqlクエリを作成して実行できるGUIがあります。
curl -H ' Accept: application/sparql-results+json ' localhost:1234/api/endpoint/sparql --data-urlencode ' query=select * where{ ?s ?p ?o } limit 10 'メモの最初のクエリには、インデックスをメモリにマッピングするために時間がかかります。後でははるかに高速になります!
結果のほとんどの形式が利用可能です。たとえば、次のように使用できます。
application/sparql-results+jsonapplication/sparql-results+xmlapplication/x-binary-rdf-results-tableこのコマンドでエンドポイントを実行できます。
java -jar endpoint.jar &application.propertiesファイルのテンプレートをバックエンドソースに見つけることができます
グラフのHDTファイルがある場合は、HDTストアディレクトリにエンドポイントをロードする前に配置できます(デフォルトではhdt-store/index_dev.hdt )
HDTがない場合は、エンドポイントの実行中にコマンドを実行して、次のことを実行して、データセットをエンドポイントにアップロードできます。
curl " http://127.0.0.1:1234/api/endpoint/load " -F " [email protected] " mydataset.ntがロードするRDFファイルである場合、RDF4Jが使用するすべての形式を使用できます。
この方法を使用してSPARQLリポジトリを作成できます。リポジトリを開始することを忘れないでください
// Create a SPARQL repository
SparqlRepository repository = CompiledSail . compiler (). compileToSparqlRepository ();
// Init the repository
repository . init (); executeTupleQuery 、 executeBooleanQuery 、 executeGraphQuery 、またはexecuteを使用してSPARQLクエリを実行できます。
// execute the a tuple query
try ( ClosableResult < TupleQueryResult > execute = sparqlRepository . executeTupleQuery (
// the sparql query
"SELECT * WHERE { ?s ?p ?o }" ,
// the timeout
10
)) {
// get the result, no need to close it, closing execute will close the result
TupleQueryResult result = execute . getResult ();
// the tuples
for ( BindingSet set : result ) {
System . out . println ( "Subject: " + set . getValue ( "s" ));
System . out . println ( "Predicate: " + set . getValue ( "p" ));
System . out . println ( "Object: " + set . getValue ( "o" ));
}
}使用後、リポジトリをシャットダウンすることを忘れないでください
// Shutdown the repository (better to release resources)
repository . shutDown (); getRepository()メソッドを使用してRDF4Jリポジトリを取得できます。
// get the rdf4j repository (if required)
SailRepository rdf4jRepo = repository . getRepository ();Qendpointをローカルに実行します
cd wikibase
ファイルのprefixes.sparqlを移動して、Qendpointインストールに移動します
(再)エンドポイントを起動してプレフィックスを使用します
走る
java -cp wikidata-query-tools-0.3.59-SNAPSHOT-jar-with-dependencies.jar org.wikidata.query.rdf.tool.Update
--sparqlUrl http://localhost:1234/api/endpoint/sparql
--wikibaseHost https://linkedopendata.eu/
--wikibaseUrl https://linkedopendata.eu/
--conceptUri https://linkedopendata.eu/
--wikibaseScheme https
--entityNamespaces 120,122
--start 2022-06-28T11:27:08Zパラメーターをウィキバーゼに適応させることができます。この場合、EUの知識グラフを照会して、開始時間を変更することもできます。
提案された機能(および既知の問題)のリストについては、オープンな問題を参照してください。
次の場所のいずれかでメンテナーに手を差し伸べます。
あなたがあなたに感謝したい場合、または/およびQendpointの積極的な開発をサポートします:
まず第一に、貢献するために時間を割いてくれてありがとう!貢献は、オープンソースコミュニティを学び、インスピレーションを与え、作成するのに驚くべき場所にするものです。あなたがした貢献は他のすべての人に利益をもたらし、大歓迎です。
貢献ガイドラインを読んでください、そして関与してくれてありがとう!
このリポジトリの元のセットアップは、QA会社によるものです。
すべての著者と貢献者の完全なリストについては、貢献者ページを参照してください。
QendPointはセキュリティの良い実践に従いますが、100%のセキュリティを保証することはできません。 Qendpointは、保証なしで「現状のまま」提供されます。あなた自身の責任で使用してください。
詳細およびセキュリティの問題を報告するには、セキュリティドキュメントを参照してください。
このプロジェクトは、GNU General Public License V3の下で通知を受けてライセンスされています。
詳細については、ライセンスを参照してください。