W3C home > Mailing lists > Public > public-shex-dev@w3.org > March 2016

conjunctive semantics

From: Eric Prud'hommeaux <eric@w3.org>
Date: Thu, 3 Mar 2016 04:19:53 -0500
To: Iovka Boneva <iovka.boneva@univ-lille1.fr>
Cc: Jose Emilio Labra Gayo <jelabra@gmail.com>, "Solbrig, Harold R." <Solbrig.Harold@mayo.edu>, public-shex-dev@w3.org
Message-ID: <20160303091950.GA30389@w3.org>
Any time for a quick chat? I examined clinical use cases for repeated
properties and I'm happy to fall back to conjunctive semantics, at
least for compatibility with SHACL. This means that the behavior in
the case of an included middle will be hard on users, but I think it
will be rare enough that we shouldn't include it of SHACL. OTOH, I
think that the repeated properties themselves are quite common and we
should push for all property constraints being qualified and an
implicit universal at end accounting for all of the matched triples.

Is there some way to use this for the oneOf vs. someOf problem?
The following examples indicate to me that it would be nice to
have something like a oneOf semantics because the semantics seem
more appropriate to use cases:

<S> { :shoeSize xsd:integer | :shoeSize xsd:float }
 { <s> :shoeSize 1 }        # pass
 { <s> :shoeSize 1, 1,0 }   # fail - cardinality
 { <s> :shoeSize "1" }      # fail - nothing matching OR, extra :shoeSize
 { <s> :shoeSize 1, "1" }   # fail - extra :shoeSize

<P> { :name . | :fName ., :lName }
 { <p> :name "Axel Len" }   # pass
 { <p> :name "Axel Len"; :fname "Axe" }
                            # fail - extra :fname
 { <p> :name "Axel Len"; :fname "Axel"; :lname "Len" }
                            # fail - extra :fname & :lname

<O> {
    :rel { :code snomed:Systolic },
    :rel { :code snomed:Diastolic }
  | :rel { :code icd9:Systolic },
    :rel { :code icd9:Diastolic } }
 { <o> :rel [ :code snomed:Systolic ], [ :code snomed:Diastolic ] }
                            # pass
 { <o> :rel [ :code snomed:Systolic ], [ :code icd9:Diastolic ] }
                            # fail - no matching OR, 2 extra :rels
 { <o> :rel [ :code snomed:Systolic ], [ :code snomed:Diastolic ],
       :rel [ :code   icd9:Systolic ], [ :code   icd9:Diastolic ] }
                            # fail - 1 extra :rel

The behavior in the face of repeated properties seems similar to that
for unary properties. Advice on how to describe this?
-- 
-ericP

office: +1.617.599.3509
mobile: +33.6.80.80.35.59

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.

There are subtle nuances encoded in font variation and clever layout
which can only be seen by printing this message on high-clay paper.
Received on Thursday, 3 March 2016 09:20:08 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 4 June 2019 11:00:16 UTC