Skip to content

Commit fed85b0

Browse files
committed
Use DCAT.version on DCAT AP v3
The v3 profile was still using the old OWL.versionInfo property
1 parent 7fcdb18 commit fed85b0

3 files changed

Lines changed: 19 additions & 5 deletions

File tree

ckanext/dcat/profiles/euro_dcat_ap_3.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
SKOS,
77
ADMS,
88
RDF,
9+
OWL,
910
)
1011

1112
from .base import URIRefOrLiteral
@@ -35,7 +36,12 @@ def parse_dataset(self, dataset_dict, dataset_ref):
3536

3637
return dataset_dict
3738

38-
def self._parse_dataset_v3(dataset_dict, dataset_ref):
39+
def _parse_dataset_v3(self, dataset_dict, dataset_ref):
40+
41+
# version
42+
value = self._object_value(dataset_ref, DCAT.version)
43+
if value:
44+
dataset_dict["version"] = value
3945

4046
# hasVersion
4147
values = self._object_value_list(dataset_ref, DCAT.hasVersion)
@@ -58,7 +64,6 @@ def graph_from_dataset(self, dataset_dict, dataset_ref):
5864
# DCAT AP v3 properties also applied to higher versions
5965
self._graph_from_dataset_v3(dataset_dict, dataset_ref)
6066

61-
6267
def graph_from_catalog(self, catalog_dict, catalog_ref):
6368

6469
self._graph_from_catalog_base(catalog_dict, catalog_ref)
@@ -73,13 +78,22 @@ def _graph_from_dataset_v3(self, dataset_dict, dataset_ref):
7378
self.g.remove((dataset_ref, RDF.type, None))
7479
self.g.add((dataset_ref, RDF.type, DCAT.DatasetSeries))
7580

81+
# version own:versionInfo -> dcat:version
82+
self.g.remove((dataset_ref, OWL.versionInfo, None))
83+
self._add_triple_from_dict(
84+
dataset_dict,
85+
dataset_ref,
86+
DCAT.version,
87+
"version",
88+
_type=Literal,
89+
)
90+
7691
# hasVersion
7792
items = [
7893
("has_version", DCAT.hasVersion, None, URIRefOrLiteral),
7994
]
8095
self._add_list_triples_from_dict(dataset_dict, dataset_ref, items)
8196

82-
8397
# byteSize decimal -> nonNegativeInteger
8498
for subject, predicate, object in self.g.triples((None, DCAT.byteSize, None)):
8599
if object and object.datatype == XSD.decimal:

ckanext/dcat/tests/profiles/dcat_ap_3/test_euro_dcatap_3_profile_serialize.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def test_e2e_ckan_to_dcat(self):
6868
assert self._triple(g, dataset_ref, RDF.type, DCAT.Dataset)
6969
assert self._triple(g, dataset_ref, DCT.title, dataset["title"])
7070
assert self._triple(g, dataset_ref, DCT.description, dataset["notes"])
71-
assert self._triple(g, dataset_ref, OWL.versionInfo, dataset["version"])
71+
assert self._triple(g, dataset_ref, DCAT.version, dataset["version"])
7272

7373
# Standard fields
7474
assert self._triple(g, dataset_ref, DCT.identifier, dataset["identifier"])

ckanext/dcat/tests/profiles/dcat_us_3/test_dcat_us_3_profile_serialize.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def test_e2e_ckan_to_dcat(self):
6969
assert self._triple(g, dataset_ref, RDF.type, DCAT.Dataset)
7070
assert self._triple(g, dataset_ref, DCT.title, dataset["title"])
7171
assert self._triple(g, dataset_ref, DCT.description, dataset["notes"])
72-
assert self._triple(g, dataset_ref, OWL.versionInfo, dataset["version"])
72+
assert self._triple(g, dataset_ref, DCAT.version, dataset["version"])
7373

7474
# Standard fields
7575
assert self._triple(g, dataset_ref, DCT.identifier, dataset["identifier"])

0 commit comments

Comments
 (0)