An open API service indexing awesome lists of open source software.

https://github.com/babibubebon/madb-fuseki-docker

A SPARQL server for Media Arts Database
https://github.com/babibubebon/madb-fuseki-docker

rdf sparql

Last synced: 2 months ago
JSON representation

A SPARQL server for Media Arts Database

Awesome Lists containing this project

README

        

# MADB-Fuseki-Docker

Docker Hub: [babibubebon/madb-fuseki](https://hub.docker.com/r/babibubebon/madb-fuseki)

[メディア芸術データベース](https://mediaarts-db.bunka.go.jp/)のデータセットをロードした[Apache Jena Fuseki](https://jena.apache.org/documentation/fuseki2/index.html)によるSPARQLサーバです。

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

- GitHub:
- MADB Lab:

## Usage

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

タグ `{version}` には、利用したいデータセットのバージョンを `YYYYMMDD` 形式で指定します。便宜上、データセットの公開日をバージョンとして扱っています。

利用可能な `{version}` は、 [`versions/*.txt`](./versions/) をご確認ください。

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

- 管理画面:
- 起動時に表示されるadminパスワードを入力します。
- SPARQLエンドポイント:

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

`` という名前付きグラフ内でデータセットのメタデータを記述しています。データセットを表すURIは `` としています。

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

```sparql
SELECT *
WHERE {
GRAPH {
?p ?o .
}
}
```

### 全文検索

[Luceneによる全文検索インデックス](https://jena.apache.org/documentation/query/text-query.html)が構築済みですので、SPARQLクエリで全文検索できます。

```sparql
PREFIX rdfs:
PREFIX schema:
PREFIX 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

```sh
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イメージ内に含まれるTDB2のデータベースファイルとして格納されたデータセットは、[メディア芸術データベース 利用規約](https://mediaarts-db.bunka.go.jp/user_terms)に従って、メディア芸術データベース(ベータ版)データセットを加工して生成したものです。