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

Reply via email to