Hello Leonard; I'm not sure what was going on with your model that had
it running for days at a time. I expect you have something like the
following in the equivalentClass of :child:
:hasAge some xsd:integer[>= 1 , <= 18]
...and want something like the following to be classified as a member
of :child:
:Mikey :hasAge "18"^^xsd:integer
I researched this a bit and have concluded that OWL reasoners will not
make that kind of inference. The Pellet reasoner we have is old
(their license does not allow us to include it in our distribution)
and OWLIM needs updating as well. Bother are OWL 1.x reasoners. You
can get OWL 2 RL profile reasoning by choosing the Profile tab in the
ontology home. Then configure inference for TopSPIN. Again, the
above inference is not made with this profile.
My suggestion is to use SPIN. This is a SPARQL-based reasoner that
applies rules to all members of a class and its subClassOf
entailments. The OWL 2 RL profile is in fact specified by a set of
W3C rules implemented in SPARQL.
Then your problem becomes a simple one. Create a model that imports
the spin.rdf ontology (New... RDF/OWL/SPIN file) and define the
following rule for the Patients class:
CONSTRUCT {?this a :child }
WHERE
{ ?this :hasAge ?age .
FILTER (?age >= 1 && ?age <= 18)
}
This will infer members of :child per your criteria. It really is a
higher-level than RDF and you can guold other abstractions through
SPIN functions and templates, etc.
-- Scott
On Apr 18, 3:50 pm, Leonard Jacuzzo <[email protected]> wrote:
> Hello list,
>
> Thanks for all of your help in the past.
>
> I have a question that is a follow up to my question regarding defining a
> class in terms of restrictions using mininclusive, max inclusive etc.
>
> I have created an ontology that is meant to be useful for determining
> whether or not a set of individuals is a member of a given class as well as
> which individuals are members of which class.
>
> For example, Imagine that I have a set of instance data about a group of
> patients and I want to determine which of those patients are adults, which
> are children, which are elderly etc. In this case I have information about
> the ages of these patients and I have an Ontology that defines "adult",
> "child, "elder" etc. in terms of restrictions on the datatype property for
> "hasAge" in terms of maxinclusive, mininclusive etc. Basically, a child
> would be defined as a person that hasAge some minInclusive 1 and
> maxExclusive 18.
>
> So my question is, how can I use the capability of TBC M.E. to determine of
> a such a group of patients which patients are instances of which classes.
>
> I tried "inferencing" with SWIFT OWLIM and it did not make the inference. (I
> am certain that my OWL expression is correct, but I can send an example if
> necessary)
>
> I tried Pellet and after about 2days (using only 1 instance) I gave up. It
> got as far a "realizing" after about a day and got 3/4s of the way through
> realizing.
> I tried the built in Jena reasoner and it hung up for an hour while
> "querying triple 1240900" So I shut it down.
>
> So I am wondering how does one use native OWL logic to perform such a feat?
>
> I am sure I can use a SPARQL query, but I would like to move beyond simple
> RDF and take advantage of the capabilities of OWL.
>
> Maybe it is pointless?
>
> Any help will be greatly appreciated.
>
> Best wishes,
> Leonard
--
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