From 8707dbe83ef9b044759297c8ed60ed0ed97be81b Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Mon, 2 Jun 2025 14:48:14 +0200 Subject: [PATCH 01/13] Additions to rdflib namespaces for eu project and to include more common rdflib namespaces --- sheet_to_triples/rdf.py | 42 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index 144bbf3..a449b70 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -112,10 +112,50 @@ def _new_graph(): g = rdflib.Graph() g.bind('vm', VM) g.bind('vmhe', VMHE) + # rdflib namespaces available for direct import + g.bind('brick', rdflib.namespace.BRICK) + g.bind('csvw', rdflib.namespace.CSVW) + g.bind('dc', rdflib.namespace.DC) + g.bind('dcat', rdflib.namespace.DCAT) + g.bind('dcmitype', rdflib.namespace.DCMITYPE) + g.bind('dcterms', rdflib.namespace.DCTERMS) + g.bind('dcam', rdflib.namespace.DCAM) + g.bind('doap', rdflib.namespace.DOAP) g.bind('foaf', rdflib.namespace.FOAF) - g.bind('skos', rdflib.namespace.SKOS) + g.bind('odrl2', rdflib.namespace.ODRL2) + g.bind('org', rdflib.namespace.ORG) g.bind('owl', rdflib.namespace.OWL) + g.bind('prof', rdflib.namespace.PROF) + g.bind('prov', rdflib.namespace.PROV) + g.bind('qb', rdflib.namespace.QB) + g.bind('rdf', rdflib.namespace.RDF) + g.bind('rdfs', rdflib.namespace.RDFS) + g.bind('sdo', rdflib.namespace.SDO) + g.bind('sh', rdflib.namespace.SH) + g.bind('skos', rdflib.namespace.SKOS) + g.bind('sosa', rdflib.namespace.SOSA) + g.bind('ssn', rdflib.namespace.SSN) + g.bind('time', rdflib.namespace.TIME) + g.bind('vann', rdflib.namespace.VANN) + g.bind('void', rdflib.namespace.VOID) + g.bind('wgs', rdflib.namespace.WGS) + g.bind('xsd', rdflib.namespace.XSD) + #custom defined rdflib namespaces g.bind('gist', rdflib.Namespace('https://ontologies.semanticarts.com/gist/')) + #custom defined rdflib namespaces for eu project + g.bind('adms', rdflib.namespace.('http://www.w3.org/ns/adms#')) + g.bind('adms1', rdflib.namespace.('http://purl.org/adms#')) + g.bind('dg', rdflib.namespace.('https://w3id.org/dingo#')) + g.bind('eccf', rdflib.namespace.('http://data.europa.eu/54i#')) + g.bind('eubud', rdflib.namespace.('http://data.europa.eu/3rx/ontology/budget#')) + g.bind('eurio', rdflib.namespace.('http://data.europa.eu/s66#')) + g.bind('fabio', rdflib.namespace.('http://purl.org/spar/fabio/')) + g.bind('frapo', rdflib.namespace.('http://purl.org/cerif/frapo/')) + g.bind('locn', rdflib.namespace.('http://www.w3.org/ns/locn/')) + g.bind('patent', rdflib.namespace.('http://data.epo.org/linked-data/def/patent/')) + g.bind('schema', rdflib.namespace.('http://schema.org/')) + g.bind('turtle', rdflib.namespace.('http://www.semanticweb.org/owl/owlapi/turtle#')) + g.bind('xml', rdflib.namespace.('http://www.w3.org/XML/1998/namespace')) return g From fb11104d096007fc22569299a2bef7c35a6a3b18 Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Mon, 2 Jun 2025 15:22:34 +0200 Subject: [PATCH 02/13] Change hashes to forward slashes for linting --- sheet_to_triples/rdf.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index a449b70..a057a85 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -143,18 +143,18 @@ def _new_graph(): #custom defined rdflib namespaces g.bind('gist', rdflib.Namespace('https://ontologies.semanticarts.com/gist/')) #custom defined rdflib namespaces for eu project - g.bind('adms', rdflib.namespace.('http://www.w3.org/ns/adms#')) - g.bind('adms1', rdflib.namespace.('http://purl.org/adms#')) - g.bind('dg', rdflib.namespace.('https://w3id.org/dingo#')) - g.bind('eccf', rdflib.namespace.('http://data.europa.eu/54i#')) - g.bind('eubud', rdflib.namespace.('http://data.europa.eu/3rx/ontology/budget#')) - g.bind('eurio', rdflib.namespace.('http://data.europa.eu/s66#')) + g.bind('adms', rdflib.namespace.('http://www.w3.org/ns/adms/')) + g.bind('adms1', rdflib.namespace.('http://purl.org/adms/')) + g.bind('dg', rdflib.namespace.('https://w3id.org/dingo/')) + g.bind('eccf', rdflib.namespace.('http://data.europa.eu/54i/')) + g.bind('eubud', rdflib.namespace.('http://data.europa.eu/3rx/ontology/budget/')) + g.bind('eurio', rdflib.namespace.('http://data.europa.eu/s66/')) g.bind('fabio', rdflib.namespace.('http://purl.org/spar/fabio/')) g.bind('frapo', rdflib.namespace.('http://purl.org/cerif/frapo/')) g.bind('locn', rdflib.namespace.('http://www.w3.org/ns/locn/')) g.bind('patent', rdflib.namespace.('http://data.epo.org/linked-data/def/patent/')) g.bind('schema', rdflib.namespace.('http://schema.org/')) - g.bind('turtle', rdflib.namespace.('http://www.semanticweb.org/owl/owlapi/turtle#')) + g.bind('turtle', rdflib.namespace.('http://www.semanticweb.org/owl/owlapi/turtle/')) g.bind('xml', rdflib.namespace.('http://www.w3.org/XML/1998/namespace')) return g From de8421e84e46e030bb6f0efbe55c743f141a62b8 Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Mon, 2 Jun 2025 15:32:27 +0200 Subject: [PATCH 03/13] Additions based on sm_platform --- sheet_to_triples/rdf.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index a057a85..d414b7d 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -112,27 +112,28 @@ def _new_graph(): g = rdflib.Graph() g.bind('vm', VM) g.bind('vmhe', VMHE) + #namespaces already included elsewhere in VM code, but that could be directly imported using rdfLib instead + g.bind('dc', rdflib.namespace.('http://purl.org/dc/elements/1.1/')) + g.bind('dcat', rdflib.namespace.('http://www.w3.org/ns/dcat#')) + g.bind('dcterms', rdflib.namespace.('http://purl.org/dc/terms/')) + g.bind('org', rdflib.namespace.('http://www.w3.org/ns/org#')) + g.bind('rdf', rdflib.namespace.('http://www.w3.org/1999/02/22-rdf-syntax-ns#')) + g.bind('rdfs', rdflib.namespace.('http://www.w3.org/2000/01/rdf-schema#')) + g.bind('skos', rdflib.namespace.('http://www.w3.org/2004/02/skos/core#')) # rdflib namespaces available for direct import g.bind('brick', rdflib.namespace.BRICK) g.bind('csvw', rdflib.namespace.CSVW) - g.bind('dc', rdflib.namespace.DC) - g.bind('dcat', rdflib.namespace.DCAT) g.bind('dcmitype', rdflib.namespace.DCMITYPE) - g.bind('dcterms', rdflib.namespace.DCTERMS) g.bind('dcam', rdflib.namespace.DCAM) g.bind('doap', rdflib.namespace.DOAP) g.bind('foaf', rdflib.namespace.FOAF) g.bind('odrl2', rdflib.namespace.ODRL2) - g.bind('org', rdflib.namespace.ORG) g.bind('owl', rdflib.namespace.OWL) g.bind('prof', rdflib.namespace.PROF) g.bind('prov', rdflib.namespace.PROV) g.bind('qb', rdflib.namespace.QB) - g.bind('rdf', rdflib.namespace.RDF) - g.bind('rdfs', rdflib.namespace.RDFS) g.bind('sdo', rdflib.namespace.SDO) g.bind('sh', rdflib.namespace.SH) - g.bind('skos', rdflib.namespace.SKOS) g.bind('sosa', rdflib.namespace.SOSA) g.bind('ssn', rdflib.namespace.SSN) g.bind('time', rdflib.namespace.TIME) @@ -142,6 +143,8 @@ def _new_graph(): g.bind('xsd', rdflib.namespace.XSD) #custom defined rdflib namespaces g.bind('gist', rdflib.Namespace('https://ontologies.semanticarts.com/gist/')) + g.bind('oa', rdflib.Namespace('http://www.w3.org/ns/oa#')) + g.bind('webprotege', rdflib.Namespace('http://webprotege.stanford.edu/')) #custom defined rdflib namespaces for eu project g.bind('adms', rdflib.namespace.('http://www.w3.org/ns/adms/')) g.bind('adms1', rdflib.namespace.('http://purl.org/adms/')) From f547e22c1546354e27ddd03748b2074be38e7e95 Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Mon, 2 Jun 2025 16:28:23 +0200 Subject: [PATCH 04/13] Some syntax corrections --- sheet_to_triples/rdf.py | 43 +++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index d414b7d..37f232e 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -113,13 +113,13 @@ def _new_graph(): g.bind('vm', VM) g.bind('vmhe', VMHE) #namespaces already included elsewhere in VM code, but that could be directly imported using rdfLib instead - g.bind('dc', rdflib.namespace.('http://purl.org/dc/elements/1.1/')) - g.bind('dcat', rdflib.namespace.('http://www.w3.org/ns/dcat#')) - g.bind('dcterms', rdflib.namespace.('http://purl.org/dc/terms/')) - g.bind('org', rdflib.namespace.('http://www.w3.org/ns/org#')) - g.bind('rdf', rdflib.namespace.('http://www.w3.org/1999/02/22-rdf-syntax-ns#')) - g.bind('rdfs', rdflib.namespace.('http://www.w3.org/2000/01/rdf-schema#')) - g.bind('skos', rdflib.namespace.('http://www.w3.org/2004/02/skos/core#')) + g.bind('dc', rdflib.Namespace('http://purl.org/dc/elements/1.1/')) + g.bind('dcat', rdflib.Namespace('http://www.w3.org/ns/dcat/')) + g.bind('dcterms', rdflib.Namespace('http://purl.org/dc/terms/')) + g.bind('org', rdflib.Namespace('http://www.w3.org/ns/org/')) + g.bind('rdf', rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns/')) + g.bind('rdfs', rdflib.Namespace('http://www.w3.org/2000/01/rdf-schema/')) + g.bind('skos', rdflib.Namespace('http://www.w3.org/2004/02/skos/core/')) # rdflib namespaces available for direct import g.bind('brick', rdflib.namespace.BRICK) g.bind('csvw', rdflib.namespace.CSVW) @@ -143,22 +143,23 @@ def _new_graph(): g.bind('xsd', rdflib.namespace.XSD) #custom defined rdflib namespaces g.bind('gist', rdflib.Namespace('https://ontologies.semanticarts.com/gist/')) - g.bind('oa', rdflib.Namespace('http://www.w3.org/ns/oa#')) + g.bind('oa', rdflib.Namespace('http://www.w3.org/ns/oa/')) g.bind('webprotege', rdflib.Namespace('http://webprotege.stanford.edu/')) + g.bind('eu', VM) #custom defined rdflib namespaces for eu project - g.bind('adms', rdflib.namespace.('http://www.w3.org/ns/adms/')) - g.bind('adms1', rdflib.namespace.('http://purl.org/adms/')) - g.bind('dg', rdflib.namespace.('https://w3id.org/dingo/')) - g.bind('eccf', rdflib.namespace.('http://data.europa.eu/54i/')) - g.bind('eubud', rdflib.namespace.('http://data.europa.eu/3rx/ontology/budget/')) - g.bind('eurio', rdflib.namespace.('http://data.europa.eu/s66/')) - g.bind('fabio', rdflib.namespace.('http://purl.org/spar/fabio/')) - g.bind('frapo', rdflib.namespace.('http://purl.org/cerif/frapo/')) - g.bind('locn', rdflib.namespace.('http://www.w3.org/ns/locn/')) - g.bind('patent', rdflib.namespace.('http://data.epo.org/linked-data/def/patent/')) - g.bind('schema', rdflib.namespace.('http://schema.org/')) - g.bind('turtle', rdflib.namespace.('http://www.semanticweb.org/owl/owlapi/turtle/')) - g.bind('xml', rdflib.namespace.('http://www.w3.org/XML/1998/namespace')) + g.bind('adms', rdflib.Namespace('http://www.w3.org/ns/adms/')) + g.bind('adms1', rdflib.Namespace('http://purl.org/adms/')) + g.bind('dg', rdflib.Namespace('https://w3id.org/dingo/')) + g.bind('eccf', rdflib.Namespace('http://data.europa.eu/54i/')) + g.bind('eubud', rdflib.Namespace('http://data.europa.eu/3rx/ontology/budget/')) + g.bind('eurio', rdflib.Namespace('http://data.europa.eu/s66/')) + g.bind('fabio', rdflib.Namespace('http://purl.org/spar/fabio/')) + g.bind('frapo', rdflib.Namespace('http://purl.org/cerif/frapo/')) + g.bind('locn', rdflib.Namespace('http://www.w3.org/ns/locn/')) + g.bind('patent', rdflib.Namespace('http://data.epo.org/linked-data/def/patent/')) + g.bind('schema', rdflib.Namespace('http://schema.org/')) + g.bind('turtle', rdflib.Namespace('http://www.semanticweb.org/owl/owlapi/turtle/')) + g.bind('xml', rdflib.Namespace('http://www.w3.org/XML/1998/namespace')) return g From e24711f63a610bd3551c52b9523692d6247621cd Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Mon, 2 Jun 2025 16:47:52 +0200 Subject: [PATCH 05/13] remove erroneous line --- sheet_to_triples/rdf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index 37f232e..c9750c6 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -145,7 +145,6 @@ def _new_graph(): g.bind('gist', rdflib.Namespace('https://ontologies.semanticarts.com/gist/')) g.bind('oa', rdflib.Namespace('http://www.w3.org/ns/oa/')) g.bind('webprotege', rdflib.Namespace('http://webprotege.stanford.edu/')) - g.bind('eu', VM) #custom defined rdflib namespaces for eu project g.bind('adms', rdflib.Namespace('http://www.w3.org/ns/adms/')) g.bind('adms1', rdflib.Namespace('http://purl.org/adms/')) From 50f3db2ecf2f8ae5c8fd5fede59002da6044f694 Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Mon, 2 Jun 2025 17:00:05 +0200 Subject: [PATCH 06/13] Add dictionary - not sure this is correct --- sheet_to_triples/rdf.py | 54 ++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index c9750c6..7e515fe 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -112,14 +112,6 @@ def _new_graph(): g = rdflib.Graph() g.bind('vm', VM) g.bind('vmhe', VMHE) - #namespaces already included elsewhere in VM code, but that could be directly imported using rdfLib instead - g.bind('dc', rdflib.Namespace('http://purl.org/dc/elements/1.1/')) - g.bind('dcat', rdflib.Namespace('http://www.w3.org/ns/dcat/')) - g.bind('dcterms', rdflib.Namespace('http://purl.org/dc/terms/')) - g.bind('org', rdflib.Namespace('http://www.w3.org/ns/org/')) - g.bind('rdf', rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns/')) - g.bind('rdfs', rdflib.Namespace('http://www.w3.org/2000/01/rdf-schema/')) - g.bind('skos', rdflib.Namespace('http://www.w3.org/2004/02/skos/core/')) # rdflib namespaces available for direct import g.bind('brick', rdflib.namespace.BRICK) g.bind('csvw', rdflib.namespace.CSVW) @@ -140,25 +132,37 @@ def _new_graph(): g.bind('vann', rdflib.namespace.VANN) g.bind('void', rdflib.namespace.VOID) g.bind('wgs', rdflib.namespace.WGS) - g.bind('xsd', rdflib.namespace.XSD) + g.bind('xsd', rdflib.namespace.XSD) + prefix2namespace = { + #namespaces already included elsewhere in VM code, but that could be directly imported using rdfLib instead + 'dc' : 'http://purl.org/dc/elements/1.1/', + 'dcat' : 'http://www.w3.org/ns/dcat/', + 'dcterms' : 'http://purl.org/dc/terms/', + 'org' : 'http://www.w3.org/ns/org/', + 'rdf' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns/', + 'rdfs' : 'http://www.w3.org/2000/01/rdf-schema/', + 'skos' : 'http://www.w3.org/2004/02/skos/core/', #custom defined rdflib namespaces - g.bind('gist', rdflib.Namespace('https://ontologies.semanticarts.com/gist/')) - g.bind('oa', rdflib.Namespace('http://www.w3.org/ns/oa/')) - g.bind('webprotege', rdflib.Namespace('http://webprotege.stanford.edu/')) + 'gist' : 'https://ontologies.semanticarts.com/gist/', + 'oa' : 'http://www.w3.org/ns/oa/', + 'webprotege' : 'http://webprotege.stanford.edu/', #custom defined rdflib namespaces for eu project - g.bind('adms', rdflib.Namespace('http://www.w3.org/ns/adms/')) - g.bind('adms1', rdflib.Namespace('http://purl.org/adms/')) - g.bind('dg', rdflib.Namespace('https://w3id.org/dingo/')) - g.bind('eccf', rdflib.Namespace('http://data.europa.eu/54i/')) - g.bind('eubud', rdflib.Namespace('http://data.europa.eu/3rx/ontology/budget/')) - g.bind('eurio', rdflib.Namespace('http://data.europa.eu/s66/')) - g.bind('fabio', rdflib.Namespace('http://purl.org/spar/fabio/')) - g.bind('frapo', rdflib.Namespace('http://purl.org/cerif/frapo/')) - g.bind('locn', rdflib.Namespace('http://www.w3.org/ns/locn/')) - g.bind('patent', rdflib.Namespace('http://data.epo.org/linked-data/def/patent/')) - g.bind('schema', rdflib.Namespace('http://schema.org/')) - g.bind('turtle', rdflib.Namespace('http://www.semanticweb.org/owl/owlapi/turtle/')) - g.bind('xml', rdflib.Namespace('http://www.w3.org/XML/1998/namespace')) + 'adms' : 'http://www.w3.org/ns/adms/', + 'adms1' : 'http://purl.org/adms/', + 'dg' : 'https://w3id.org/dingo/', + 'eccf' : 'http://data.europa.eu/54i/', + 'eubud' : 'http://data.europa.eu/3rx/ontology/budget/', + 'eurio' : 'http://data.europa.eu/s66/', + 'fabio' : 'http://purl.org/spar/fabio/', + 'frapo' : 'http://purl.org/cerif/frapo/', + 'locn' : 'http://www.w3.org/ns/locn/', + 'patent' : 'http://data.epo.org/linked-data/def/patent/', + 'schema' : 'http://schema.org/', + 'turtle' : 'http://www.semanticweb.org/owl/owlapi/turtle/', + 'xml' : 'http://www.w3.org/XML/1998/namespace', +} + for prefix, namespace in prefix2namespace.items(): + g.bind(prefix, rdflib.Namespace(namespace)) return g From 01dd318ac64ef1c3d62dacfee48403f9d5d8b743 Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Mon, 2 Jun 2025 17:02:22 +0200 Subject: [PATCH 07/13] syntax fix --- sheet_to_triples/rdf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index 7e515fe..d032fb7 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -160,7 +160,7 @@ def _new_graph(): 'schema' : 'http://schema.org/', 'turtle' : 'http://www.semanticweb.org/owl/owlapi/turtle/', 'xml' : 'http://www.w3.org/XML/1998/namespace', -} + } for prefix, namespace in prefix2namespace.items(): g.bind(prefix, rdflib.Namespace(namespace)) return g From 0db86776a71b115e19d26a5b28d2a22024787c18 Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Mon, 2 Jun 2025 17:14:44 +0200 Subject: [PATCH 08/13] Dictionary better formatted and placed correctly --- sheet_to_triples/rdf.py | 64 ++++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index d032fb7..c874269 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -12,6 +12,38 @@ VM = rdflib.Namespace('http://visual-meaning.com/rdf/') VMHE = VM['HE/'] +PREFIX2NAMESPACE = { + + #namespaces already included elsewhere in VM code, but that could be directly imported using rdfLib instead + 'dc' : 'http://purl.org/dc/elements/1.1/', + 'dcat' : 'http://www.w3.org/ns/dcat/', + 'dcterms' : 'http://purl.org/dc/terms/', + 'org' : 'http://www.w3.org/ns/org/', + 'rdf' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns/', + 'rdfs' : 'http://www.w3.org/2000/01/rdf-schema/', + 'skos' : 'http://www.w3.org/2004/02/skos/core/', + + #custom defined rdflib namespaces + 'gist' : 'https://ontologies.semanticarts.com/gist/', + 'oa' : 'http://www.w3.org/ns/oa/', + 'webprotege' : 'http://webprotege.stanford.edu/', + + #custom defined rdflib namespaces for eu project + 'adms' : 'http://www.w3.org/ns/adms/', + 'adms1' : 'http://purl.org/adms/', + 'dg' : 'https://w3id.org/dingo/', + 'eccf' : 'http://data.europa.eu/54i/', + 'eubud' : 'http://data.europa.eu/3rx/ontology/budget/', + 'eurio' : 'http://data.europa.eu/s66/', + 'fabio' : 'http://purl.org/spar/fabio/', + 'frapo' : 'http://purl.org/cerif/frapo/', + 'locn' : 'http://www.w3.org/ns/locn/', + 'patent' : 'http://data.epo.org/linked-data/def/patent/', + 'schema' : 'http://schema.org/', + 'turtle' : 'http://www.semanticweb.org/owl/owlapi/turtle/', + 'xml' : 'http://www.w3.org/XML/1998/namespace', + } + _ISSUES_PREFIX = VM['issues/'] _USES_MAP_TILES = VM.usesMapTiles @@ -112,6 +144,7 @@ def _new_graph(): g = rdflib.Graph() g.bind('vm', VM) g.bind('vmhe', VMHE) + # rdflib namespaces available for direct import g.bind('brick', rdflib.namespace.BRICK) g.bind('csvw', rdflib.namespace.CSVW) @@ -133,35 +166,8 @@ def _new_graph(): g.bind('void', rdflib.namespace.VOID) g.bind('wgs', rdflib.namespace.WGS) g.bind('xsd', rdflib.namespace.XSD) - prefix2namespace = { - #namespaces already included elsewhere in VM code, but that could be directly imported using rdfLib instead - 'dc' : 'http://purl.org/dc/elements/1.1/', - 'dcat' : 'http://www.w3.org/ns/dcat/', - 'dcterms' : 'http://purl.org/dc/terms/', - 'org' : 'http://www.w3.org/ns/org/', - 'rdf' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns/', - 'rdfs' : 'http://www.w3.org/2000/01/rdf-schema/', - 'skos' : 'http://www.w3.org/2004/02/skos/core/', - #custom defined rdflib namespaces - 'gist' : 'https://ontologies.semanticarts.com/gist/', - 'oa' : 'http://www.w3.org/ns/oa/', - 'webprotege' : 'http://webprotege.stanford.edu/', - #custom defined rdflib namespaces for eu project - 'adms' : 'http://www.w3.org/ns/adms/', - 'adms1' : 'http://purl.org/adms/', - 'dg' : 'https://w3id.org/dingo/', - 'eccf' : 'http://data.europa.eu/54i/', - 'eubud' : 'http://data.europa.eu/3rx/ontology/budget/', - 'eurio' : 'http://data.europa.eu/s66/', - 'fabio' : 'http://purl.org/spar/fabio/', - 'frapo' : 'http://purl.org/cerif/frapo/', - 'locn' : 'http://www.w3.org/ns/locn/', - 'patent' : 'http://data.epo.org/linked-data/def/patent/', - 'schema' : 'http://schema.org/', - 'turtle' : 'http://www.semanticweb.org/owl/owlapi/turtle/', - 'xml' : 'http://www.w3.org/XML/1998/namespace', - } - for prefix, namespace in prefix2namespace.items(): + + for prefix, namespace in PREFIX2NAMESPACE.items(): g.bind(prefix, rdflib.Namespace(namespace)) return g From 0ecbdef8693e394cd23583cbb79da4c60a149acc Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Mon, 2 Jun 2025 17:22:32 +0200 Subject: [PATCH 09/13] Fix linting errors --- sheet_to_triples/rdf.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index c874269..10c79d0 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -13,22 +13,23 @@ VM = rdflib.Namespace('http://visual-meaning.com/rdf/') VMHE = VM['HE/'] PREFIX2NAMESPACE = { - - #namespaces already included elsewhere in VM code, but that could be directly imported using rdfLib instead + + # namespaces already included elsewhere in VM code, + # but that could be directly imported using rdfLib instead 'dc' : 'http://purl.org/dc/elements/1.1/', 'dcat' : 'http://www.w3.org/ns/dcat/', 'dcterms' : 'http://purl.org/dc/terms/', 'org' : 'http://www.w3.org/ns/org/', 'rdf' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns/', 'rdfs' : 'http://www.w3.org/2000/01/rdf-schema/', - 'skos' : 'http://www.w3.org/2004/02/skos/core/', - - #custom defined rdflib namespaces + 'skos' : 'http://www.w3.org/2004/02/skos/core/', + + # custom defined rdflib namespaces 'gist' : 'https://ontologies.semanticarts.com/gist/', 'oa' : 'http://www.w3.org/ns/oa/', 'webprotege' : 'http://webprotege.stanford.edu/', - - #custom defined rdflib namespaces for eu project + + # custom defined rdflib namespaces for eu project 'adms' : 'http://www.w3.org/ns/adms/', 'adms1' : 'http://purl.org/adms/', 'dg' : 'https://w3id.org/dingo/', @@ -144,7 +145,7 @@ def _new_graph(): g = rdflib.Graph() g.bind('vm', VM) g.bind('vmhe', VMHE) - + # rdflib namespaces available for direct import g.bind('brick', rdflib.namespace.BRICK) g.bind('csvw', rdflib.namespace.CSVW) @@ -165,10 +166,10 @@ def _new_graph(): g.bind('vann', rdflib.namespace.VANN) g.bind('void', rdflib.namespace.VOID) g.bind('wgs', rdflib.namespace.WGS) - g.bind('xsd', rdflib.namespace.XSD) - + g.bind('xsd', rdflib.namespace.XSD) + for prefix, namespace in PREFIX2NAMESPACE.items(): - g.bind(prefix, rdflib.Namespace(namespace)) + g.bind(prefix, rdflib.Namespace(namespace)) return g From 568284adc3b37e746d4acd2872d4332c347dcf1a Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Mon, 2 Jun 2025 17:24:36 +0200 Subject: [PATCH 10/13] More linting errors --- sheet_to_triples/rdf.py | 59 +++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index 10c79d0..98525c2 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -13,37 +13,34 @@ VM = rdflib.Namespace('http://visual-meaning.com/rdf/') VMHE = VM['HE/'] PREFIX2NAMESPACE = { - - # namespaces already included elsewhere in VM code, - # but that could be directly imported using rdfLib instead - 'dc' : 'http://purl.org/dc/elements/1.1/', - 'dcat' : 'http://www.w3.org/ns/dcat/', - 'dcterms' : 'http://purl.org/dc/terms/', - 'org' : 'http://www.w3.org/ns/org/', - 'rdf' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns/', - 'rdfs' : 'http://www.w3.org/2000/01/rdf-schema/', - 'skos' : 'http://www.w3.org/2004/02/skos/core/', - - # custom defined rdflib namespaces - 'gist' : 'https://ontologies.semanticarts.com/gist/', - 'oa' : 'http://www.w3.org/ns/oa/', - 'webprotege' : 'http://webprotege.stanford.edu/', - - # custom defined rdflib namespaces for eu project - 'adms' : 'http://www.w3.org/ns/adms/', - 'adms1' : 'http://purl.org/adms/', - 'dg' : 'https://w3id.org/dingo/', - 'eccf' : 'http://data.europa.eu/54i/', - 'eubud' : 'http://data.europa.eu/3rx/ontology/budget/', - 'eurio' : 'http://data.europa.eu/s66/', - 'fabio' : 'http://purl.org/spar/fabio/', - 'frapo' : 'http://purl.org/cerif/frapo/', - 'locn' : 'http://www.w3.org/ns/locn/', - 'patent' : 'http://data.epo.org/linked-data/def/patent/', - 'schema' : 'http://schema.org/', - 'turtle' : 'http://www.semanticweb.org/owl/owlapi/turtle/', - 'xml' : 'http://www.w3.org/XML/1998/namespace', - } + # namespaces already included elsewhere in VM code, + # but that could be directly imported using rdfLib instead + 'dc' : 'http://purl.org/dc/elements/1.1/', + 'dcat' : 'http://www.w3.org/ns/dcat/', + 'dcterms' : 'http://purl.org/dc/terms/', + 'org' : 'http://www.w3.org/ns/org/', + 'rdf' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns/', + 'rdfs' : 'http://www.w3.org/2000/01/rdf-schema/', + 'skos' : 'http://www.w3.org/2004/02/skos/core/', + # custom defined rdflib namespaces + 'gist' : 'https://ontologies.semanticarts.com/gist/', + 'oa' : 'http://www.w3.org/ns/oa/', + 'webprotege' : 'http://webprotege.stanford.edu/', + # custom defined rdflib namespaces for eu project + 'adms' : 'http://www.w3.org/ns/adms/', + 'adms1' : 'http://purl.org/adms/', + 'dg' : 'https://w3id.org/dingo/', + 'eccf' : 'http://data.europa.eu/54i/', + 'eubud' : 'http://data.europa.eu/3rx/ontology/budget/', + 'eurio' : 'http://data.europa.eu/s66/', + 'fabio' : 'http://purl.org/spar/fabio/', + 'frapo' : 'http://purl.org/cerif/frapo/', + 'locn' : 'http://www.w3.org/ns/locn/', + 'patent' : 'http://data.epo.org/linked-data/def/patent/', + 'schema' : 'http://schema.org/', + 'turtle' : 'http://www.semanticweb.org/owl/owlapi/turtle/', + 'xml' : 'http://www.w3.org/XML/1998/namespace', +} _ISSUES_PREFIX = VM['issues/'] _USES_MAP_TILES = VM.usesMapTiles From f0ca5d1c1d027fb217d55ebec6ae5a08e5478b5a Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Mon, 2 Jun 2025 18:15:14 +0200 Subject: [PATCH 11/13] Add dct --- sheet_to_triples/rdf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index 98525c2..59c079f 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -17,6 +17,7 @@ # but that could be directly imported using rdfLib instead 'dc' : 'http://purl.org/dc/elements/1.1/', 'dcat' : 'http://www.w3.org/ns/dcat/', + 'dct' : 'http://purl.org/dc/terms/', 'dcterms' : 'http://purl.org/dc/terms/', 'org' : 'http://www.w3.org/ns/org/', 'rdf' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns/', From 901037e64dab8ca648390f271a3fdb9dabb80ffb Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Tue, 3 Jun 2025 19:00:09 +0200 Subject: [PATCH 12/13] correction to org namespace --- sheet_to_triples/rdf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index 59c079f..667618c 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -19,7 +19,7 @@ 'dcat' : 'http://www.w3.org/ns/dcat/', 'dct' : 'http://purl.org/dc/terms/', 'dcterms' : 'http://purl.org/dc/terms/', - 'org' : 'http://www.w3.org/ns/org/', + 'org' : 'http://www.w3.org/ns/org#', 'rdf' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns/', 'rdfs' : 'http://www.w3.org/2000/01/rdf-schema/', 'skos' : 'http://www.w3.org/2004/02/skos/core/', From e30f26285d5c6301afe7637d80525fca13be52ea Mon Sep 17 00:00:00 2001 From: amy-jenn <83969579+amy-jenn@users.noreply.github.com> Date: Tue, 3 Jun 2025 22:14:10 +0200 Subject: [PATCH 13/13] added back hashes to end of namespaces and added extra prefixes picked up from other ontologies --- sheet_to_triples/rdf.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/sheet_to_triples/rdf.py b/sheet_to_triples/rdf.py index 667618c..8c954fc 100644 --- a/sheet_to_triples/rdf.py +++ b/sheet_to_triples/rdf.py @@ -16,30 +16,37 @@ # namespaces already included elsewhere in VM code, # but that could be directly imported using rdfLib instead 'dc' : 'http://purl.org/dc/elements/1.1/', - 'dcat' : 'http://www.w3.org/ns/dcat/', + 'dcat' : 'http://www.w3.org/ns/dcat#', 'dct' : 'http://purl.org/dc/terms/', 'dcterms' : 'http://purl.org/dc/terms/', 'org' : 'http://www.w3.org/ns/org#', - 'rdf' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns/', - 'rdfs' : 'http://www.w3.org/2000/01/rdf-schema/', - 'skos' : 'http://www.w3.org/2004/02/skos/core/', + 'rdf' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', + 'rdfs' : 'http://www.w3.org/2000/01/rdf-schema#', + 'skos' : 'http://www.w3.org/2004/02/skos/core#', # custom defined rdflib namespaces 'gist' : 'https://ontologies.semanticarts.com/gist/', 'oa' : 'http://www.w3.org/ns/oa/', 'webprotege' : 'http://webprotege.stanford.edu/', # custom defined rdflib namespaces for eu project - 'adms' : 'http://www.w3.org/ns/adms/', - 'adms1' : 'http://purl.org/adms/', + 'adms' : 'http://www.w3.org/ns/adms#', + 'adms1' : 'http://purl.org/adms#', + 'dc11' : 'http://purl.org/dc/elements/1.1/', 'dg' : 'https://w3id.org/dingo/', 'eccf' : 'http://data.europa.eu/54i/', - 'eubud' : 'http://data.europa.eu/3rx/ontology/budget/', - 'eurio' : 'http://data.europa.eu/s66/', + 'eubud' : 'http://data.europa.eu/3rx/ontology/budget#', + 'dctype' : 'http://purl.org/dc/dcmitype/>', + 'eurio' : 'http://data.europa.eu/s66#', 'fabio' : 'http://purl.org/spar/fabio/', 'frapo' : 'http://purl.org/cerif/frapo/', + 'geo' : 'http://www.w3.org/2003/01/geo/wgs84_pos#', + 'gr' : 'http://purl.org/goodrelations/v1#', 'locn' : 'http://www.w3.org/ns/locn/', + 'ns0' : 'http://www.w3.org/2003/06/sw-vocab-status/ns#', 'patent' : 'http://data.epo.org/linked-data/def/patent/', 'schema' : 'http://schema.org/', - 'turtle' : 'http://www.semanticweb.org/owl/owlapi/turtle/', + 'turtle' : 'http://www.semanticweb.org/owl/owlapi/turtle#', + 'vcard' : 'http://www.w3.org/2006/vcard/ns#', + 'wot' : 'http://xmlns.com/wot/0.1/', 'xml' : 'http://www.w3.org/XML/1998/namespace', }