- From: Henry Story <henry.story@bblfish.net>
- Date: Mon, 21 Dec 2015 16:16:34 +0100
- To: Robin Berjon <robin@berjon.com>, Alistair Johnson <a.johnson@easli.com>
- Cc: Ruben Verborgh <ruben.verborgh@ugent.be>, Tim Berners-Lee <timbl@w3.org>, public-rdfjs@w3.org, Andrei Sambra <asambra@MIT.EDU>, Luk & Nadine van Wassenhove <me@nicolagreco.com>
> On 21 Dec 2015, at 15:39, Robin Berjon <robin@berjon.com> wrote: > > On 20/12/2015 11:53 , Ruben Verborgh wrote: >>> - Has no visible artifacts of the RDF system like the URIs of data types >> This is a very important requirement indeed. >> SimpleRDF is a beautiful example already, >> and many more things are possible with ES6. > > One thing I'm curious about, but haven't had time to explore: has anyone > looked into transpiling to support those goals? The typical JS project > includes a build step these days, so there's no reason to find one's > imagination limited by what can be piggybacked off vanilla JS. Indeed. Banana-RDF is written in Scala but with http://scala-js.org now compiles to very efficient JavaScript. As a result one can use all the neat DSL features from Scala. I opened an issue on the banana-rdf mailing list to look in more detail about how far it already succeeds in satisfying Tim's needs. https://github.com/banana-rdf/banana-rdf/issues/308 To give you some ideas here's how one can write a quick graph: val g = ( bnode("betehess") -- foaf.name ->- "Alexandre" -- foaf.age ->- 29 -- foaf.height ->- 1.80 ).graph Here's some initial work by Alistair Johnson how one can do some owl: val sg2 = f.ChildlessPerson ≡ (f.Person ⊓ ¬(f.Parent)) And here is how one can explore a graph. (betehess / foaf.knows / foaf.name).as[String] must_==(Success("Henry Story")) Hope that helps, Henry
Received on Monday, 21 December 2015 15:17:06 UTC