Re: a SHACL specification based on SPARQL

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This appears to be exactly backward.

To handle entailments we have to go beyond the graph.

peter


On 03/19/2015 09:58 AM, Arthur Ryman wrote:
> Richard,
> 
> I hope not :-)
> 
> My point is that in order to produce answers that users will expect, we
> need to go beyond entailment. In the example the the RDF graph contains a
> term from OWL so users should use OWL entailment. However, OWL entailment
> will simply add more triples, e.g.:
> 
> ex:Darth owl:sameAs ex:Anakin .
> 
> However, the intention of the user is to assert that ex:Darth and 
> ex:Anakin denote the same resource. So from the user viewpoint the graph
> does not violate the cardinality constraint. However, if we naively count
> triples, then the graph violates the cardinality constraint.
> 
> This discord is very similar to the one we encounter with multiple 
> lexical forms for a given literal value. For example, suppose the 
> property ex:numberOfWheels has cardinality of exactly-one. Consider the
> following graph:
> 
> ex:MyUnicycle ex:numberOfWheels "1"^^xsd:integer . ex:MyUnicycle
> ex:numberOfWheels "01"^^xsd:integer .
> 
> A user might expect this to be valid since the two lexical forms 
> correspond to the same literal value. However, if we naively count 
> triples then the graph is invalid. Peter has repeatedly raised this 
> point.
> 
> The simple thing for SHACL to do is naive triple counting. However, this
> might cause a problem in some real-world situations. I think we'd need a
> way for users to specify the behavior they want. For example, we could
> introduce a canonical form function to pick a unique representative for
> each IRI or literal.
> 
> -- Arthur
> 
> On Thu, Mar 19, 2015 at 7:00 AM, Richard Cyganiak <richard@cyganiak.de>
> wrote:
>> Arthur,
>> 
>>> On 17 Mar 2015, at 20:00, Arthur Ryman <arthur.ryman@gmail.com>
>>> wrote:
>>> 
>>> Concerning RDFS, I'd prefer to see SHACL specified purely in terms
>>> of graphs, i.e. what you get after entailment.
>> 
>> […]
>> 
>>> For example, if I specify that ex:hasFather is zero-or-one, and have
>>> the following: ex:Luke ex:hasFather ex:Anakin . ex:Luke ex:hasFather
>>> ex:Darth . ex:Anakin owl:sameAs ex:Darth . then there should be no
>>> violation.
>> 
>> Aren’t you contradicting yourself here?
>> 
>> In the owl:sameAs example, the graph clearly contains two ex:hasFather
>> triples for ex:Luke. If ex:hasFather is zero-or-one, and SHACL is
>> specified purely in terms of graphs, then that has to be a violation.
>> 
>> Richard
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJVCxGMAAoJECjN6+QThfjz4ecH/jhNkqwqowdGmtFONOHyAx+D
Z48jxm9jayX969E1y1+wB+d06VzCfs1nAZrA82He2K8FWetYttR2Djqq8XC95m7F
C4KFCpmXPqNikkz443s28j6Jsz+J/qyhRtu0B1Sbva63wiEw5bFhMcE2th9gTMy1
afmh/JIUvZvqj+Q/NlgTmYt3Jir7Z4C8hRJ4TrbP3T7A25Bc7p6JzIm6XdyPRKEw
OtFhMpHdLoemoFxEI6ZM63iMqHFIHWNlEch/XNXM0uTpJIhA/Qu5JSZWw3XvTwIe
9T6vq3sljXBEClUoYaqmgZxISYZWIYRmLWCG+tqvECqfTSZkKEQQtPdLI5Wlo9w=
=ddoj
-----END PGP SIGNATURE-----

Received on Thursday, 19 March 2015 18:12:58 UTC