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.