W3C home > Mailing lists > Public > semantic-web@w3.org > January 2015

Re: RDF Template

From: Sebastian Samaruga <cognescent@gmail.com>
Date: Sun, 25 Jan 2015 14:43:06 -0300
Message-ID: <CAFnmbpV=mPCTG+queoSu8OzAPOVg4N12yGh2TGhLa+Xm81QPNw@mail.gmail.com>
To: Tim Berners-Lee <timbl@w3.org>
Cc: St├ęphane Campinas <stephane.campinas@deri.org>, SW-forum Web <semantic-web@w3.org>
Why not just use PHP, JSP, Velocity or any other template engine for the
Web? After all, RDF is just some kind of markup. It then could be processed
by any kind of semantic tool and parameters to those scripts could be used
as search arguments for some kind of database backend.

I'm currently working in a (very immature) project which takes datasources
(RDF, XML, JSON, CSV, relational databases, etc), tries to merge similar
data from those different sources (in the same or different source
formats), schema and vocabularies and exposes the results as RDF triples,
OWL ontology and an OData (www.odata.org) endpoint.

Any of those output mechanisms could use an XSL stylesheet to accomplish
the template part of the question with the advantage of being able to
populate the application with an upper-merge ontology in which different
resource terms fall and share meaning. Which is also desired into the scope
of the project application is being able to infer when some term in some
vocabulary is the same term of another in other vocabulary. So, if I can
infer that ${parameterName} is the same as "Abc Inc." it also will solve
the template question.

Work in progress: http://cognescent.googlecode.com

Sebastian.


On Sat, Jan 24, 2015 at 6:52 PM, Tim Berners-Lee <timbl@w3.org> wrote:

>
> On 2014-05 -10, at 13:54, St├ęphane Campinas <stephane.campinas@deri.org>
> wrote:
>
>  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/$%7Bid%7D>
> <http://acme.org/predicate1> <http://acme.org/predicate1> "${something}" ..
> <http://acme.org/${id}> <http://acme.org/$%7Bid%7D>
> <http://acme.org/predicate2> <http://acme.org/predicate2>
> <http://acme.org/${person}> <http://acme.org/$%7Bperson%7D> .
>
>
> 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/e1> <http://acme.org/predicate1>
> <http://acme.org/predicate1> "blabla" .
> <http://acme.org/e1> <http://acme.org/e1> <http://acme.org/predicate2>
> <http://acme.org/predicate2> <http://acme.org/john> <http://acme.org/john>
> .
>
>
> You could use the cwm with n3 rules using log:uri to link between URI
> string and the thing.
>
>
> {  []  :id ?id;  :something ?s; :person ?person .
>
>  (  "http://acme.org/ <http://acme.org/$%7Bid%7D>"  ?id )
> string:concatenation [ is log:uri of ?e ].
>  (  "http://acme.org/ <http://acme.org/$%7Bid%7D>"  ?person )
> string:concatenation [ is log:uri of ?p] .
>
>
> } => {
>
> ?e <http://acme.org/predicate1> <http://acme.org/predicate1> ?s  .
> ?e <http://acme.org/predicate2> <http://acme.org/predicate2>  ?p .
>
> }
>
> timbl
>
>  Have you seen any such tool ?
>
> Thanks
>
> --
> Stephane Campinas
>
>
>
Received on Sunday, 25 January 2015 17:44:13 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 07:42:57 UTC