Separation of schema and instances


I´m quiet new to Stardog.
It´s unclear to me, how do I seperate the schema/ontology/Tbox and the instances/individual/Abox.
Via named graphs? Or different DBs? What´s the best practise ?
And what do I do with multiple layers (e.g. upper, lower) of ontologies?

best regards

Welcome to Stardog.

You're not required to separate your abox/tbox but there are a number of ways that you can if you'd like depending on your particular use case. You could put them into separate databases but that would be an unusual case and I wouldn't recommend it unless you had a compelling reason.

By default Stardog will look for the tbox everywhere so just put it somewhere, anywhere, and you're good to go. You can configure Stardog to only look in specific named graphs. This would be the default schema. You can also tell Stardog where to find the schema to use for a specific query, overriding the default.

It's really up to you how you would like to organize your abox/tbox you might just have to adjust some properties depending on what you'd like to do.

The same goes for layering. As far as Stardog is concerned they're just more ontologies. I would keep in mind the additional computational requirements for additional axioms, the reasoning level and the expressivity of the upper level ontologies you add. Some of them can be very large and very complex and you'll have to carefully consider the cost/benefit.

1 Like

thanks for the fast answer!
One additional question:
Why do I can´t edit special named graphs? So I can only build a model via the UI on custom named graphs.

best regards