Hi Andy:
Thanks for the quick replay.
I meant the stackoverflow answer did not work for me either.
So, I have my knowledgeable stored in TDB with size of 14GB. Moreover, I
have my owl (schema) where I generate the axioms and want to infer some
results. Then I store the infer result in new TDB. I tested with a small
case where the tdb was 500kb and works just fine, but with my really tdb
14GB, I got this error when I try to add the rdf to owl.
Note: I am using a super computer for this test case and apache-jena-2.10.0
ERROR [main] (ObjectFileStorage.java:345) -
ObjectFileStorage.read[nodes.dat](11
58401652)[filesize=1158402173][file.size()=1158402173]: Impossibly large
object
: 1966046830 bytes > filesize-(loc+SizeOfInt)=517
Exception in thread "main" com.hp.hpl.jena.tdb.base.file.FileException:
ObjectFi
leStorage.read[nodes.dat](1158401652)[filesize=1158402173][file.size()=115840217
3]: Impossibly large object : 1966046830 bytes >
filesize-(loc+SizeOfInt)=517
at
com.hp.hpl.jena.tdb.base.objectfile.ObjectFileStorage.read(ObjectFile
Storage.java:346)
Here is the code:
public static void storeInfraredModel(Data tdb) {
OntModel owl,
Dataset dataset =
TDBFactory.createDataset(/Users/adeebnoor/Desktop/newTDB);
OntModel inferModel =
ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC,
dataset.getNamedModel(this.URL));
inferModel.add(owl); // the owl file
inferModel.add(tdb); // the original tdb
System.out.println("creting ModelExtractor ");
ModelExtractor ext = new ModelExtractor(inferModel);
dataset.replaceNamedModel(this.URL, ext.extractModel());
inferModel.close(); // saving infead model
dataset.close();
}
public static void main(String[] args) {
System.out.println(" ... Running Pellet Reasoner and Storing results in new
TDB ...");
Dataset tdb = TDBFactory.createDataset(/Users/adeebnoor/Desktop/orginalTDB);
storeInfraredModel(tdb);
tdb.close();
}
Please let me know how I can solve the problem, and also why it works with
small cases and not with big one. The schema is consistent already
On Wed, Jun 18, 2014 at 1:46 AM, Andy Seaborne <[email protected]> wrote:
> On 18/06/14 06:41, Adeeb Noor wrote:
>
>> Hi guys:
>>
>> I am having really a hard time with TDB, I was planning to post everything
>> here but I googled first and found a post on the stachoverflow that has
>> the
>> same issue, but with no answer.
>>
>> http://stackoverflow.com/questions/21115009/how-could-
>> i-store-multiple-ontologies-in-tdb/24277697#24277697
>> .
>>
>
> It does have answer.
>
>
>
>> Here is my code too:
>>
>
> What is it trying to do? And what happens?
>
> This is unrunnable and unexplained.
>
> A
>
> Complete Minimal Example
>
> please.
>
> Andy
>
>
>
>> System.out.println("creting infeer dataset ");
>>
>> Dataset dataset = TDBFactory.createDataset(data.
>> getInferredResultsPath());
>>
>> System.out.println("creting OntModel ");
>>
>> OntModel Infmodel =
>>
>> ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC,
>>
>> dataset.getNamedModel(this.URL));
>>
>> System.out.println("adding schema (OWL) to OntModel");
>>
>> Infmodel.add(this.owl);
>>
>> System.out.println("adding data (RDF) to OntModel ");
>>
>> Infmodel.add(data.tdb);
>>
>> System.out.println("creting ModelExtractor ");
>>
>> ModelExtractor ext = new ModelExtractor(Infmodel);
>>
>> System.out.println("replacing OntModel by the Extracted Model");
>>
>> dataset.replaceNamedModel(this.URL, ext.extractModel());
>>
>> System.out.println("saving infead model");
>>
>> Infmodel.close();
>>
>> System.out.println("closing infeed dataset");
>>
>> dataset.close();
>>
>>
>> Please guys let me know what I should do. a couple of thing to say:
>>
>> I am using apache-jena-2.10.0
>> also, when I run the reasoner on a small tab, it works perfectly.
>>
>>
>>
>>
>
--
Adeeb Noor
Ph.D. Candidate
Dept of Computer Science
University of Colorado at Boulder
Cell: 571-484-3303
Email: [email protected]