@base <http://example.com/ns> .
@prefix ex: <http://example.com/ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dash: <http://datashapes.org/dash#> .
@prefix rsx: <http://rdf4j.org/shacl-extensions#> .

ex:PersonShape
	a sh:NodeShape  ;
	rsx:targetShape [
        		a sh:NodeShape ;
        		sh:and (
        		        [
        		                sh:path rdf:type;
        		                sh:hasValue ex:Person
        		        ]

        		        [

        		                sh:or (
        		                        [sh:path rdfs:label; sh:hasValue "Peter" ]
        		                        [sh:path rdfs:label; sh:hasValue "Jennifer" ]
        		                        [sh:path rdfs:label; sh:hasValue "Sue" ]
        		                )
        		        ]
        		);
        	] ;

	sh:property [
		sh:path ex:knows ;
		sh:class ex:Person ;
	] .

