Skip to content

Commit

Permalink
final adjustments to dcat_ap_it api
Browse files Browse the repository at this point in the history
  • Loading branch information
gtramonte committed Aug 6, 2024
1 parent 051320b commit 7d33613
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,4 @@ venv.bak/
_catalogs/
_old/

.DS_Store
2 changes: 1 addition & 1 deletion api/app/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -679,4 +679,4 @@ async def dcatapit(request: Request):
# response = dcatapit_graph.serialize(format='pretty-xml')
response = serialize_and_concatenate_graphs(catalog_graph, datasets_graph, distributions_graph, vcard_graph)

return Response(content=response, media_type="text/xml")
return Response(content=response, media_type="application/rdf+xml")
12 changes: 9 additions & 3 deletions api/app/oai_dcat/oai_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,10 +308,12 @@ def convert_to_dcat_ap_it(data, url):
# Create catalog
catalog_uri = URIRef(url)
catalog_graph.add((catalog_uri, RDF.type, DCATAPIT.Catalog))
catalog_graph.add((catalog_uri, RDF.type, DCAT.Catalog))
catalog_graph.add((catalog_uri, DCTERMS.title, Literal("Sebastien Catalog")))
catalog_graph.add((catalog_uri, DCTERMS.description, Literal("A catalog of Sebastien datasets")))
catalog_graph.add((catalog_uri, FOAF.homepage, Literal(url)))
catalog_graph.add(
(catalog_uri, DCTERMS.language, URIRef("http://publications.europa.eu/resource/authority/language/ITA")))
(catalog_uri, DCTERMS.language, Literal("http://publications.europa.eu/resource/authority/language/ITA")))
catalog_graph.add((catalog_uri, DCTERMS.modified, Literal(datetime.now(), datatype=XSD.date)))

# Add publisher information
Expand All @@ -324,11 +326,11 @@ def convert_to_dcat_ap_it(data, url):
catalog_graph.add((publisher, FOAF.homepage, URIRef("https://www.cmcc.it")))
catalog_graph.add((publisher, FOAF.mbox, URIRef("mailto:[email protected]")))

for dataset in data:
for i, dataset in enumerate(data, 1):
if "dataset" not in dataset:
dataset = {"dataset": dataset}
dataset_id = dataset.get("dataset", {}).get("metadata", {}).get("id")
dataset_uri = URIRef(f'{url}/{dataset_id}')
dataset_uri = URIRef(f'{url}/{i}')

# Add dataset reference to catalog
catalog_graph.add((catalog_uri, DCAT.dataset, dataset_uri))
Expand All @@ -344,6 +346,8 @@ def convert_to_dcat_ap_it(data, url):
datetime.strptime(str(dataset.get("dataset", {}).get("metadata", {}).get("publication_date")), '%Y-%m-%d'),
datatype=XSD.date)))
datasets_graph.add((dataset_uri, DCTERMS.identifier, Literal(f"XW88C90Q:{dataset_id}")))
datasets_graph.add(
(dataset_uri, DCTERMS.language, Literal("http://publications.europa.eu/resource/authority/language/ITA")))
# Add dct:modified, dcat:theme, dct:rightsHolder and dct:accrualPeriodicity
datasets_graph.add((dataset_uri, DCTERMS.modified, Literal(datetime.now(), datatype=XSD.date)))
datasets_graph.add(
Expand Down Expand Up @@ -375,6 +379,8 @@ def convert_to_dcat_ap_it(data, url):
datasets_graph.add((dataset_uri, DCAT.distribution, distribution_uri))
distributions_graph.add((distribution_uri, RDF.type, DCAT.Distribution))
distributions_graph.add((distribution_uri, DCAT.accessURL, distribution_uri))
distributions_graph.add((distribution_uri, DCTERMS.title,
Literal(dataset.get("dataset", {}).get("metadata", {}).get("description"))))
distributions_graph.add((distribution_uri, DCTERMS.description,
Literal(dataset.get("dataset", {}).get("metadata", {}).get("description"))))
license_uri = URIRef("https://w3id.org/italia/controlled-vocabulary/licences/A21_CCBY40")
Expand Down

0 comments on commit 7d33613

Please sign in to comment.