Re: multiple matching shapes and sh:closed

If you look at
https://lists.w3.org/Archives/Public/public-shacl/2020Jun/0005.html, we
plan to use more complex targeting than targetClass, eg

ex:PoliticianReferenceShape a sh:NodeShape;
  sh:property [sh:path rdf:type; sh:in (foaf:Person dbo:Person)];
  sh:property [sh:path dc:type; sh:hasValue "politician"];

But that's not the point. The point is that if I distribute the props in
some meaningful way
(eg name, birthDate in shape Person and party, politics in shape
Politician),
I cannot close either of them because I need to close the union of them.

Maybe I can use sh:and, and then sh:closed will look at all props occurring
in the different branches of the sh:and and traversing down to sh:path?

ex:PoliticianShape a sh:NodeShape;
  sh:target ex:PoliticianReferenceShape;
  sh:and (
    ex:PersonShape
    [sh:property [sh:path ex:politics; sh:in ("Democrat" "Republican")]]
    [sh:property [sh:path ex:party; sh:node ex:PartyReferenceShape]]
  );
  sh:closed true
.

Received on Thursday, 4 June 2020 17:08:34 UTC