Hello Topquadrant folks.
I have been pulling my hair out in an attempt to construct a SPIN rule that
is general enough to classify an instance for any datarange restriction
using maxInclusive and MinInclusive.
Going back to the running example. I have defined teenager as being
equivalent to the intersection of (Person, and hasAge only mininclusive 13,
and hasAge only maxinclusive 19).
I would like to have a person classified as being a teenager...But I would
like to have a general rule to do any classification of this nature and
attach it to Thing. Below is what I have come up with so far.
TBC rejects it based on syntax. Can anyone spot the problem(s)? I feel like
I am chasing my tail.
Here is what I have so far.
CONSTRUCT {?this a ?P}
WHERE {?this a ?B.
?P rdfs:subclassOf ?B.
?P owl:equivalentClass ?A.
?A owl:intersectionOf ?B, ?restriction, ?restriction2
?datatype owl:onDatatype xsd:float .
?datatype owl:withRestrictions ?var .
?datatype a rdfs:Datatype .
?restriction owl:allValuesFrom ?datatype .
?restriction a owl:Restriction .
?restriction owl:onProperty ?datatypeproperty .
?var rdf:first ?var1 .
?var1 xsd:minInclusive ?mval .
?x2 ?datatypeproperty ?val .
?datatype2 owl:onDatatype xsd:float .
?datatype2 owl:withRestrictions ?var .
?datatype2 a rdfs:Datatype .
?restriction2 owl:allValuesFrom ?datatype .
?restriction2 a owl:Restriction .
?restriction2 owl:onProperty ?datatypeproperty .
?var2 rdf:rest ?var3 .
?var3 xsd:maxInclusive ?maval .
?x2 ?datatypeproperty ?val2 .
FILTER (?val >= ?mval) .
FILTER (?val2 <= ?maval). }
--
You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include TopBraid Composer,
TopBraid Live, TopBraid Ensemble, SPARQLMotion and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en