- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 19 Mar 2015 11:12:28 -0700
- To: Arthur Ryman <arthur.ryman@gmail.com>, Richard Cyganiak <richard@cyganiak.de>
- CC: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
-----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