Hi,
in addition to the comments of Dave:
On 03.02.23 11:16, Yang-Min KIM wrote:
OWL-B includes:
Daughter is subclass of Children. (rdfs:subClassOf)
Minor: use singular form for class named, i.e. Child
If X is Male and has Children Y, X is father of Y. (owl:inverseOf)
That doesn't sound like an owl:inverse statement, but more like an SWRL
rule. An owl:inverse does only state property p is inverse of property
q, thus, we can infer for any p(x, y) it also holds q(y, x)
Is it a rule or are those really OWL axioms? I doubt you can express
that in OWL though without using SWRL. If it is SWRL, then you will a)
use Pellet as reasoner or b) write that rule as a custom Jena rule
As Dave mentioned, you example ontology doesn't cover the domain you
describe. At least I could find any entity denoted "father" or similar.
Lorenz
On 06.02.23 10:19, Dave Reynolds wrote:
To configure use of a reasoner with fuseki see
https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html
under the section "Inference".
The reasoners are not graph-aware so the union of your ontology and
your instance data all need to appear in the default graph. Either by
loading them there directly OR by loading them as separate graphs and
setting default union flag.
However, the link you provide to your ontology doesn't match your
prose example in any way at all. In particular it seems to be a mix of
skos and linkml (whatever that is) and I see virtual no OWL in in
there.[*] Though it is a 1.3Mb turtle file so who knows what's
lurking. So on the face of it there's no OWL to reason over and you
won't get any useful results.
My advice would be to isolate a smaller test example of the kind of
reasoning you are trying to do and check that programmatically see
https://jena.apache.org/documentation/inference/index.html#OWLexamples
Then, if it seems like inference does work, you can tackle the
separate problem of setting that up within fuseki.
Dave
[*] In particular there's no use of rdfs:subClassOf. There are 188
owl:inverseOf states but they are applied to things of type
linkml:SlotDefinition which makes no sense at all.
On 03/02/2023 10:16, Yang-Min KIM wrote:
Dear Jena community,
I hope your day is going great.
I have a question about the ontology: we want to request an ontoogy
data A that also import another ontology OWL-B.
e.g.
A includes:
John is Male.
John has a daughter called Monica.
OWL-B includes:
Daughter is subclass of Children. (rdfs:subClassOf)
If X is Male and has Children Y, X is father of Y. (owl:inverseOf)
What I want to query:
Who is Monica's father?
Expected response:
John
To get expected response, Jena needs to include OWL-B then manage
implicit statement. However, I got results by explicit querying only:
Who is John's daughter? -> Monica
I'm sure there is a solution since I see "The OWL reasoner" in
<https://jena.apache.org/documentation/inference/index.html#owl>
Are there additional steps to include Ontology structure? (We are
using Fuseki's API REST)
Is it better to import OWL-B as a default graph or a named graph? and
what if we have several OWL files to import?
P.S. here is an example of our OWL file, BIolink Model, downloadable
via
<https://github.com/biolink/biolink-model/blob/master/biolink-model.ttl>
Thank you for your time.