[Pellet-users] Detaching Pellet model from a base model

Todor Dimitrov todor.dimitrov at stud.uni-due.de
Wed Jul 16 16:16:37 UTC 2008


Hi everybody,

is there a possibility of detaching a Pellet model from its base model.
What I have tried is to add the base model as a sub-model and later on to
remove it. The problem is though that whenever I call close() on the
Pellet model, the base model also gets closed. Here is the example code:

...
m_pelletModel = ModelFactory.
createOntologyModel(PelletReasonerFactory.THE_SPEC);
m_pelletModel.addSubModel(m_baseModel);
...

...
m_pelletModel.removeSubModel(m_baseModel, false);
m_pelletModel.close();
...

If I then call for example:

...
final OntClass ontClass = m_baseModel.getOntClass(classUri);
final Individual individual = ontClass
                                .createIndividual(instanceUri);
...

I get the following exception:

Caused by: com.hp.hpl.jena.shared.ClosedException: already closed
        at com.hp.hpl.jena.graph.impl.GraphBase.checkOpen(GraphBase.java:62)
        at com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:239)
        at
org.mindswap.pellet.jena.DisjointMultiUnion.graphBaseFind(DisjointMultiUnion.java:125)
        at com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:240)
        at
com.hp.hpl.jena.graph.impl.GraphBase.graphBaseFind(GraphBase.java:260)
        at com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:257)
        at org.mindswap.pellet.jena.OWLLoader.hasObject(OWLLoader.java:396)
        at org.mindswap.pellet.jena.OWLLoader.node2term(OWLLoader.java:657)
        at
org.mindswap.pellet.jena.DisjointMultiUnion.addABoxChange(DisjointMultiUnion.java:446)
        at
org.mindswap.pellet.jena.DisjointMultiUnion.notifyAddTriple(DisjointMultiUnion.java:172)
        at
com.hp.hpl.jena.graph.impl.SimpleEventManager.notifyAddTriple(SimpleEventManager.java:60)
        at com.hp.hpl.jena.graph.impl.GraphBase.notifyAdd(GraphBase.java:133)
        at com.hp.hpl.jena.graph.impl.GraphBase.add(GraphBase.java:200)
        at
com.hp.hpl.jena.graph.compose.MultiUnion.performAdd(MultiUnion.java:116)
        at com.hp.hpl.jena.graph.impl.GraphBase.add(GraphBase.java:199)
        at com.hp.hpl.jena.rdf.model.impl.ModelCom.add(ModelCom.java:939)
        at
com.hp.hpl.jena.rdf.model.impl.ResourceImpl.addProperty(ResourceImpl.java:245)
        at
com.hp.hpl.jena.ontology.impl.OntModelImpl.getResourceWithType(OntModelImpl.java:2963)
        at
com.hp.hpl.jena.ontology.impl.OntModelImpl.createOntResource(OntModelImpl.java:1836)
        at
com.hp.hpl.jena.ontology.impl.OntModelImpl.createIndividual(OntModelImpl.java:1137)
        at
com.hp.hpl.jena.ontology.impl.OntClassImpl.createIndividual(OntClassImpl.java:679)


Any clues on what I might be doing wrong?


Thanks in advance,

Todor




More information about the Pellet-users mailing list