Skip to content

Commit

Permalink
feat: Map qualified_relations onto dataset
Browse files Browse the repository at this point in the history
  • Loading branch information
bellisk committed Oct 2, 2023
1 parent 3e95fc3 commit dcd66ed
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions ckanext/dcatapchharvest/profiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,17 @@ def _relations(self, subject, predicate):

return relations

def _qualified_relations(self, subject):
qualified_relations = []

for relation_node in self.g.objects(subject, DCAT.qualifiedRelation):
qualified_relations.append({
"relation": self._object_value(relation_node, DCT.relation),
"role": self._object_value(relation_node, DCAT.hadRole),
})

return qualified_relations

def _license_rights_name(self, subject, predicate):
for node in self.g.objects(subject, predicate):
# DCAT-AP CH v1: the license as a literal (should be
Expand Down Expand Up @@ -407,6 +418,7 @@ def parse_dataset(self, dataset_dict, dataset_ref): # noqa
dataset_dict['resources'] = []
dataset_dict['relations'] = []
dataset_dict['see_alsos'] = []
dataset_dict['qualified_relations'] = []

# Basic fields
for key, predicate in (
Expand Down Expand Up @@ -496,6 +508,10 @@ def parse_dataset(self, dataset_dict, dataset_ref): # noqa
for see_also in see_alsos:
dataset_dict['see_alsos'].append({'dataset_identifier': see_also})

dataset_dict["qualified_relations"] = self._qualified_relations(
dataset_ref
)

# Dataset URI
dataset_uri = dh.dataset_uri(dataset_dict, dataset_ref)
dataset_dict['extras'].append({'key': 'uri', 'value': dataset_uri})
Expand Down

0 comments on commit dcd66ed

Please sign in to comment.