added methods processPropertyChanges, renameProperties, addProperties and deleteProperties to ABoxUpdater class

This commit is contained in:
ass92 2010-03-31 22:17:37 +00:00
parent 09134d7bf2
commit 60f47e51c3

View file

@ -4,7 +4,9 @@ import java.io.IOException;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import com.hp.hpl.jena.ontology.OntClass;
import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntProperty;
import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.rdf.model.ModelFactory;
@ -44,6 +46,7 @@ public class ABoxUpdater {
public void addClass(AtomicOntologyChange change) { public void addClass(AtomicOntologyChange change) {
} }
public void deleteClass(AtomicOntologyChange change) { public void deleteClass(AtomicOntologyChange change) {
@ -52,14 +55,10 @@ public class ABoxUpdater {
} }
public void processPropertyChanges(List<AtomicOntologyChange> changes) throws IOException { public void processPropertyChanges(List<AtomicOntologyChange> changes) throws IOException {
Iterator propItr = changes.iterator(); Iterator propItr = changes.iterator();
while(propItr.hasNext()){ while(propItr.hasNext()){
AtomicOntologyChange propChangeObj = (AtomicOntologyChange) AtomicOntologyChange propChangeObj = (AtomicOntologyChange)
propItr.next(); propItr.next();
switch (propChangeObj.getAtomicChangeType()){ switch (propChangeObj.getAtomicChangeType()){
case ADD: addProperties(propChangeObj); case ADD: addProperties(propChangeObj);
break; break;
@ -73,11 +72,40 @@ public class ABoxUpdater {
} }
} }
private void addProperties(AtomicOntologyChange propObj){ private void addProperties(AtomicOntologyChange propObj) throws IOException{
Statement tempStatement = null;
OntProperty tempProperty = newTboxModel.getOntProperty
(propObj.getDestinationURI()).getSuperProperty();
StmtIterator stmItr = aboxModel.listStatements();
int count = 0;
while(stmItr.hasNext()){
tempStatement = stmItr.nextStatement();
if(tempStatement.getPredicate().getURI().
equalsIgnoreCase(tempProperty.getURI())){
count++;
} }
private void deleteProperties(AtomicOntologyChange propObj){ }
logger.log("The Property " + tempProperty.getURI() +
"which occurs " + count + "times in database has " +
"a new subProperty " + propObj.getDestinationURI() +
"added to Core 1.0");
logger.log("Please review accordingly");
}
private void deleteProperties(AtomicOntologyChange propObj) throws IOException{
OntModel deletePropModel = ModelFactory.createOntologyModel();
Statement tempStatement = null;
StmtIterator stmItr = aboxModel.listStatements();
while(stmItr.hasNext()){
tempStatement = stmItr.nextStatement();
if(tempStatement.getPredicate().getURI().equalsIgnoreCase
(propObj.getSourceURI())){
deletePropModel.add(tempStatement);
}
}
aboxModel = (OntModel) aboxModel.difference(deletePropModel);
record.recordRetractions(deletePropModel);
logger.log("All statements using " + propObj.getSourceURI() +
"were removed. Please refer removed data model");
} }
private void renameProperties(AtomicOntologyChange propObj){ private void renameProperties(AtomicOntologyChange propObj){
Model renamePropAddModel = ModelFactory.createDefaultModel(); Model renamePropAddModel = ModelFactory.createDefaultModel();
@ -85,12 +113,10 @@ public class ABoxUpdater {
ModelFactory.createDefaultModel(); ModelFactory.createDefaultModel();
Statement tempStatement = null; Statement tempStatement = null;
Property tempProperty = null; Property tempProperty = null;
StmtIterator stmItr = aboxModel.listStatements(); StmtIterator stmItr = aboxModel.listStatements();
while(stmItr.hasNext()){ while(stmItr.hasNext()){
tempStatement = stmItr.nextStatement(); tempStatement = stmItr.nextStatement();
if(tempStatement.getPredicate().toString(). if(tempStatement.getPredicate().getURI().
equalsIgnoreCase(propObj.getSourceURI())){ equalsIgnoreCase(propObj.getSourceURI())){
tempProperty = ResourceFactory.createProperty( tempProperty = ResourceFactory.createProperty(
propObj.getDestinationURI()); propObj.getDestinationURI());