You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Frederic Toublanc <fr...@telemis.com> on 2014/01/29 14:15:19 UTC
Update an existing TDB with a RDF file
Hello there,
Here is my question.
I have an existing TDB containing triples.
I have a RDF file and i want to update the existing TDB with the data
contained in the RDF file.
If nodes already exist they should be updated and new data added.
Is it possible to do it with the Jena API ?
Re: Update an existing TDB with a RDF file
Posted by Frederic Toublanc <fr...@telemis.com>.
Ok thx a lot :) You just have saved me a lot of time lol
2014/1/29 Martynas Jusevičius <ma...@graphity.org>
> Frederic, are you sure this hasn't been done before? I've used
> JenaBean [1], but I know there are at least several other similar
> projects.
>
> Martynas
>
> [1] https://code.google.com/p/jenabean/
>
> On Wed, Jan 29, 2014 at 2:58 PM, Frederic Toublanc
> <fr...@telemis.com> wrote:
> > Ok thx a lot :)
> >
> > I will implement a way to map a java object model to tripples :)
> >
> >
> > 2014/1/29 Jean-Marc Vanel <je...@gmail.com>
> >
> >> For your convenience, I pasted together the first lines of both API
> >> mentioned:
> >>
> >> // Make a TDB-backed dataset
> >> String directory = "MyDatabases/Dataset1" ;
> >> Dataset dataset = TDBFactory.createDataset(directory) ;
> >> dataset.begin(ReadWrite.READ) ;
> >> // Get model inside the transaction
> >> Model model = dataset.getDefaultModel();
> >> //// paste from basic RDF API
> >> Model model2 = ModelFactory.createDefaultModel();
> >>
> >> String inputFileName = "f";
> >> // use the FileManager to find the input file
> >> InputStream in = FileManager.get().open( inputFileName );
> >> if (in == null) {
> >> throw new IllegalArgumentException(
> >> "File: " + inputFileName + " not found");
> >> }
> >>
> >> // read the RDF/XML file
> >> model2.read(in, null);
> >> * model.add(model2);*
> >> ////////
> >> dataset.end();
> >>
> >>
> >> 2014-01-29 Jean-Marc Vanel <je...@gmail.com>
> >>
> >> > Cher Frédéric,
> >> >
> >> > You just have to use the basic RDF API :
> >> > http://jena.apache.org/tutorials/rdf_api.html
> >> >
> >> > with the TDB API :
> >> > http://jena.apache.org/documentation/tdb/java_api.html
> >> >
> >> > Note that "update nodes" is not the right wording for what happens.
> >> > An RDF model is bascally a collection of triples.
> >> > So adding
> >> > <a> <p> <o2> .
> >> >
> >> > to a model that contains already:
> >> > <a> <p> <o1> .
> >> >
> >> > will not "update" <a> ;
> >> > there is just one more triples having <a> as subject.
> >> >
> >> >
> >> >
> >> > 2014-01-29 Frederic Toublanc <fr...@telemis.com>
> >> >
> >> > Hello there,
> >> >>
> >> >> Here is my question.
> >> >>
> >> >> I have an existing TDB containing triples.
> >> >> I have a RDF file and i want to update the existing TDB with the data
> >> >> contained in the RDF file.
> >> >> If nodes already exist they should be updated and new data added.
> >> >>
> >> >> Is it possible to do it with the Jena API ?
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Jean-Marc Vanel
> >> > Déductions SARL - Consulting, services, training,
> >> > Rule-based programming, Semantic Web
> >> > http://deductions-software.com/
> >> > +33 (0)6 89 16 29 52
> >> > Twitter: @jmvanel , @jmvanel_fr ; chat: irc://
> irc.freenode.net#eulergui
> >> >
> >>
> >>
> >>
> >> --
> >> Jean-Marc Vanel
> >> Déductions SARL - Consulting, services, training,
> >> Rule-based programming, Semantic Web
> >> http://deductions-software.com/
> >> +33 (0)6 89 16 29 52
> >> Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
> >>
>
Re: Update an existing TDB with a RDF file
Posted by Martynas Jusevičius <ma...@graphity.org>.
Frederic, are you sure this hasn't been done before? I've used
JenaBean [1], but I know there are at least several other similar
projects.
Martynas
[1] https://code.google.com/p/jenabean/
On Wed, Jan 29, 2014 at 2:58 PM, Frederic Toublanc
<fr...@telemis.com> wrote:
> Ok thx a lot :)
>
> I will implement a way to map a java object model to tripples :)
>
>
> 2014/1/29 Jean-Marc Vanel <je...@gmail.com>
>
>> For your convenience, I pasted together the first lines of both API
>> mentioned:
>>
>> // Make a TDB-backed dataset
>> String directory = "MyDatabases/Dataset1" ;
>> Dataset dataset = TDBFactory.createDataset(directory) ;
>> dataset.begin(ReadWrite.READ) ;
>> // Get model inside the transaction
>> Model model = dataset.getDefaultModel();
>> //// paste from basic RDF API
>> Model model2 = ModelFactory.createDefaultModel();
>>
>> String inputFileName = "f";
>> // use the FileManager to find the input file
>> InputStream in = FileManager.get().open( inputFileName );
>> if (in == null) {
>> throw new IllegalArgumentException(
>> "File: " + inputFileName + " not found");
>> }
>>
>> // read the RDF/XML file
>> model2.read(in, null);
>> * model.add(model2);*
>> ////////
>> dataset.end();
>>
>>
>> 2014-01-29 Jean-Marc Vanel <je...@gmail.com>
>>
>> > Cher Frédéric,
>> >
>> > You just have to use the basic RDF API :
>> > http://jena.apache.org/tutorials/rdf_api.html
>> >
>> > with the TDB API :
>> > http://jena.apache.org/documentation/tdb/java_api.html
>> >
>> > Note that "update nodes" is not the right wording for what happens.
>> > An RDF model is bascally a collection of triples.
>> > So adding
>> > <a> <p> <o2> .
>> >
>> > to a model that contains already:
>> > <a> <p> <o1> .
>> >
>> > will not "update" <a> ;
>> > there is just one more triples having <a> as subject.
>> >
>> >
>> >
>> > 2014-01-29 Frederic Toublanc <fr...@telemis.com>
>> >
>> > Hello there,
>> >>
>> >> Here is my question.
>> >>
>> >> I have an existing TDB containing triples.
>> >> I have a RDF file and i want to update the existing TDB with the data
>> >> contained in the RDF file.
>> >> If nodes already exist they should be updated and new data added.
>> >>
>> >> Is it possible to do it with the Jena API ?
>> >>
>> >
>> >
>> >
>> > --
>> > Jean-Marc Vanel
>> > Déductions SARL - Consulting, services, training,
>> > Rule-based programming, Semantic Web
>> > http://deductions-software.com/
>> > +33 (0)6 89 16 29 52
>> > Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
>> >
>>
>>
>>
>> --
>> Jean-Marc Vanel
>> Déductions SARL - Consulting, services, training,
>> Rule-based programming, Semantic Web
>> http://deductions-software.com/
>> +33 (0)6 89 16 29 52
>> Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
>>
Re: Update an existing TDB with a RDF file
Posted by Frederic Toublanc <fr...@telemis.com>.
Ok thx a lot :)
I will implement a way to map a java object model to tripples :)
2014/1/29 Jean-Marc Vanel <je...@gmail.com>
> For your convenience, I pasted together the first lines of both API
> mentioned:
>
> // Make a TDB-backed dataset
> String directory = "MyDatabases/Dataset1" ;
> Dataset dataset = TDBFactory.createDataset(directory) ;
> dataset.begin(ReadWrite.READ) ;
> // Get model inside the transaction
> Model model = dataset.getDefaultModel();
> //// paste from basic RDF API
> Model model2 = ModelFactory.createDefaultModel();
>
> String inputFileName = "f";
> // use the FileManager to find the input file
> InputStream in = FileManager.get().open( inputFileName );
> if (in == null) {
> throw new IllegalArgumentException(
> "File: " + inputFileName + " not found");
> }
>
> // read the RDF/XML file
> model2.read(in, null);
> * model.add(model2);*
> ////////
> dataset.end();
>
>
> 2014-01-29 Jean-Marc Vanel <je...@gmail.com>
>
> > Cher Frédéric,
> >
> > You just have to use the basic RDF API :
> > http://jena.apache.org/tutorials/rdf_api.html
> >
> > with the TDB API :
> > http://jena.apache.org/documentation/tdb/java_api.html
> >
> > Note that "update nodes" is not the right wording for what happens.
> > An RDF model is bascally a collection of triples.
> > So adding
> > <a> <p> <o2> .
> >
> > to a model that contains already:
> > <a> <p> <o1> .
> >
> > will not "update" <a> ;
> > there is just one more triples having <a> as subject.
> >
> >
> >
> > 2014-01-29 Frederic Toublanc <fr...@telemis.com>
> >
> > Hello there,
> >>
> >> Here is my question.
> >>
> >> I have an existing TDB containing triples.
> >> I have a RDF file and i want to update the existing TDB with the data
> >> contained in the RDF file.
> >> If nodes already exist they should be updated and new data added.
> >>
> >> Is it possible to do it with the Jena API ?
> >>
> >
> >
> >
> > --
> > Jean-Marc Vanel
> > Déductions SARL - Consulting, services, training,
> > Rule-based programming, Semantic Web
> > http://deductions-software.com/
> > +33 (0)6 89 16 29 52
> > Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
> >
>
>
>
> --
> Jean-Marc Vanel
> Déductions SARL - Consulting, services, training,
> Rule-based programming, Semantic Web
> http://deductions-software.com/
> +33 (0)6 89 16 29 52
> Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
>
Re: Update an existing TDB with a RDF file
Posted by Jean-Marc Vanel <je...@gmail.com>.
For your convenience, I pasted together the first lines of both API
mentioned:
// Make a TDB-backed dataset
String directory = "MyDatabases/Dataset1" ;
Dataset dataset = TDBFactory.createDataset(directory) ;
dataset.begin(ReadWrite.READ) ;
// Get model inside the transaction
Model model = dataset.getDefaultModel();
//// paste from basic RDF API
Model model2 = ModelFactory.createDefaultModel();
String inputFileName = "f";
// use the FileManager to find the input file
InputStream in = FileManager.get().open( inputFileName );
if (in == null) {
throw new IllegalArgumentException(
"File: " + inputFileName + " not found");
}
// read the RDF/XML file
model2.read(in, null);
* model.add(model2);*
////////
dataset.end();
2014-01-29 Jean-Marc Vanel <je...@gmail.com>
> Cher Frédéric,
>
> You just have to use the basic RDF API :
> http://jena.apache.org/tutorials/rdf_api.html
>
> with the TDB API :
> http://jena.apache.org/documentation/tdb/java_api.html
>
> Note that "update nodes" is not the right wording for what happens.
> An RDF model is bascally a collection of triples.
> So adding
> <a> <p> <o2> .
>
> to a model that contains already:
> <a> <p> <o1> .
>
> will not "update" <a> ;
> there is just one more triples having <a> as subject.
>
>
>
> 2014-01-29 Frederic Toublanc <fr...@telemis.com>
>
> Hello there,
>>
>> Here is my question.
>>
>> I have an existing TDB containing triples.
>> I have a RDF file and i want to update the existing TDB with the data
>> contained in the RDF file.
>> If nodes already exist they should be updated and new data added.
>>
>> Is it possible to do it with the Jena API ?
>>
>
>
>
> --
> Jean-Marc Vanel
> Déductions SARL - Consulting, services, training,
> Rule-based programming, Semantic Web
> http://deductions-software.com/
> +33 (0)6 89 16 29 52
> Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
>
--
Jean-Marc Vanel
Déductions SARL - Consulting, services, training,
Rule-based programming, Semantic Web
http://deductions-software.com/
+33 (0)6 89 16 29 52
Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
Re: Update an existing TDB with a RDF file
Posted by Jean-Marc Vanel <je...@gmail.com>.
Cher Frédéric,
You just have to use the basic RDF API :
http://jena.apache.org/tutorials/rdf_api.html
with the TDB API :
http://jena.apache.org/documentation/tdb/java_api.html
Note that "update nodes" is not the right wording for what happens.
An RDF model is bascally a collection of triples.
So adding
<a> <p> <o2> .
to a model that contains already:
<a> <p> <o1> .
will not "update" <a> ;
there is just one more triples having <a> as subject.
2014-01-29 Frederic Toublanc <fr...@telemis.com>
> Hello there,
>
> Here is my question.
>
> I have an existing TDB containing triples.
> I have a RDF file and i want to update the existing TDB with the data
> contained in the RDF file.
> If nodes already exist they should be updated and new data added.
>
> Is it possible to do it with the Jena API ?
>
--
Jean-Marc Vanel
Déductions SARL - Consulting, services, training,
Rule-based programming, Semantic Web
http://deductions-software.com/
+33 (0)6 89 16 29 52
Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui