Showing posts with label owl. Show all posts
Showing posts with label owl. Show all posts

Wednesday, October 17, 2012

start reasoner in virtuoso


load Model from virtuoso

        VirtGraph set = new VirtGraph(GraphIri, "jdbc:virtuoso://" + uriServer + ":"
                + portJDBC + "", db_user, db_pass);
        System.out.println("Start inference!");
        Reasoner reasoner = PelletReasonerFactory.theInstance().create();
        reasoner = reasoner.bindSchema(set);
        InfModel infModel = ModelFactory.createInfModel(reasoner, modelVirtuoso);
        System.out.println("Stop inference!");

        Model m2 = vd.getNamedModel(GraphIri);


save inference in virtuoso

       
         System.out.print("instancias "+m2.size());
         if(m2.containsAll(infModel)){ System.out.print("no hay inferencia ");
         }else{ System.out.print("hay inferencia "); }
         if(m2.containsAny(infModel)){ System.out.print("es correcto ");
         }else{ System.out.print("es incorrecto "); }
        
        Model inferido = infModel.difference(m2);
        m2.add(inferido);

Monday, October 15, 2012

load OWL file model in virtuoso

If you try save a model from OWL file in Virtuoso with class

VirtuosoUpdateFactory  or VirtuosoQueryExecutionFactory this fail.

http://answers.semanticweb.com/questions/10520/virtrdfinsert-examples
http://answers.semanticweb.com/questions/12513/graph-in-virtuoso

To load in virtuoso used VirtDataSource

    VirtDataSource vd = new VirtDataSource("jdbc:virtuoso://localhost:1111", "dba", "dba");

        ModelMaker maker = ModelFactory.createMemModelMaker();   
        Model m = maker.createModel(BASE, false);
               
        //load owl file in model M
        FileInputStream  fis = new FileInputStream (getClass().getClassLoader().getResource("file.owl").getFile());
        m.read(fis ,null);
        fis.close();

       
        //TODO: if exist BASE in virtuoso FAIL
        //to erase datas conductor SQL> RDF_GLOBAL_RESET ();
        Model m2 =vd.getNamedModel(BASE);
        if(m2 == null)
            vd.addNamedModel(BASE, m);