Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion csvwlib/converter/ModelConverter.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ def _add_table_metadata(table_metadata, table):
def _normalize_metadata_base_url(self):
if self.metadata is None:
return
for context_entry in self.metadata['@context']:
for context_entry in self.metadata.get('@context',[]):
if type(context_entry) is dict and '@base' in context_entry:
original_url = self.metadata['url']
if original_url.startswith('http'):
Expand Down
2 changes: 1 addition & 1 deletion csvwlib/converter/ToRDFConverter.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def parse_virtual_columns(self, row_node, atdm_row, table_metadata):
self.graph.add((row_node, CSVW.describes, subject))

def _add_file_metadata(self, metadata, node):
language = JSONLDUtils.language(self.metadata['@context'])
language = JSONLDUtils.language(self.metadata.get('@context',[]))
for key, value in metadata.items():
if CommonProperties.is_common_property(key) or key == 'notes':
triples = CommonProperties.property_to_triples((key, metadata[key]), node, language)
Expand Down
12 changes: 10 additions & 2 deletions csvwlib/utils/json/CommonProperties.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,17 @@ def expand_property_if_possible(prop):
return prop

prefix, prop = prop.split(':')
return Namespaces.get(prefix).term(prop)
return CommonProperties.ns_has_term(prefix, prop)

@staticmethod
def expand_property(prop):
prefix, prop = prop.split(':')
return Namespaces.get(prefix).term(prop)
return CommonProperties.ns_has_term(prefix, prop)

@staticmethod
def ns_has_term(prefix, prop):
pf = Namespaces.get(prefix)
if pf:
return pf.term(prop)
else:
raise Exception(f'Namespace {prefix} for {prop} not registered')
3 changes: 2 additions & 1 deletion csvwlib/utils/rdf/OntologyUtils.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@ def type(column_metadata):
return None

datatype = OntologyUtils._name_mappings.get(datatype, datatype)
return OntologyUtils._type_mappings.get(datatype, XSD.term(datatype))
xsd_type = getattr(XSD, datatype)
return OntologyUtils._type_mappings.get(datatype, xsd_type)
1 change: 0 additions & 1 deletion csvwlib/utils/url/UriTemplateUtils.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ def expand_template(template: str, row: dict) -> str:
"""
def replacer(match):
var = match.group(1)
print('r',row)
if var in row.keys():
return str(row[var])
raise KeyError(f"Missing value for template variable '{var}'")
Expand Down