SPARQLエンドポイントをAWSサーバーレス環境下に作成するためのプロジェクトです。 AWSの以下のサービスを利用します。
RDF Storeにnode-quadstoreとlevelDBを利用しています。
あらかじめ Turtleファイルを使って levelDBファイルを作成しておきます。 サンプルとして 国立国会図書館が公開する「図書館及び関連組織のための国際標準識別子(ISIL)」試行版LODのTurtleファイルを同梱しています。
cd quadstore-server-on-aws-serverless/quadstore-server-lambda
npm install
npm run build:db -- ../sample/isillod.ttl
これで、sparql-db
ディレクトリが作成されます。
デプロイには、AWS SAMを利用します。 AWS SAM CLIをあらかじめインストール、設定しておいてください。
cd quadstore-server-on-aws-serverless
sam build
sam deploy --guided ※ 二回目以降は sam deploy でデプロイできます。
デプロイ後に表示されるQuadstoreServerApi
のURLが実際のエンドポイントとなります。
以下のコマンドにより、ローカル環境で実行が可能です。実行には、Dockerが必要です。
cd quadstore-server-on-aws-serverless
sam local invoke --event events/event.json
これで以下のSPARQLクエリが実行されます。
select (count(distinct *) as ?count)
where {
?s ?p ?o
}
AWS SAM CLI のその他の利用については以下を参照してください。