commit d701bef7555105874bf435d1a374aaa9af8bab7d Author: Babibubebon Date: Mon Jul 3 03:14:10 2023 +0900 first commit diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml new file mode 100644 index 0000000..a41fae9 --- /dev/null +++ b/.github/workflows/build_push.yml @@ -0,0 +1,40 @@ +name: build-push + +on: + workflow_dispatch: + inputs: + dataset_version: + description: "dataset version to be build (format: YYYYMMDD)" + required: true + type: string + +jobs: + build: + strategy: + matrix: + fuseki_version: ["4.8.0"] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Create VoID Description + run: python create_void.py ${{ inputs.dataset_version }} > void.trig + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile + push: true + build-args: + - FUSEKI_TAG=${{ matrix.fuseki_version }} + - DATASET_VERSION=${{ inputs.dataset_version }} + tags: | + ${{ secrets.DOCKERHUB_USERNAME }}/madb-fuseki:${{ inputs.dataset_version }} + ${{ secrets.DOCKERHUB_USERNAME }}/madb-fuseki:${{ inputs.dataset_version }}-fuseki${{ matrix.fuseki_version }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7eabc60 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +void.trig \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..fc87603 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +ARG FUSEKI_TAG=4.8.0 + +FROM secoresearch/fuseki:${FUSEKI_TAG} + +ARG DATASET_VERSION=latest + +ADD assembler.ttl $ASSEMBLER + +WORKDIR /tmp +ADD versions/${DATASET_VERSION}.txt files.txt +ADD void.trig /tmp/ +RUN wget -nv -i files.txt \ + && find . -name '*.zip' | xargs -n1 unzip -j || true \ + && ${TDB2TDBLOADER} --loader=parallel *.ttl *.trig \ + && ${TEXTINDEXER} \ + && ${TDB2TDBSTATS} > /tmp/stats.opt \ + && mv /tmp/stats.opt ${FUSEKI_BASE}/databases/tdb2/Data-0001/ \ + && rm *.zip *.ttl + +WORKDIR ${FUSEKI_HOME} + +ENV QUERY_TIMEOUT=-1 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b279942 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# MADB-Fuseki-Docker + +## Build + +```sh +python create_void.py YYYYMMDD > void.trig +docker build -t babibubebon/madb-fuseki . +``` + +## Run + +```sh +docker run --rm -it -p 3030:3030 babibubebon/madb-fuseki +``` + + \ No newline at end of file diff --git a/assembler.ttl b/assembler.ttl new file mode 100644 index 0000000..1974a2e --- /dev/null +++ b/assembler.ttl @@ -0,0 +1,65 @@ +@prefix : <#> . +@prefix fuseki: . +@prefix ja: . +@prefix rdf: . +@prefix rdfs: . +@prefix tdb2: . +@prefix text: . +@prefix schema: . + +<#service> rdf:type fuseki:Service ; + fuseki:name "madb" ; # http://host:port/madb + fuseki:serviceQuery "sparql" ; # SPARQL query service + #fuseki:serviceUpdate "update" ; # SPARQL update service + #fuseki:serviceUpload "upload" ; # Non-SPARQL upload service + #fuseki:serviceReadWriteGraphStore "data" ; # SPARQL Graph store protocol + fuseki:serviceReadGraphStore "data" ; # SPARQL Graph store protocol (read only) + fuseki:dataset <#text> ; +# fuseki:dataset <#tdb2> ; + . + +<#text> rdf:type text:TextDataset ; + text:dataset <#tdb2> ; + text:index <#lucene> ; + . + +tdb2:DatasetTDB2 rdfs:subClassOf ja:RDFDataset . + +<#tdb2> + rdf:type tdb2:DatasetTDB2 ; + tdb2:location "/fuseki-base/databases/tdb2" ; + . + +<#lucene> a text:TextIndexLucene ; + text:directory ; + text:storeValues true ; + text:entityMap <#entity-map> ; + . + +<#text-analyzer> a text:GenericAnalyzer ; + text:class "org.apache.lucene.analysis.shingle.ShingleAnalyzerWrapper" ; + text:params ( + [ text:paramName "defaultAnalyzer" ; + text:paramType text:TypeAnalyzer ; + text:paramValue [ a text:SimpleAnalyzer ] ] + [ text:paramName "maxShingleSize" ; + text:paramType text:TypeInt ; + text:paramValue 3 ] + ) + . + +<#entity-map> a text:EntityMap ; + text:entityField "uri" ; + text:graphField "graph" ; ## enable graph-specific indexing + text:defaultField "text" ; ## Must be defined in the text:map + text:uidField "uid" ; + text:langField "lang" ; + text:map ( + [ text:field "text" ; text:predicate schema:name ; text:analyzer <#text-analyzer> ] + [ text:field "text" ; text:predicate schema:alternateName ; text:analyzer <#text-analyzer> ] + [ text:field "text" ; text:predicate schema:alternativeHeadline ; text:analyzer <#text-analyzer> ] + [ text:field "text" ; text:predicate schema:description ; text:analyzer <#text-analyzer> ] + [ text:field "text" ; text:predicate schema:contributor ; text:analyzer <#text-analyzer> ] + [ text:field "text" ; text:predicate rdfs:label ; text:analyzer <#text-analyzer> ] + ) + . diff --git a/create_void.py b/create_void.py new file mode 100644 index 0000000..99e5b00 --- /dev/null +++ b/create_void.py @@ -0,0 +1,36 @@ +import sys +from datetime import datetime + +def create_void_description(date_str: str) -> str: + issued = datetime.strptime(date_str, '%Y%m%d').strftime('%Y-%m-%d') + + data_dump_statements = "" + with open(f"./versions/{date_str}.txt") as f: + urls = f.read().splitlines() + for url in urls: + data_dump_statements += f" void:dataDump <{url}> ;\n" + + return f""" +@prefix dcterms: . +@prefix void: . +@prefix xsd: . + + +{{ + <#dataset> a void:Dataset ; + dcterms:title "メディア芸術データベース ({issued}版)"@ja, "Media Arts Database (ver.{issued})"@en ; + dcterms:license ; + dcterms:issued "{issued}"^^xsd:date ; + void:uriSpace "https://mediaarts-db.bunka.go.jp/id/" ; + void:sparqlEndpoint ; + {data_dump_statements.strip()} + . +}} +""".strip() + +if __name__ == '__main__': + if len(sys.argv) != 2: + print('Please specify date.', file=sys.stderr) + exit(1) + + print(create_void_description(sys.argv[1])) \ No newline at end of file diff --git a/versions/20210125.txt b/versions/20210125.txt new file mode 100644 index 0000000..799e147 --- /dev/null +++ b/versions/20210125.txt @@ -0,0 +1 @@ +https://github.com/mediaarts-db/dataset/releases/download/0.9/metadata_all_ttl.zip \ No newline at end of file diff --git a/versions/20210322.txt b/versions/20210322.txt new file mode 100644 index 0000000..9d28db9 --- /dev/null +++ b/versions/20210322.txt @@ -0,0 +1 @@ +https://github.com/mediaarts-db/dataset/releases/download/1.0/metadata_all_ttl.zip \ No newline at end of file diff --git a/versions/20211011.txt b/versions/20211011.txt new file mode 100644 index 0000000..ce47bec --- /dev/null +++ b/versions/20211011.txt @@ -0,0 +1,19 @@ +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_an-col_an207_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_an-col_an208_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_an-col_an210_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_an-item_an201_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_an-item_an202_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_an-item_an205_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_cm-col_cm104_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_cm-col_cm105_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_cm-col_cm106_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_cm-item_cm101_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_cm-item_cm102_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_cm-item_cm103_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_co-curate_co504_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_co-curate_co505_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_gm-col_gm305_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_gm-col_gm306_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_gm-item_gm301_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_ma-col_ma408_ttl.zip +https://github.com/mediaarts-db/dataset/raw/dd3d8ecccd0b814891959c2fe566772d9f897afc/data/turtle/metadata_ma-item_ma401_ttl.zip \ No newline at end of file diff --git a/versions/20220217.txt b/versions/20220217.txt new file mode 100644 index 0000000..bbe39b7 --- /dev/null +++ b/versions/20220217.txt @@ -0,0 +1,20 @@ +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_an-col_an207_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_an-col_an208_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_an-col_an209_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_an-col_an210_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_an-item_an201_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_an-item_an202_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_an-item_an205_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_cm-col_cm104_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_cm-col_cm105_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_cm-col_cm106_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_cm-item_cm101_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_cm-item_cm102_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_cm-item_cm103_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_co-curate_co504_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_co-curate_co505_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_gm-col_gm305_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_gm-col_gm306_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_gm-item_gm301_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_ma-col_ma408_ttl.zip +https://github.com/mediaarts-db/dataset/raw/76f7813a6d1f22eaca6683ba4793f5c19464d181/data/turtle/metadata_ma-item_ma401_ttl.zip \ No newline at end of file diff --git a/versions/20221026.txt b/versions/20221026.txt new file mode 100644 index 0000000..07f18c5 --- /dev/null +++ b/versions/20221026.txt @@ -0,0 +1,24 @@ +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm101_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm102_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm103_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm104_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm105_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm106_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_cm-auth_cm108_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_cm-auth_cm109_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an201_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an202_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an205_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an207_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an208_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an209_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an210_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_an-auth_an216_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_gm-item_gm301_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_gm-col_gm305_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_gm-col_gm306_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_gm-auth_gm315_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_ma-item_ma401_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_ma-col_ma408_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_co-curate_co504_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12363956/mediag.bunka.go.jp/mediaarts-db/metadata_co-curate_co505_ttl.zip \ No newline at end of file diff --git a/versions/20230323.txt b/versions/20230323.txt new file mode 100644 index 0000000..0ebc38d --- /dev/null +++ b/versions/20230323.txt @@ -0,0 +1,24 @@ +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm101_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm102_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm103_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm104_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm105_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm106_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_cm-auth_cm108_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_cm-auth_cm109_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an201_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an202_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an205_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an207_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an208_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an209_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an210_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_an-auth_an216_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_gm-item_gm301_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_gm-col_gm305_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_gm-col_gm306_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_gm-auth_gm315_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_ma-item_ma401_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_ma-col_ma408_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_co-curate_co504_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12772296/mediag.bunka.go.jp/mediaarts-db/metadata_co-curate_co505_ttl.zip \ No newline at end of file diff --git a/versions/20230428.txt b/versions/20230428.txt new file mode 100644 index 0000000..b0f4bc2 --- /dev/null +++ b/versions/20230428.txt @@ -0,0 +1,24 @@ +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm101_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm102_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm103_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm104_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm105_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm106_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_cm-auth_cm108_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_cm-auth_cm109_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an201_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an202_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an205_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an207_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an208_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an209_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an210_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_an-auth_an216_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_gm-item_gm301_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_gm-col_gm305_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_gm-col_gm306_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_gm-auth_gm315_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_ma-item_ma401_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_ma-col_ma408_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_co-curate_co504_ttl.zip +https://warp.ndl.go.jp/info:ndljp/pid/12865217/mediag.bunka.go.jp/mediaarts-db/metadata_co-curate_co505_ttl.zip \ No newline at end of file diff --git a/versions/latest.txt b/versions/latest.txt new file mode 100644 index 0000000..cc30db2 --- /dev/null +++ b/versions/latest.txt @@ -0,0 +1,24 @@ +https://mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm101_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm102_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_cm-item_cm103_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm104_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm105_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_cm-col_cm106_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_cm-auth_cm108_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_cm-auth_cm109_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an201_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an202_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_an-item_an205_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an207_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an208_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an209_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_an-col_an210_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_an-auth_an216_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_gm-item_gm301_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_gm-col_gm305_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_gm-col_gm306_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_gm-auth_gm315_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_ma-item_ma401_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_ma-col_ma408_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_co-curate_co504_ttl.zip +https://mediag.bunka.go.jp/mediaarts-db/metadata_co-curate_co505_ttl.zip \ No newline at end of file