Thanks, Andy! I used the old library as an import, I can compile
everything, however, as I mentioned in the file is nothing added even I am
using (the file is not upgraded with a new individual):

RDFDataMgr.write(out, model, Lang.RDFXML);

or

RDFDataMgr.write(out, model, Lang.TTL);

In this case I got an issue: "Problems reading ontology. Exception message:
[line: 2, col: 1 ] Broken IRI (newline): rdf:RDF. Yes, my file is RDF/XML",
then I do not get any issue, but the file is not modified with the new
insertion.


Darius


2013/9/4 Andy Seaborne <[email protected]>

> On 04/09/13 13:08, Darius Miliauskas wrote:
>
>> Dear Andy,
>>
>> thanks for your piece of code and explanations, I can compile the code if
>> I
>> use "model.write(out, "RDF/XML");" not "RDFDataMgr.write(System.out,
>> model,
>> Lang.TTL);" but nothing is added in the file (no changes in the file which
>> stores the ontology).
>>
>
> Maybe you are using an old version of the code.
>
>
>
>> Regarding "RDFDataMgr.write(System.out, model, Lang.TTL);", I got the
>> error
>> that TTL can not be find.
>>
>
> ... with no deprecations?  There is an old legacy class lang as well.
> (and Lang should be package "org.apache.jena.riot", not
> "org.openjena.riot")
>
> Check the version of the code - the current release is 2.10.1 and you need
> all the jars on the classpath.
>
>         Andy
>
>
>> My code is the following:
>>
>> package org.apache.mahout.**inserttordfexample;
>>
>> import java.io.File;
>>
>> /**
>>   * this app just try/test the functionality of INSERT using SPARQL
>>   *
>>   * @param args data stream
>>   * @author DARIUS MILIAUSKAS
>>   */
>> public class App {
>>
>>      public static void main(String[] args) {
>>          // INFO: File containing information about rooms, cities, prices,
>> persons
>>          java.io.File file = new
>> java.io.File(java.net.**URLDecoder.decode(InsertRoom.**
>> class.getClassLoader().**getResource("MyModel.owl").**getFile()));
>>          InsertRoom ir = new InsertRoom();
>>          ir.insertRoom(file);
>>      }
>> }
>>
>> package org.apache.mahout.**inserttordfexample;
>>
>> import com.hp.hpl.jena.ontology.**OntModel;
>> import com.hp.hpl.jena.ontology.**OntModelSpec;
>> import com.hp.hpl.jena.rdf.model.**ModelFactory;
>> import com.hp.hpl.jena.rdf.model.**Resource;
>> import com.hp.hpl.jena.rdf.model.**StmtIterator;
>> import com.hp.hpl.jena.update.Update;
>> import com.hp.hpl.jena.update.**UpdateAction;
>> import com.hp.hpl.jena.update.**UpdateExecutionFactory;
>> import com.hp.hpl.jena.update.**UpdateFactory;
>> import com.hp.hpl.jena.update.**UpdateProcessor;
>> import com.hp.hpl.jena.update.**UpdateRequest;
>> import java.io.File;
>> import java.io.FileInputStream;
>> import java.io.FileNotFoundException;
>> import java.io.FileOutputStream;
>> import java.io.IOException;
>> import java.util.logging.Level;
>> import java.util.logging.Logger;
>> import org.apache.jena.riot.**RDFDataMgr;
>> import org.openjena.riot.Lang;
>>
>> /**
>>   *
>>   * @author DARIUS MILIAUSKAS
>>   */
>> public class InsertRoom {
>>
>>      public void insertRoom(File owlFile) {
>>
>>          // INFO: Read ontology
>>          OntModel model =
>> ModelFactory.**createOntologyModel(**OntModelSpec.OWL_MEM_MICRO_**RULE_INF,
>> null);
>>          try {
>>              FileInputStream filein = new FileInputStream(owlFile);
>>              model.read(filein, "RDF/XML");
>>          } catch (IOException e) {
>>              System.out.print("IOException: " + e.getMessage());
>>          } catch (Exception e) {
>>              System.out.print("Problems reading ontology '" +
>> owlFile.getAbsolutePath() + "'. Exception message: " + e.getMessage());
>>          }
>>
>>          /*
>>           * SPARQL query is used to insert a new entry in the ontology
>>           */
>>          String queryString = "PREFIX base: <
>> http://www.semanticweb.org/**darius/ontologies/2013/6/**mymodel#<http://www.semanticweb.org/darius/ontologies/2013/6/mymodel#>
>> >"
>>                  + "PREFIX rdf: <http://www.w3.org/1999/02/22-**
>> rdf-syntax-ns# <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
>>
>>> "
>>>
>>                  + "PREFIX rdfs: 
>> <http://www.w3.org/2000/01/**rdf-schema#<http://www.w3.org/2000/01/rdf-schema#>
>> >"
>>                  + "PREFIX owl: 
>> <http://www.w3.org/2002/07/**owl#<http://www.w3.org/2002/07/owl#>
>> >"
>>                  + "PREFIX foaf: <http://xmlns.com/foaf/0.1/>"
>>                  + "INSERT DATA {<
>> http://www.semanticweb.org/**darius/ontologies/2013/6/**mymodel#Kristina<http://www.semanticweb.org/darius/ontologies/2013/6/mymodel#Kristina>>
>> a
>> base:Person.} ";
>>
>>          UpdateRequest query = UpdateFactory.create(**queryString);
>>          UpdateAction.execute(query, model);
>>          //UpdateAction.parseExecute(**queryString, model);
>>
>>          // UpdateProcessor qe = UpdateExecutionFactory.create(**query,
>> model);
>>          //com.hp.hpl.jena.query.**ResultSet results = qe.execSelect();
>>
>>          try {
>>              FileOutputStream out = new FileOutputStream(owlFile);
>>              model.write(out, "RDF/XML");
>>              //RDFDataMgr.write(System.out, model, Lang.TTL);
>>          } catch (FileNotFoundException ex) {
>>              Logger.getLogger(InsertRoom.**class.getName()).log(Level.**
>> SEVERE,
>> null, ex);
>>          }
>>          //query.close(); // INFO: This needs to be closed after
>> retrieving
>> the results, because it won't work!
>>          model.close(); //OntModel is closed as well.
>>
>>          //return owlFile;
>>      }
>> }
>>
>>
>> My sample of ontology:
>>
>> <?xml version="1.0"?>
>>
>>
>> <!DOCTYPE rdf:RDF [
>>      <!ENTITY owl 
>> "http://www.w3.org/2002/07/**owl#<http://www.w3.org/2002/07/owl#>"
>> >
>>      <!ENTITY xsd 
>> "http://www.w3.org/2001/**XMLSchema#<http://www.w3.org/2001/XMLSchema#>"
>> >
>>      <!ENTITY rdfs 
>> "http://www.w3.org/2000/01/**rdf-schema#<http://www.w3.org/2000/01/rdf-schema#>"
>> >
>>      <!ENTITY rdf 
>> "http://www.w3.org/1999/02/22-**rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#>"
>> >
>> ]>
>>
>>
>> <rdf:RDF xmlns="http://www.semanticweb.**org/darius/ontologies/2013/8/**
>> mymodel# <http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#>
>> "
>>       xml:base="http://www.**semanticweb.org/darius/**
>> ontologies/2013/8/mymodel<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel>
>> "
>>       
>> xmlns:rdfs="http://www.w3.org/**2000/01/rdf-schema#<http://www.w3.org/2000/01/rdf-schema#>
>> "
>>       
>> xmlns:owl="http://www.w3.org/**2002/07/owl#<http://www.w3.org/2002/07/owl#>
>> "
>>       
>> xmlns:xsd="http://www.w3.org/**2001/XMLSchema#<http://www.w3.org/2001/XMLSchema#>
>> "
>>       
>> xmlns:rdf="http://www.w3.org/**1999/02/22-rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
>> ">
>>      <owl:Ontology rdf:about="
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**mymodel<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel>
>> "/>
>>
>>
>>
>>      <!--
>>
>> //////////////////////////////**//////////////////////////////**
>> ///////////////////////////
>>      //
>>      // Classes
>>      //
>>
>> //////////////////////////////**//////////////////////////////**
>> ///////////////////////////
>>       -->
>>
>>
>>
>>
>>      <!--
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**
>> mymodel#MusicStyle<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#MusicStyle>-->
>>
>>      <owl:Class rdf:about="
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**
>> mymodel#MusicStyle<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#MusicStyle>
>> "/>
>>
>>
>>
>>      <!-- http://www.semanticweb.org/**darius/ontologies/2013/8/**
>> mymodel#Person--<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#Person-->
>> >
>>
>>      <owl:Class rdf:about="
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**mymodel#Person<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#Person>
>> "/>
>>
>>
>>
>>      <!--
>>
>> //////////////////////////////**//////////////////////////////**
>> ///////////////////////////
>>      //
>>      // Individuals
>>      //
>>
>> //////////////////////////////**//////////////////////////////**
>> ///////////////////////////
>>       -->
>>
>>
>>
>>
>>      <!-- http://www.semanticweb.org/**darius/ontologies/2013/8/**
>> mymodel#Ana<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#Ana>-->
>>
>>      <owl:NamedIndividual rdf:about="
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**mymodel#Ana<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#Ana>
>> ">
>>          <rdf:type rdf:resource="
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**mymodel#Person<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#Person>
>> "/>
>>       </owl:NamedIndividual>
>>
>>
>>
>>      <!-- http://www.semanticweb.org/**darius/ontologies/2013/8/**
>> mymodel#Electro--<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#Electro-->
>> >
>>
>>      <owl:NamedIndividual rdf:about="
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**mymodel#Electro<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#Electro>
>> ">
>>          <rdf:type rdf:resource="
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**
>> mymodel#MusicStyle<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#MusicStyle>
>> "/>
>>      </owl:NamedIndividual>
>>
>>
>>
>>      <!-- http://www.semanticweb.org/**darius/ontologies/2013/8/**
>> mymodel#House--<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#House-->
>> >
>>
>>      <owl:NamedIndividual rdf:about="
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**mymodel#House<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#House>
>> ">
>>          <rdf:type rdf:resource="
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**
>> mymodel#MusicStyle<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#MusicStyle>
>> "/>
>>      </owl:NamedIndividual>
>>
>>
>>
>>      <!--
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**mymodel#Veronika<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#Veronika>-->
>>
>>      <owl:NamedIndividual rdf:about="
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**mymodel#Veronika<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#Veronika>
>> ">
>>          <rdf:type rdf:resource="
>> http://www.semanticweb.org/**darius/ontologies/2013/8/**mymodel#Person<http://www.semanticweb.org/darius/ontologies/2013/8/mymodel#Person>
>> "/>
>>      </owl:NamedIndividual>
>> </rdf:RDF>
>>
>>
>> Thanks,
>>
>> Darius Miliauskas
>>
>>
>> 2013/9/1 Andy Seaborne <[email protected]>
>>
>>  On 31/08/13 17:45, Darius Miliauskas wrote:
>>>
>>>  Dear All,
>>>>
>>>> thanks, Andy, for a piece of advice! So, I followed your advices, and
>>>> rewrite the code in that way. However, at the end met some problems. In
>>>> the
>>>> case I use "UpdateExecutionFactory", I need GraphStore as a variable
>>>> which
>>>> I do not have because I have only ontology, not a graph.
>>>>
>>>>
>>> Ontologies are graphs.
>>>
>>>
>>>         Anyway, it compiles after some changes, but I can not see any
>>>
>>>> changes
>>>> in the file. My code looks the following way:
>>>>
>>>>
>>> This works for me: I don't have your data.  The output shows that it
>>> contains the triple added.
>>>
>>> If this does not work for you as you expect, please provide a complete,
>>> minimal example, a description of what does happen for you and the reason
>>> why it is not as you expect.
>>>
>>>          Andy
>>>
>>>
>>> public class R2 {
>>>      public static void main(String...args) {
>>>          Model model =
>>>              //ModelFactory.****createDefaultModel() ;
>>>
>>> ModelFactory.****createOntologyModel(****OntModelSpec.OWL_MEM_MICRO_****
>>> RULE_INF,
>>> null);
>>>          //RDFDataMgr.read(model, "D.ttl") ;
>>>          String updateString = "PREFIX base: <
>>> http://www.semanticweb.org/**
>>> darius/ontologies/2013/6/****mymodel#<http://www.**
>>> semanticweb.org/darius/**ontologies/2013/6/mymodel#<http://www.semanticweb.org/darius/ontologies/2013/6/mymodel#>
>>> >
>>>
>>>> "
>>>>
>>>
>>>              + "PREFIX rdf: <http://www.w3.org/1999/02/22-**
>>> **rdf-syntax-ns# <http://www.w3.org/1999/02/22-**rdf-syntax-ns#><
>>> http://www.**w3.org/1999/02/22-rdf-syntax-**ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
>>> >>
>>> "
>>>              + "PREFIX rdfs: 
>>> <http://www.w3.org/2000/01/****rdf-schema#<http://www.w3.org/2000/01/**rdf-schema#>
>>> <http://www.w3.org/**2000/01/rdf-schema#<http://www.w3.org/2000/01/rdf-schema#>
>>> >
>>>
>>>> "
>>>>
>>>              + "PREFIX owl: 
>>> <http://www.w3.org/2002/07/****owl#<http://www.w3.org/2002/07/**owl#>
>>> <http://www.w3.org/2002/**07/owl# <http://www.w3.org/2002/07/owl#>>
>>>
>>>> "
>>>>
>>>              + "INSERT DATA 
>>> {<http://www.semanticweb.org/****<http://www.semanticweb.org/**>
>>> darius/ontologies/2013/6/****mymodel#Kristina<http://www.**
>>> semanticweb.org/darius/**ontologies/2013/6/mymodel#**Kristina<http://www.semanticweb.org/darius/ontologies/2013/6/mymodel#Kristina>
>>> >>
>>> a base:Person.} ";
>>>
>>>          UpdateRequest query = UpdateFactory.create(****updateString);
>>>          UpdateAction.execute(query, model);
>>>
>>> //        Resource r = model.createResource("http://****
>>> www.semanticweb.org/darius/****ontologies/2013/6/mymodel#****Kristina<http://www.semanticweb.org/darius/**ontologies/2013/6/mymodel#**Kristina>
>>> <http://www.**semanticweb.org/darius/**ontologies/2013/6/mymodel#**
>>> Kristina<http://www.semanticweb.org/darius/ontologies/2013/6/mymodel#Kristina>
>>> >")
>>>
>>> ;
>>> //        StmtIterator siter = r.listProperties() ;
>>> //        for ( ; siter.hasNext() ; )
>>> //            System.out.println(siter.next(****)) ;
>>>
>>>
>>>          RDFDataMgr.write(System.out, model, Lang.TTL) ;
>>>
>>>          model.close(); //OntModel is closed as well.
>>>      }
>>> }
>>>
>>>
>>>
>>
>

Reply via email to