I'm new here, and although I've searched for something like this, I couldn't find an answer. So here is my question: How Fuseki handles owl:imports?
Details: I've defined a set of ontologies in different owl files. Let's call two of them of subDomainA.owl
and subDomainB.owl.
To "join" these ontologies, I've defined a single owl file that imports the others. Let's call it completeDomain.owl
, which owl:imports subDomainA.owl
and subDomainB.owl
. There are a few statements explicitly declared in completeDomain.owl
. If it's not clear, It's something like sweetAll.owl
in SWEET.
I need to import these owl files (with RDF/XML syntax) into TDB using Fuseki. How these imports will be handled? I mean, should I load the completeDomain.owl
to the default graph and subDomainA.owl
and subDomainB.owl
to their respective graphs and Fuseki would "understand" imports and let me query all of them at once?
Using tdb:unionDefaultGraph
is the same thing? What would happen with the statements declared in completeDomain.owl
that uses entities declared in the subDomain ontologies? Also, I couldn't see the difference of tdb:unionDefaultGraph
and Union Model.
As you can see, I'm a little bit confused and any help will be appreciated!
Following the tips from Joshua bellow(thanks for them, by the way), here is the answer:
To organize
owl:imports
into Fuseki, there are 3 options:1) Import all ontologies files to the default graph.
2) Configure the store using
tdb:unionDefaultGraph
with true value, and import each file to its own named graph. This way, Fuseki will answer a query to the default graph with the union of all named graphs. Also, each graph can be acessed by its named graph and/orSPARQL GRAPH
.3) A
Union Model
combines in a single graph other graphs. Any app would not be able to query the graphs separatedely.The original answer to this question is here!