madb-fuseki-docker/README.md

74 lines
2.9 KiB
Markdown
Raw Normal View History

2023-07-03 03:14:10 +09:00
# MADB-Fuseki-Docker
2023-07-03 04:19:50 +09:00
[メディア芸術データベース](https://mediaarts-db.bunka.go.jp/)のデータセットをロードした[Apache Jena Fuseki](https://jena.apache.org/documentation/fuseki2/index.html)によるSPARQLサーバです。
以下で公開されているRDFデータセットを各バージョン毎にロード済みのDockerイメージを提供します。
2023-07-03 23:30:40 +09:00
- GitHub: <https://github.com/mediaarts-db/dataset>
- MADB Lab: <https://mediag.bunka.go.jp/madb_lab/lod/download/>
2023-07-03 04:19:50 +09:00
## Usage
```sh
2023-07-03 11:46:42 +09:00
docker run --rm -p 3030:3030 babibubebon/madb-fuseki:{version}
2023-07-03 04:19:50 +09:00
```
2023-07-03 23:30:40 +09:00
`{version}` には利用したいデータセットのバージョンを `YYYYMMDD` 形式で指定します。便宜上、データセットの公開日をバージョンとして扱っています。
利用可能な `{version}` は、 [`versions/*.txt`](./versions/) をご確認ください。
2023-07-03 04:19:50 +09:00
起動後、以下のURLにアクセスして利用します。
- 管理画面: <http://localhost:3030>
- 起動時に表示されるadminパスワードを入力します。
- SPARQLエンドポイント: <http://localhost:3030/madb/sparql>
2023-07-03 11:46:42 +09:00
### データセットのバージョンの識別
`<http://localhost:3030/madb/void/>` という名前付きグラフ内でデータセットのメタデータを記述しています。データセットを表すURIは `<http://localhost:3030/madb/#dataset>` としています。
例えば、以下のようなクエリで確認することができます。
```sparql
SELECT *
WHERE {
GRAPH <http://localhost:3030/madb/void/> {
<http://localhost:3030/madb/#dataset> ?p ?o .
}
}
```
### 全文検索
[Luceneによる全文検索インデックス](https://jena.apache.org/documentation/query/text-query.html)が構築済みですので、SPARQLクエリで全文検索できます。
```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(?公開年)
```
2023-07-03 03:14:10 +09:00
## Build
```sh
2023-07-03 11:46:42 +09:00
VERSION=YYYYMMDD
python create_void.py ${VERSION} > void.trig
docker build --build-arg DATASET_VERSION=${VERSION} -t babibubebon/madb-fuseki:${VERSION} .
2023-07-03 03:14:10 +09:00
```
2023-07-03 04:19:50 +09:00
## License
2023-07-03 03:14:10 +09:00
2023-07-03 04:19:50 +09:00
本リポジトリに含まれるリソースは、MIT Licenseで提供されます。
2023-07-03 03:14:10 +09:00
2023-07-03 23:30:40 +09:00
Dockerイメージ内に含まれるTDB2のデータベースファイルとして格納されたデータセットは、[メディア芸術データベース 利用規約](https://mediaarts-db.bunka.go.jp/user_terms)に従って、メディア芸術データベース(ベータ版)データセットを加工して生成したものです。