On 16/03/11 11:58, asdas asdasd wrote:
I want to make a huge ammount of data in TDB(about 1,000,000 records). I  was
wondering whether I can make reasoning on that data? Forexample suppose I define
rule such as "hasRelationWith(A,B) ->   willHeritage(A,B)" also I define some
individuals like A and B and  properties such as "A hasRelationWith B" now I
want to SPARQL to infer  willHeritage(A,B). If I want to use JENA and all the
records in the memory, then reasoning will be awful(because it's a lot of data
and memory is limited ). I have written this code for reasoning in TDB but it
doesn't show any  result! So What is the problem?


     Dataset ds = TDBFactory.createDataset(directory) ;
     Model model = ds.getDefaultModel() ;
     Reasoner reasoner = ReasonerRegistry.getOWLReasoner();
     InfModel infmodel = ModelFactory.createInfModel(reasoner, model);
String qs = "PREFIX sn:
<http://www.semanticweb.org/ontologies/2011/2/ontology1.owl#>  SELECT * { sn:A
sn:willHeritage ?o }";
Query query = QueryFactory.create(qs) ;
     QueryExecution qExec = SparqlDLExecutionFactory.create(query, infmodel) ;
     ResultSet rs = qExec.execSelect();
ResultSetFormatter.out(rs);


SparqlDLExecutionFactory isn't part of Jena.

Either use QueryExecutionFactory or use Pellet and ask ClarkParsia about SparqlDLExecutionFactory.

Ideally, Pellet would register as a query engine provider and then the usual search for a query engine factory woudl sort this out for you).

        Andy

Reply via email to