Leonard; See http://workingontologist.org/

>
i.e. reasoning with blank nodes and restrictions via SPARQL

No such thing as reasoning with blank nodes.  Parsing through the bnode structure of the RDF representation of OWL is an unfortunate complication.  But in the end you can substitute named nodes for all bnodes and the queries will be exactly the same.  The RDF representation of OWL uses bnodes because each restriction is a unique entity, and creating a unique name would be difficult and unnecessary.

OWL is just a small corner case for SPARQL and RDF.  You'll rarely see models that use such structures, unless they implement OWL.

-- Scott

On 7/5/11 9:41 PM, Leonard Jacuzzo wrote:
Dean,
 
I am honored by your response.
 
Is there a place where we can list errata in your second edition?
 
Also, I was fairly disappointed by the paucity of this sort of information, i.e., reasoning with blank nodes and restrictions via SPARQL. It would have been a great edition to the explanation of OWL that carried over from the first edition.
 
Other than that, it is the only book that is readily understandable for a neophyte and has helped me a great deal.
 
Best wishes,
Leonard

On Tue, Jul 5, 2011 at 2:42 PM, Dean Allemang <[email protected]> wrote:
That blog entry was about owl 2 RL, not really any other profile (not DL, either). I didn't really want to look up which of DL, EL and QL supported this, but I was sure Full did.  

They are not available in OWL 2 RL, which is the point of that article. 

Sent from my iPhone

On Jul 4, 2011, at 3:55 PM, Leonard Jacuzzo <[email protected]> wrote:

Hi Irene,
 
I was just looking over those helpful links.
 
In the second, I noticed that Dean seemed to be asserting that using data range expressions is not possible in Owl 2.
 
This is one passage I had in mind:
 
OWL-Full allows something called Data Range Expressions, in which you can define a range to be a set of values
 
Is it true that OWL2 DL does not provide for these constructs? From what I was reading it seemed that it did.
 
Best wishes,
Leonard
 
 


On Tue, Apr 19, 2011 at 3:56 PM, Irene Polikoff <[email protected]> wrote:

Leonard,

 

A reasoner that supports all of OWL 2 will be able to make this inference. However, there are serious performance issues with supporting the entire spec. Because of these issues, OWL 2 profiles we created.

 

Here is a link to a presentation from Ian Horrocks that goes into a lot of details about OWL 2 http://www.comlab.ox.ac.uk/ian.horrocks/Seminars/download/OWL2-overview.ppt.

 

I will point out a couple of slides that are most important to this discussion:

 

On slide 28, you will see the following as a motivation for defining profiles:

 

          OWL only useful in practice if we can deal with large ontologies and/or large data sets

          Unfortunately, OWL is worst case highly intractable

        OWL 2 ontology satisfiability is 2NEXPTIME-complete

          Possible solution is profiles: language subsets with useful computational properties

          OWL defined one such profile: OWL Lite

        Unfortunately, it isn’t tractable either! (EXPTIME-complete)

 

Slide 29 lists the profiles defined for OWL 2:

 

          OWL 2 defines three different tractable profiles:

        EL: polynomial time reasoning for schema and data

          Useful for ontologies with large conceptual part

        QL: fast (logspace) query answering using RDBMs via SQL

          Useful for large datasets already stored in RDBs

        RL: fast (polynomial) query answering using rule-extended DBs

          Useful for large datasets stored as RDF triples

 

OWL RL and OWL QL are recommended profiles for use when you need to work with realistic datasets.

 

We have implemented OWL RL profile in SPIN. Other people, such as Ontotext with OWLIM, implemented OWL RL profile as well.

 

But, reasoning over mininclusive and maxinclusive is not officially a part of OWL RL (or OWL QL). I don’t believe this has to do with the computational properties. Rather it has to do with the type and extent of reasoning that could be done once you include mininclusive and maxinclusive into a profile.

 

In any case, since OWL RL is rules, you can extend the standard OWL RL rule set to add a rule to address the type of inference you need.

 

Scott’s suggestion is very specific to what you are wanting to do with age. In addition to it, here is a pretty detailed example with screenshots showing how you can add a more generic rule: http://dallemang.typepad.com/my_weblog/2010/08/extending-owl-rl-.html

 

Regards,

 

Irene Polikoff

 

From: [email protected] [mailto:[email protected]] On Behalf Of Leonard Jacuzzo
Sent: Tuesday, April 19, 2011 12:45 PM
To: [email protected]
Subject: Re: [topbraid-users] Re: Classifying Instances.

 

Thanks Scott.

I will give that  a try.

 

 However I wonder, when you wrote  that OWL reasoners will not make this inference, were you intending "No OWL reasoner will make this inference" or "No OWL reasoner bundled with TBC will make this inference"?

 

I ask because if no OWL reasoners will make this inference, then I am left wondering why everyone is so geeked on OWL.

 

Best,

Leonard

On Tue, Apr 19, 2011 at 1:06 AM, Scott Henninger <[email protected]> wrote:

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

 

--

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
--
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

--
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
--
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

--
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

--
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

Reply via email to