Re: Stand-alone Shapes and oslc:valueRange implemented in SPIN

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