- From: Holger Knublauch <holger@topquadrant.com>
 - Date: Fri, 05 Dec 2014 18:44:38 +1000
 - To: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
 
On 12/5/14, 6:21 PM, Dean Allemang wrote:
> I am confused by this example - how do I know that the two constraints 
> refer to the value of ex:parent?   In this example, there is nothing 
> else it could apply to, so it is fine, but if there were another 
> :property constraint in this shape (or none at all), it wouldn't be so 
> clear.  Does this mean that a shape definition must have exactly one 
> property constraint?
Argh, yes of course. It needs to have :predicate in the QCRs, i.e.
ex:Person
     :property [
         :predicate ex:parent ;
         :valueType ex:Person ;
         :minCount 2 ;
         :maxCount 2 ;
     ] ;
     :constraint [
         a :ShapeConstraint ;
         :predicate ex:parent ;
         :shape ex:MalePerson ;
         :minCount 1 ;
         :maxCount 1 ;
     ] ;
     :constraint [
         a :ShapeConstraint ;
         :predicate ex:parent ;
         :shape ex:FemalePerson ;
         :minCount 1 ;
         :maxCount 1 ;
     ] ;
>
>
> I'm not sure if the credit/default swap story is really relevant here 
> (we tend to think of that as a rule instead of a shape, but I'm not 
> sure that is correct, either).  A credit-default swap is an instrument 
> with (among other things) two legs (the "premium" and the 
> "contingent").  The legs each has a currency.  A Mixed-currency one 
> has different currencies for the two legs.  How would I refer to the 
> two currencies in a single statement in this form?  I feel as if I 
> need a variable for each of these currencies, and a way to express ?c1 
> != ?c2 .
For many scenarios, the above templates would not be sufficient, and 
people can fall back to SPARQL for those scenarios.
Thanks,
Holger
Received on Friday, 5 December 2014 08:45:14 UTC