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    

[protege-discussion] Reasoning- DL query - Reg

Timothy Redmond tredmond at
Fri May 20 12:29:13 PDT 2011

There are a couple of answers to this question.   The most commonly 
considered option is SPARQL.   The advantage of SPARQL is that it can be 
relatively fast because the queries that it is doing are quite simple.  
The disadvantage of SPARQL is that it is very low level (queries become 
complex to impossible very quickly) and it is an RDF tool so very little 
inference is included.  Protege 3 includes a basic SPARQL query tab.  
Plans are in place to create such a tab for Protege 4 as well.

Another option - if you use Protege 3 - is SQWRL.  One advantage of this 
tool over SPARQL is that this tool understands the OWL syntax.  So 
queries that are impossible or nearly impossible in SPARQL can be done 
easily in SQWRL.

Finally there is SPARQL-DL.  The big advantage of this language and the 
associated tools is that SPARQL-DL tools can do some inference.  So in 
SPARQL you have to state your queries exactly right.   If someone states 
essentially the same fact in some other way then SPARQL tools cannot see 
the inference.  For example,  in the attached ontology, it is known that 
Ram is a father of Raj but a sparql query for children of a man would 
not turn anything up.  The SPARQL-DL tool finds this inference easily.  
There is a SPARQL-DL plugin for Protege 4.  The disadvantage of 
SPARQL-DL tools is that it requires a reasoner.   I don't know enough 
about OWL reasoners that scale up to very large ontologies or reasonable 
sized ontologies with large numbers of instances.


On 05/19/2011 11:09 PM, Shanthi Bala wrote:
> Hi,
>    Is there any method to query OWL like prolog?
> For example
> my DB contains the following facts
>    Ram is a father of Raj ----------> father(Ram, Raj)
>    Situ is mother of Raj   ---------->  mother(Situ,Raj)
> X is a mother of Y(X and Y are variable)
>  It will display X= Ram and Y=Raj
> If i would like to make a query like above, how i can make query???
> example 2
>   X likes Y
> It should display all possible combination.
> Can u help in this regard,
> Thanks in advance,
> P.Shanthi Bala
> _______________________________________________
> protege-discussion mailing list
> protege-discussion at
> Instructions for unsubscribing:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Family.owl
Type: application/rdf+xml
Size: 5116 bytes
Desc: not available
URL: <>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: FamilyQuery
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sparql-dl.png
Type: image/png
Size: 88348 bytes
Desc: not available
URL: <>

More information about the protege-discussion mailing list