Which reasoner are you using?  Have you tried openllet (Pellet for Jena) to see if you get the desired result?

Out of curiosity, what notation (ontology syntax) are you using here?

On 12/5/2021 8:38 AM, Jakub Jałowiec wrote:
Hi,
I have an OWL ontology
https://github.com/kubajal/covidepid/blob/main/minimal_test.ttl.
The ontology has the following definitions:

    - Person
       - CatPerson (subClassOf Person + CatPerson equivalentTo hasPet only
       Cat)
    - Animal
       - Cat (subClassOf Animal)
    - hasPet: Person -> Animal

and the following instances:
    - person_1: Person and (hasPet only {cat_1})
    - cat_1: Cat
    - hasPet(person_1, cat_1)

I am using Apache Jena Fuseki 4.2.0 with the OWLFBRuleReasoner reasoner
(link to the configuration:
https://github.com/kubajal/covidepid/blob/main/minimal_test_config.ttl).

I am executing the following query in Fuseki:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX myOnt: <
http://www.semanticweb.org/kubajal/ontologies/2021/11/untitled-ontology-157/
SELECT ?s {
?s rdf:type myOnt:CatPerson .
}

No results are returned whereas I would expect person_1 to be returned (as
it is the case in e.g. Protege using Pellet).
I am using
https://jena.apache.org/documentation/ontology/#more-complex-class-expressions
as documentation which says that the "all values from" construct is
supported  (so e.g. "CatPerson equivalentTo hasPet only Cat" should work).
Am I missing something?

Best regards,
Jakub

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to