Re: LDP interfaces in Java (based on Jena and JAX-RS)

Martynas Jusevičius <martynas@graphity.org> wrote on 08/05/2012 11:05:54 
AM:
> I think it would be fair to say that Linked Data is a juxtaposition of
> RDF and REST, and therefore a Linked Data platform has to implement
> specifications from both worlds.
> 
> I have been hacking a prototype LDP for a while now, and have
> distilled generic interfaces that describe it. With this I mean not
> some abstract specification, but concrete Java interfaces combining
> and reusing interfaces from Jena and JAX-RS, which are main Java
> frameworks for RDF and REST, respectively. Here's the base one:
> 
> @Consumes({MediaType.APPLICATION_RDF_XML + "; charset=UTF-8",
> MediaType.TEXT_TURTLE + "; charset=UTF-8"})
> @Produces({MediaType.APPLICATION_RDF_XML + "; charset=UTF-8",
> MediaType.TEXT_TURTLE + "; charset=UTF-8"})
> public interface Resource extends LinkedDataResource
> {
>     @GET Response getResponse();
> 
>     @POST Response post(Model model);
> 
>     @PUT Response put(Model model);
> 
>     @DELETE Response delete();
> 
>     EntityTag getEntityTag();
> 
> }
> 
> Source: 
https://github.com/Graphity/graphity-browser/blob/master/src/main/
> java/org/graphity/ldp/model/Resource.java
> 
> This might or might not be useful when defining an abstract
> specification, but I already have multiple web applications
> successfully implementing this.
> Feedback is very welcome.
> 

I have done something similar as well with defining a simple way to 
implement LDP (or more accurately the LDBP member submission referenced by 
W3C LDP WG charter) using Apache Wink + Apache Jena.  Very simple and very 
powerful combination for those comfortable with Java.  Though I wonder if 
there is more value in producing an API specification for something so 
simple.  I would also worry that if we tie language binding APIs with the 
work within this workgroup than people may quickly make the jump to imply 
that "platform" implies a specific server technology or programming 
language to do Linked Data.  Which would be good to avoid.

Thanks,
Steve Speicher
IBM Rational Software
OSLC - Lifecycle integration inspired by the web -> 
http://open-services.net

Received on Monday, 6 August 2012 14:11:13 UTC