Re: Mad idea: Programming language based on RDF

Hi Miguel,

similar to your approach, we use SPARQL and recursion via rules expressed in Notation3 syntax.

But instead of a dataflow approach we use a sense-act cycle.
For the sense part, users can specify condition-request rules (with HTTP GET request templates in the rule head) to fetch data.
For the act part, rule conditions are evaluated over the entire integrated data to trigger HTTP PUT requests for updating resource state.
The sense-act cycle runs in a loop, which allows for dealing with evolving data.

We have an implementation with our system called Linked Data-Fu [1].

Cheers,
Andreas.

[1] https://linked-data-fu.github.io/

On 11/09/17 15:21, Miguel wrote:
> I've been working on a RDF-based programming language during my PhD.
> 
> My approach [1,2,3] was a dataflow language (having both an RDF-based and a visual representation), in which the operators are defined through SPARQL queries.
> By permitting recursion (cyclic pipelines) you can have turing completeness.
> By having as inputs both static RDF graphs, temporal RDF graphs, and RDF streams, you can have responsive applications, in a flavour similar to continuous queries on temporal databases.
> Furthermore, by employing a notion of (local, in my case) state you can represent interactive applications.
> 
> In that work I used an RDF-based representation of SPARQL, namely SPIN-SPARQL [4], that is based on the abstract syntax tree.
> Later I decided to explore an RDF representation of SPARQL algebra, more useful for query rewriting [5].
> 
> In the related work of [2,3] you can find references to previous related work, including some other RDF-based programming languages.
> 
> Best regards,
> Miguel
> 
> [1] http://swows.org/
> [2] https://doi.org/10.1016/j.jvlc.2014.10.027
> [3] https://doi.org/10.1007/978-3-319-05693-7_7
> [4] http://spinrdf.org/sp.html
> [5] http://ceur-ws.org/Vol-1644/paper12.pdf
> 
> 
> On Thu, 9 Nov 2017 at 11:03 Sebastian Samaruga <ssamarug@gmail.com <mailto:ssamarug@gmail.com>> wrote:
> 
>     It's not a programming language but the documentation (early drafts) for building a framework which relies on RDF for modelling system behavior.
> 
>     https://github.com/CognescentBI/BISemantics/blob/master/Document.pdf?raw=true
> 
>     https://github.com/CognescentBI/BISemantics
> 
>     Best,
>     Sebastián Samaruga
>     ---
>     http://exampledotorg.blogspot.com.ar/2017/09/hi-everyone-im-sebastian-software.html
> 
>     On Nov 9, 2017 7:01 AM, "Martynas Jusevičius" <martynas@atomgraph.com <mailto:martynas@atomgraph.com>> wrote:
> 
>         Might have been done already: https://github.com/trith/trith
> 
>         On Thu, Nov 9, 2017 at 9:32 AM, Peter Brooks <peter.h.m.brooks@gmail.com <mailto:peter.h.m.brooks@gmail.com>> wrote:
> 
>             dot -> svg does the trick, going from graph to executable code in one step.
> 
>             http://www.graphviz.org/doc/info/output.html
> 
>             On 9 November 2017 at 04:50, Victor Porton <porton@narod.ru <mailto:porton@narod.ru>> wrote:
>              > Just a few seconds ago I had a mad idea:
>              >
>              > Make a programming language based on RDF rather than on plain text.
>              >
>              > Well, this would require many (...) lists to specify the order of
>              > execution.
>              >
>              > What do you think?
>              >
> 
> 
> 
>             --
>             Peter Brooks
> 
> 
>             Mobile: +27 82 717 6404 <tel:%2B27%2082%20717%206404>
>             Direct: +27 21 447 9752 <tel:%2B27%2021%20447%209752>
>             Skype:  Fustbariclation
>             Twitter: Fustbariclation
>             Google+: Fustbariclation
>             Author Page: amazon.com/author/peter_brooks <http://amazon.com/author/peter_brooks>
> 
> 

Received on Thursday, 9 November 2017 15:44:05 UTC