madb-fuseki-docker/README.md
2023-07-03 11:46:42 +09:00

2.8 KiB

MADB-Fuseki-Docker

メディア芸術データベースのデータセットをロードしたApache Jena FusekiによるSPARQLサーバです。

以下で公開されているRDFデータセットを各バージョン毎にロード済みのDockerイメージを提供します。

Usage

docker run --rm -p 3030:3030 babibubebon/madb-fuseki:{version}

{version} には利用したいデータセットのバージョンを YYYYMMDD 形式で指定します。 利用可能な {version} は、 versions/*.txt をご確認ください。

起動後、以下のURLにアクセスして利用します。

データセットのバージョンの識別

<http://localhost:3030/madb/void/> という名前付きグラフ内でデータセットのメタデータを記述しています。データセットを表すURIは <http://localhost:3030/madb/#dataset> としています。

例えば、以下のようなクエリで確認することができます。

SELECT *
WHERE {
  GRAPH <http://localhost:3030/madb/void/> {
    <http://localhost:3030/madb/#dataset> ?p ?o .
  }
}

全文検索

Luceneによる全文検索インデックスが構築済みですので、SPARQLクエリで全文検索できます。

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX schema: <https://schema.org/>
PREFIX text: <http://jena.apache.org/text#>

SELECT ?公開年 (COUNT(DISTINCT ?マンガ単行本) AS ?合計数) (SAMPLE(?マンガ単行本) AS ?マンガ単行本の例)
WHERE { 
  ?マンガ単行本 text:query '"異世界" OR "転生"' .
  ?マンガ単行本 schema:genre "マンガ単行本";
          schema:datePublished ?公開年月日 .
  BIND (SUBSTR(?公開年月日, 1, 4) AS ?公開年)
}
GROUP BY ?公開年
ORDER BY DESC(?公開年)

Build

VERSION=YYYYMMDD
python create_void.py ${VERSION} > void.trig
docker build --build-arg DATASET_VERSION=${VERSION} -t babibubebon/madb-fuseki:${VERSION} .

License

本リポジトリに含まれるリソースは、MIT Licenseで提供されます。

Dockerイメージ内に含まれるデータセットは、メディア芸術データベース 利用規約に従って、メディア芸術データベース(ベータ版)データセットを加工して生成したものです。