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]))