W3C home > Mailing lists > Public > public-hydra@w3.org > June 2014

Re: Reinventing Web applications

From: Martynas Jusevičius <martynas@graphity.org>
Date: Sat, 21 Jun 2014 14:09:06 +0200
Message-ID: <CAE35VmzjBrh7ttnkc+crAVo4-WHXDioZKdzo97kb+MzTs4HtoA@mail.gmail.com>
To: Markus Lanthaler <markus.lanthaler@gmx.net>
Cc: public-hydra@w3.org, public-declarative-apps@w3.org
Hey Markus,

I've joined the Hydra CG now :)

You are right, our work is mostly about server side. In that sense
Graphity is more a replacement for LDP than for Hydra.

We want to empower developers, so that they would be able to build
full-featured Linked Data (and Web in general) applications by writing
much less code, ideally none, and managing them as data instead.

We do not use the term hypermedia however, and are not so much
concerned about the so far hypothetical Web where every client can
interact with every server. Our approach gradually matured during
design of multiple production-level RDF-based systems. It boils down
to replacing obsolete Web architecture components such as RDBMSs and
object-relational mappings with native RDF and SPARQL solutions, and
pushing forward a new software paradigm based on their genericness and

What we have is a generic read-write processor implementation [1], on
which declarative application descriptions can be run in RDF form. On
top of that, we also have a system of reusable XSLT templates that can
be used to build the user interface. SPIN [2] and RDF/POST [3] are
also integral parts of the system. Now we want to specify how that
works, both the processor rules and the application vocabulary.

I can give a resource class example from an actual application
ontology (we call it "sitemap"), which might help illustrate it a bit

<#PlaceContainer> a owl:Class, gp:Template ;
    rdfs:subClassOf <#Resource>, foaf:Document, ldp:Container,
lda:ListEndpoint ;
    lda:uriTemplate "/places" ;
    spin:query <#ConstructPlaceContainer> ;
    gp:limit 20 ;
    gp:orderBy "title"^^xsd:string ;
    gpl:countVar [ sp:varName "place"^^xsd:string ] ;
    gp:cacheControl "public, no-transform, max-age=21600" ;
    gc:defaultMode gc:TableMode ;
    gc:mode gc:TableMode ; # gc:ListMode, gc:MapMode
    rdfs:isDefinedBy <#> ;
    void:inDataset <dataset#this> .

Does that answer some of your questions? :)

[1] https://github.com/Graphity/graphity-browser
[2] http://spinrdf.org
[3] http://www.lsrn.org/semweb/rdfpost.html


On Fri, Jun 20, 2014 at 5:06 PM, Markus Lanthaler
<markus.lanthaler@gmx.net> wrote:
> On 20 Jun 2014 at 16:14, Ruben Verborgh wrote:
>> Hi Gregg,
>> Indeed; I was quite curious so I sent out a mail:
>> http://lists.w3.org/Archives/Public/public-declarative-apps/2014Jun/0001.
>> html
> Great! Martynas also participates in our discussions here - even though he
> didn't officially join our CG :-( - So Martynas, could you briefly explain
> how your approach differs from Hydra? AFAICT, you mostly concentrate on
> making the implementation of the server side simpler whereas Hydra tries to
> empower clients by describing the service's interface. That seems to
> indicate that it might make sense to look more closely for opportunities to
> collaborate.
> Thanks,
> Markus
> --
> Markus Lanthaler
> @markuslanthaler
Received on Saturday, 21 June 2014 12:09:33 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:29:42 UTC