W3C home > Mailing lists > Public > semantic-web@w3.org > May 2014

Re: RDF Template

From: Stéphane Campinas <stephane.campinas@deri.org>
Date: Sat, 10 May 2014 15:59:03 +0100
Message-ID: <536E3EB7.9040508@deri.org>
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

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:41:42 UTC