Re: shapes-ISSUE-134 (knowing inverse): does SHACL syntax distinguish inverse property constraints [SHACL Spec]

_:c will be both a sh:PropertyConstraint and sh:InversePropertyConstraint.
Which SPARQL query will it pick?  Both?  In this case things might work out,
but what happens if the incoming links are from different places, as in

ex:s a sh:Shape ;
  sh:property _:c ;
  sh:property [ sh:predicate ex:q ;
                sh:valueShape [ sh:property _:c ] ] .

_:c [ sh:predicate ex:p ;
      sh:minCount 5 ] .

peter



On 03/10/2016 04:43 PM, Holger Knublauch wrote:
> In the current draft this is handled by sh:defaultValueType:
> 
> ex:s a sh:Shape ;
>   sh:property _:c ;
>   sh:inverseProperty _:c .
> _:c [ sh:predicate ex:p ;
>       sh:minCount 5 ] .
> 
> 
> The engine will "add" two type triples:
> 
> _:c a sh:PropertyConstraint .
> _:c a sh:InversePropertyConstraint .
> 
> The engine can then pick the correct validator (SPARQL query) for each
> rdf:type of that constraint.
> 
> Holger
> 
> 
> On 11/03/2016 7:15, RDF Data Shapes Working Group Issue Tracker wrote:
>> shapes-ISSUE-134 (knowing inverse): does SHACL syntax distinguish inverse
>> property constraints [SHACL Spec]
>>
>> http://www.w3.org/2014/data-shapes/track/issues/134
>>
>> Raised by: Peter Patel-Schneider
>> On product: SHACL Spec
>>
>> >From
>> https://lists.w3.org/Archives/Public/public-data-shapes-wg/2016Mar/0106.html
>>
>> Some constraint types require different SPARQL queries (or JavaScript or
>> whatever) depending on the direction of a property (or even worse, for an
>> arbitrary path). For example sh:minCount needs to count subjects versus
>> objects.
>>
>> Is it possible to determine whether a sh:minCount constraint is an inverse
>> or not?  Consider
>>
>> ex:s a sh:Shape ;
>>    sh:property _:c ;
>>    sh:inverseProperty _:c .
>> _:c [ sh:predicate ex:p ;
>>        sh:minCount 5 ] .
>>
>>
>>
> 
> 

Received on Friday, 11 March 2016 03:39:17 UTC