On 30/05/2019 17:45, Benjamin Good wrote:
I'd like to restate the initial question.
Why did wikidata choose shex instead of other approaches?
From this very detailed comparison
http://book.validatingrdf.com/bookHtml013.html (thank you Andra!) I could
see arguments in both directions. I'm curious to know what swayed the
wikidata software team as my group is currently grappling with the same
decision.
One of the key differences would seem to be that SHACL has been
deliberately constructed to directly representable in RDF -- so a SHACL
expression could be put straight into WDQS and made queryable for what
it pertains to.
I'm not clear whether there is an RDF representation of ShEx that could
be added to WDQS -- this is a point that would be useful to clarify;
and, if not, whether work is going on in this direction.
IMO, it would be a very important asset to be able to query the Shape
specifications using SPARQL -- querying not for compliance, but for what
the specifications actually contain.
On the other hand, SHACL seems very strongly based on shapes for members
that are connected by an "is a" relationship.
It's not immediately clear to me whether SHACL adapts easily to
memberships defined by eg P31 "instance on" or P279 "subclass of"
statements, etc; also memberships possibly further defined or limited by
other statements.
It would seem a basic requirement, but I didn't see it on a first quick
skim-read.
-- James.