Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[p4-feedback] DL Query existential qualifier with 2 clauses?

Igor Toujilov name1390453675 at
Wed Nov 6 15:14:35 PST 2013

Hi Marisa,
Explicit variables are not available in Manchester syntax. However, if you query individuals (not classes), you can use variables in SWRL rules, and they will work together with a reasoner to resolve your query. For example, in your case you can use a helper rule:
person(?y), propA(?x, ?y), propB(?x, ?y) -> return(?x).
Then asking a reasoner in DL query about individuals of class expression “return” will provide your results.
----- Original Message -----
From: Timothy Redmond
Sent: 11/05/13 03:35 AM
To: Protege 4.x support and discussion
Subject: Re: [p4-feedback] DL Query existential qualifier with 2 clauses?

On 11/04/2013 07:25 PM, Marisa Gioioso wrote:hi all,

I have been familiarizing myself with the DL Query tab and Manchester Syntax. I’m trying to perform the following query:

Return ?x such that ?x propA ?y AND ?x propB ?y for some Person(?y)

I don't think you can do this in the DL Query tab for the reasons that you gave. As you indicate, if you modified the query to be
 Return ?x such that ?x propA ?y AND ?x propB ?z for some Person(?y) and Person(?z)
then you would be able to express this in the DL Query tab as the following expression
 (propA some Person) and (propB some Person) 
But as you have it the class of all such ?x probably can't be expressed in OWL 2. There are some proofs in some of the DL tableaux theorem provers that indicate why this sort of thing may lead to undecidability but I don't know if they say anything specific about your specific case.

SPARQL-DL should work as far as I know.


I believe I can do this in SPARQL and had originally tried working with the SPARQL plugin. Because the SPARQL tab does not support inferencing, and the object properties I’m working with are inferred, I moved on to the DL Query tab. But it seems that since the Manchester Syntax does not use variables, I cannot encode the query above in the DL Query tab? Or is there a way to do it without variables? In vain, I tried variants on:
(propA and propB) some Person.

(propA some Person) and (propB some Person)
does not yield what I want because I need the objects of the two statements to be the same person.

Actually, propA and propB in this case are symmetric. So I also tried:
propA some (Person that propB Self)

but that returned nothing.

If not, I will next try the SPARQL DL plugin that I just installed in my Protege 4.3. But the DL Query tab was preferable as it lets me add query results back into the ontology as new classes, and that’s really useful for what I’m doing.



_______________________________________________ p4-feedback mailing list  p4-feedback at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the p4-feedback mailing list