- From: Stéphane Campinas <stephane.campinas@deri.org>
- Date: Sat, 10 May 2014 15:59:03 +0100
- To: semantic-web@w3.org
Hi Martynas, Exactly, I am using Sesame for creating correct URIs/Literals/... Then, I want to pass these values returned by Sesame to the template engine. Regarding the serialization format, NTriples is fine. I needed something for defining the "schema" of the RDF data. Freemaker and Mustache seem appropriate for such a job. The input data is not in XML form. I think it would be too much trouble to serialize first the data into XML, then use XSLT to transform it. Cheers, On 10/05/14 15:21, Martynas Jusevičius wrote: > Jean-Marc, > > I would warn against using string manipulation to construct RDF. There > are so many things where it can go wrong -- URI escaping, literal > escaping, Turtle (or other) syntax etc. -- because generic string > routines have no knowledge of RDF concepts. > > A better idea (even if it results in longer/more complex code) is to > use standard RDF libraries, both to construct RDF and to serialize it > into desired syntax. They exist for most programming languages, e.g. > Jena or Sesame for Java. And the same goes for other data models, such > as XML. > > In case the input data is in XML form, using XSLT to transform it is a > viable option. I do that a lot. > > > Martynas > graphityhq.com > > On Sat, May 10, 2014 at 3:56 PM, Jean-Marc Vanel > <jeanmarc.vanel@gmail.com> wrote: >> And some languages like Scala hava a bult-in template capabilty : >> >> val id = "e1" >> val something = """"blabla"""" >> val person = "john" >> >> val ttlString = s""" >> >> <http://acme.org/${id}> <http://acme.org/predicate1> ${something} . >> <http://acme.org/${id}> <http://acme.org/predicate2> >> <http://acme.org/${person}> . >> """ >> >> ( for simple expressions like here the {} are facultative ) >> >> NOTE 1 : you have to manage yourself the fact that something represents a >> literal , >> and person and id are relative URI. >> >> NOTE 2 : the Banana RDF Scala library has a nice DSL for RDF : >> https://github.com/w3c/banana-rdf >> >> >> >> 2014-05-10 15:13 GMT+02:00 Jean-Marc Vanel <jeanmarc.vanel@gmail.com>: >> >>> Bonjour Stéphane >>> >>> Depending on on your software environment, >>> you can choose one of the so called "template engines" ; >>> in Java there is freemarker and others : >>> http://java-source.net/open-source/template-engines >>> >>> >>> 2014-05-10 14:54 GMT+02:00 Stéphane Campinas <stephane.campinas@deri.org>: >>> >>>> Hi, >>>> >>>> Do you know of any tool that creates RDF statements based on some >>>> template ? >>>> >>>> For example, let's imagine I have the following template: >>>> >>>> <http://acme.org/${id}> <http://acme.org/predicate1> "${something}" . >>>> <http://acme.org/${id}> <http://acme.org/predicate2> >>>> <http://acme.org/${person}> . >>>> >>>> >>>> where ${...} are variables. Then, by providing values for these >>>> variables, the following statements would be created: >>>> >>>> ${id} = e1 ${something} = blabla ${person} = john >>>> >>>> <http://acme.org/e1> <http://acme.org/predicate1> "blabla" . >>>> <http://acme.org/e1> <http://acme.org/predicate2> <http://acme.org/john> >>>> . >>>> >>>> Have you seen any such tool ? >>>> >>>> Thanks >>>> >>>> -- >>>> Stephane Campinas >>> >>> >>> >>> -- >>> 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 >> >> >> >> -- >> 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 -- Stephane Campinas
Received on Saturday, 10 May 2014 14:57:26 UTC