# baseURI: http://example.org/ruletry
# imports: http://datashapes.org/dash
# prefix: ruletry

@prefix dash: <http://datashapes.org/dash#> .
@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 ruletry: <http://example.org/ruletry#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://example.org/ruletry>
  rdf:type owl:Ontology ;
  owl:imports <http://datashapes.org/dash> ;
  owl:versionInfo "Created with TopBraid Composer" ;
.
ruletry:MyRadiator
  rdf:type ruletry:Radiator ;
.
ruletry:MySpace
  rdf:type ruletry:Space ;
  ruletry:hasRadiator ruletry:MyRadiator ;
  ruletry:size "large" ;
.
ruletry:Radiator
  rdf:type rdfs:Class ;
  rdf:type sh:NodeShape ;
  rdfs:subClassOf rdfs:Resource ;
  sh:rule ruletry:TripleRule_1 ;
.
ruletry:TripleRule_1  rdf:type sh:TripleRule ;
  sh:condition ruletry:PropertyShape_1 ;
  sh:object "big" ;
  sh:predicate ruletry:kind ;
  sh:subject sh:this ;
.
ruletry:PropertyShape_1 rdf:type sh:PropertyShape ;
                sh:inversePath (
                     ruletry:hasRadiator
                     ruletry:size
                         ) ;
                sh:hasValue "large" ;
.
ruletry:Space
  rdf:type rdfs:Class ;
  rdf:type sh:NodeShape ;
  rdfs:subClassOf rdfs:Resource ;
.
ruletry:hasRadiator
  rdf:type rdf:Property ;
  rdfs:domain ruletry:Space ;
  rdfs:range ruletry:Radiator ;
.
ruletry:kind
  rdf:type rdf:Property ;
  rdfs:domain ruletry:Radiator ;
  rdfs:range xsd:string ;
.
ruletry:size
  rdf:type rdf:Property ;
  rdfs:domain ruletry:Space ;
  rdfs:range xsd:string ;
.
