2023-07-03 03:14:10 +09:00
|
|
|
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: <http://purl.org/dc/terms/> .
|
|
|
|
@prefix void: <http://rdfs.org/ns/void#> .
|
|
|
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
|
|
|
|
|
|
<http://localhost:3030/madb/void/>
|
|
|
|
{{
|
2023-07-03 04:36:36 +09:00
|
|
|
<http://localhost:3030/madb/#dataset> a void:Dataset ;
|
2023-07-03 03:14:10 +09:00
|
|
|
dcterms:title "メディア芸術データベース ({issued}版)"@ja, "Media Arts Database (ver.{issued})"@en ;
|
|
|
|
dcterms:license <https://mediaarts-db.bunka.go.jp/user_terms> ;
|
|
|
|
dcterms:issued "{issued}"^^xsd:date ;
|
|
|
|
void:uriSpace "https://mediaarts-db.bunka.go.jp/id/" ;
|
|
|
|
void:sparqlEndpoint <http://localhost:3030/madb/sparql> ;
|
|
|
|
{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]))
|