dcausse added a comment.
Thanks for all the feedback. I'll discard the "constant" option. A note on the motivations: we plan to redesign the update process as a set of trivial mutations to the graph, as far as I can see updating a graph with blank nodes cannot be a "trivial operation", citing http://www.aidanhogan.com/docs/blank_nodes_jws.pdf (page 10 //Issues with blank nodes//): > Given a fixed, serialised RDF graph (i.e., a document), labelling of blank nodes can vary across parsers and across time. Checking if two representations originate from the same data thus often requires an isomorphism check, for which in general, no polynomial algorithms are known. By making some assumptions on the wikibase RDF model I believe that generating a diff between two entity revisions should be relatively easy even if blank nodes are involved, the problem is when applying this diff to the RDF backend, if it involves blank nodes it cannot be a set of trivial mutations (here trivial means using `INSERT|DELETE DATA` statements). E.g. if the diff indicates that we need to remove: wd:Q2 wdt:P576 _:genid1 because `DELETE DATA` is not possible with blank nodes we have to send something like DELETE { ?s ?p ?o } WHERE { wd:Q2 wdt:P576 ?o . FILTER(isBlank(?o)) ?s ?p ?o } Which will delete all blank nodes attached to `wd:Q2` by `wdt:P576`. I haven't checked but I hope that at most one blank node can be attached to the same subject/predicate, if not this makes the sync algorithm a bit more complex. TASK DETAIL https://phabricator.wikimedia.org/T244341 EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/ To: dcausse Cc: Jheald, Daniel_Mietchen, mkroetzsch, Denny, Lucas_Werkmeister_WMDE, Aklapper, dcausse, darthmon_wmde, Nandana, Lahi, Gq86, GoranSMilovanovic, QZanden, EBjune, merbst, LawExplorer, _jensen, rosalieper, Scott_WUaS, Jonas, Xmlizer, jkroll, Smalyshev, Wikidata-bugs, Jdouglas, aude, Tobias1984, Manybubbles, Mbch331
_______________________________________________ Wikidata-bugs mailing list Wikidata-bugs@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs