# HG changeset patch # User Fabien Amarger <fabien.amarger@logilab.fr> # Date 1709193458 -3600 # Thu Feb 29 08:57:38 2024 +0100 # Node ID a626feac4ea4c29a9fdb11bcadd9d55523f557e9 # Parent 4e4f832447526e7e858393f06370836311493b13 feat(process): Use upload_graph_to_sparql_endpoint into the default process type diff --git a/cubicweb_rodolf/sobjects/process_type_registry.py b/cubicweb_rodolf/sobjects/process_type_registry.py --- a/cubicweb_rodolf/sobjects/process_type_registry.py +++ b/cubicweb_rodolf/sobjects/process_type_registry.py @@ -2,9 +2,11 @@ from rdflib import Graph from cubicweb.appobject import AppObject -from cubicweb import Binary -from cubicweb_rodolf.process_helpers import get_graph_from_url +from cubicweb_rodolf.process_helpers import ( + get_graph_from_url, + upload_graph_to_sparql_endpoint, +) from cubicweb_rodolf.schema import ImportProcess @@ -14,15 +16,24 @@ def __call__(self, import_process: ImportProcess, log: logging.Logger) -> Graph: import_recipe = import_process.import_recipe[0] + import_procedure = import_process.import_procedure[0] dataservice = import_recipe.dataservice[0] graph = get_graph_from_url(dataservice.data_url, log) + dataset_file = self._cw.create_entity( + "File", + title=f"Graph file for ImportProcess#{import_process.eid}", + data=Binary(graph.serialize(format="ttl").encode("utf8")), + data_name=f"data_ImportProcess_{import_process.eid}.ttl", + data_format="text/turtle", + ) import_process.cw_set( - has_output_dataset=self._cw.create_entity( - "File", - title=f"Graph file for ImportProcess#{import_process.eid}", - data=Binary(graph.serialize(format="ttl").encode("utf8")), - data_name=f"data_ImportProcess_{import_process.eid}.ttl", - data_format="text/turtle", - ) + has_output_dataset=dataset_file, + ) + upload_graph_to_sparql_endpoint( + import_procedure, + graph, + import_recipe.graph_uri, + dataset_file.data_name, + log, ) return graph