PREFIX seas:
PREFIX rdfs:
PREFIX owl:
PREFIX xsd:
PREFIX vs:
PREFIX sgfn:
WHEREVER {
?p a ?d .
FILTER( strstarts( xsd:string( ?d ) , "http://purl.oclc.org/NET/ssnx/qu/dim#" ) )
BIND( strafter( xsd:string( ?d ) , "http://purl.oclc.org/NET/ssnx/qu/dim#" ) AS ?dim )
BIND( replace( ?dim, "([A-Z])", " $1") AS ?dim2)
}
CONSTRUCT {
a owl:Class ;
rdfs:label "{?dim2} Property"@en ;
rdfs:comment "The class of{?dim2} properties."@en ;
rdfs:subClassOf seas:Property ;
vs:term_status "testing" ;
rdfs:isDefinedBy seas:ClimateAndForecastOntology .
a owl:Class ;
rdfs:label "{?dim2} Evaluation"@en ;
rdfs:comment "The class of evaluations for{?dim2} properties."@en ;
rdfs:subClassOf seas:Evaluation ;
rdfs:subClassOf ?{ sgfn:bnode( ?dim ) } ;
owl:equivalentClass ?{ sgfn:bnode( ?dim ) } ;
vs:term_status "testing" ;
rdfs:isDefinedBy seas:ClimateAndForecastOntology .
?{ sgfn:bnode( ?dim ) } owl:onProperty seas:evaluationOf ;
owl:someValuesFrom .
WHEREVER {
?p a ?d .
BIND( strafter( xsd:string( ?p ) , "http://purl.oclc.org/NET/ssnx/cf/cf-property#" ) AS ?prop )
}
CONSTRUCT {
(?prop) }> a owl:ObjectProperty , owl:FunctionalProperty ;
rdfs:label "{ replace( ?prop, "_", " ") }"@en ;
rdfs:comment "The { replace( ?prop, "_", " ") } of a feature of interest ."@en ;
rdfs:subPropertyOf seas:hasProperty ;
rdfs:domain seas:FeatureOfInterest ;
rdfs:range ;
vs:term_status "testing" ;
rdfs:isDefinedBy seas:ClimateAndForecastOntology .
}.
}