def __get_object__(binding):
"""Method takes a binding extracts value and returns rdflib
entity
Args:
binding: binding row
"""
if isinstance(binding, rdflib.term.Node):
return binding
elif isinstance(binding, collections.Iterable):
for key, row in binding.items():
if isinstance(row, (rdflib.URIRef, rdflib.Literal)):
return row
elif isinstance(row, dict):
if row.get('type').startswith('uri'):
return rdflib.URIRef(row.get('value'))
return rdflib.Literal(row.get('value'))
elif isinstance(row, tuple):
print(row)
elif isinstance(row, str):
if row.startswith("literal") or "xml:lang" in key:
continue
return rdflib.Literal(row)
评论列表
文章目录