Frage

Ich habe ein Ontologie-Modell Jena ( OntModel ), die ich programmatisch bin ändern. Dieses Modell wurde zunächst die default ModelFactory Methode ein Ontologie-Modell (ohne Parameter) zu erstellen. Das Problem war, da das Programm lief und das Modell geändert wurde, würde der Standard Jena Reasoner läuft (und läuft und läuft und läuft). Der Prozess war ganz zu langsam für das, was ich brauche und würde aus dem Speicher auf großen Datensätzen ausgeführt werden.

änderte ich das Programm verwenden

War es hilfreich?

Lösung

Ich habe einige Hilfe und Anregungen , dann ist diese ist, wie ich dieses Problem gelöst.

Im Grunde habe ich Zugang zu einem anderen Modell gewonnen ohne Reasoner, batched alle meine Änderungen an dem Basismodell, Rebound dann das volle Modell mit dem reasoner die Updates zu erhalten.

Hier ist ein Pseudo-Code. Es ist nicht gerade mein „echtes“ Szenario passen, aber Sie bekommen die Idee.

// Create a model with a reasoner and load the full model from owl files or
// whatever
OntModel fullModel = ModelFactory.createOntologyModel();
fullModel.read(...);

// create a model without a reasoner and load it from the full model with
// reified statements
OntModel basicModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
basicModel.add(fullModel);

// batch modifications to the basic model programatically
//(**** RUNS REALLY QUICK *****)

// rebind the full model
fullModel.rebind();

// continue on....
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top