Search Mailing List Archives
[protege-owl] Separating TBox and ABox
tredmond at stanford.edu
Wed Nov 17 10:20:44 PST 2010
On 11/17/2010 06:39 AM, Jdisc Sobrename wrote:
> Ps: Sorry if the message arrived 2 times.
> I don´t have sure if I should use OWL API or Protege-OWL API for this,
> but my question is, if I want to separate the TBox and ABox, in a
> programing level, can I do that?
If you use the Manchester OWL api (owlapi.sourceforge.net), this would
not be hard to develop. There may very well be a utility somewhere for
this but I am not sure where it is. To develop it from scratch you
think about the original ontology as a set of axioms. Your job is to go
through the axioms and decide which of these are tbox axioms and which
of these are abox axioms. By and large the choice will be determined by
the type of axiom. So OWLDataPropertyAssertionAxiom's and
OWLObjectPropertyAssertionAxiom's would go in the abox and
OWLSubClassOfAxiom's would go in the tbox.
Roughly speaking, if I were to write this from scratch, I would
1. open the source ontology and create the tbox and abox ontologies
2. loop through sourceOntology.getAxioms()
1. pass each axiom to an axiom visitor which would decide
whether to add the axiom to a list of abox axioms or a list
of tbox axioms
3. add the collected changes to the tbox and abox ontologies
4. save the tbox and abox ontologies
For someone who is used to the Manchester OWL api this utility could be
written very quickly. It is very likely that there is a utility for
this - probably in the OWL api. You could ask this on the owl api
mailing list page.
> For example, I can just use a method like:
> and then save them separatedly? Or I will loose some references and
> need to keep them together?
> best regards,
> protege-owl mailing list
> protege-owl at lists.stanford.edu
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the protege-owl