Loomio
Tue 5 Aug 2014 1:47AM

Linked Open Data

ST Simon Tegg Public Seen by 73

One of the interesting points to come out of the Communicating OpenApp thread was the current focus on Linked Open Data.

Open-App stakeholders unfamiliar with the concept might wonder what Linked Open Data is and what is has to do with "tools for commons-based peer production" and user value.

Use this thread to ask questions about Linked Open Data and what it means for Open-App. I'll update it with my own comments.

Resources:
Tim Berners-Lee TED talk on Linked Open Data

What is Linked Data? video

What is JSON-LD? video

JSON API :: A standard for building APIs in JSON

For more detailed and advanced topics you can check out http://www.euclid-project.eu/

EP

elf Pavlik Wed 6 Aug 2014 5:12PM

Maybe sharing simple example I played with can help with avoiding drifting into black holes ;)

If it will sound confusing, I plan to record short screencast and already have sequence diagram for it which can make it clearer. I made 4 very simple elements:

webfingerd simply helps to discover my profile page from my email address, so having [email protected] it will return https://wwelves.org/perpetual-tripper (or any other URL I want)

webprofiled serves my Linked Data profile, currently supporting RDFa and JSON-LD
to see graph embeded in RDFa just copy source of https://wwelves.org/perpetual-tripper/ and paste into http://rdfa.info/play/
to see JSON-LD one can use simple Content-Negotiation, in terminal: $ curl https://wwelves.org/perpetual-tripper/ -H "Accept: application/ld+json" BTW HTML page with RDFa gets generated from that JSON-LD currently with mustache but I plan to yank out part of http://viejs.org to do it in nicer way

webserviced offers for now just login/logout with Mozilla Persona and discovery of Linked Data profile location via webfinger

webfingerd, webprofiled, webserviced all do http://enable-cors.org/

greeting-app just provides super basic SPA to interact with webserviced. for now I can login from browser javascript console with navigator.id.request()
then it sends it to webprofiled (easily hosted on different domain than one which serves greeting-app). once i do persona dance webservice will get from webfingered URL to my webpage powered by webprofiled and then get data in JSON-LD. after that it sends it to greeting-app which greets me with my name and avatar.

let's imagine now that we replace webserviced with loomio backend and greeting-app with loomio frontend. this way i can just click 'Login with Persona' and it will greet me my name, avatar, know my current location, languages i speak, whatever i decide to publish in my independent homepage, in my case powered by webprofiled but someone else can just write it with text editor, use Drupal, Wordpress whatever :)

Once front end connects to CORS aware services, it can for example send my posts and comments, at the same time to my Personal Data Space and to instance(s) of loomio backend. It may make less sense for discourse type of features, but if I want to offer a rideshare or couch, nowadays I can't easily post it to http://blablacar.com , http://carpooling.com, http://liftshare.com etc. I also can't use my favorite trip planner app but need to deal with different human (graphical) interface to interact with 'different' services which in practice offer exactly the same functionality. Lately I find the last issue of big importance, imagine if you would need to use the same email client that your friend uses to receive a message (hell no!) relevant links here: http://decoupledcms.org/ & http://hydra-cg.com/

IMO having common vocabularies to express concepts we interact with ( http://schema.org & http://lov.okfn.org ) as well as common ways of specifying what interaction we can have with those resources (http://schema.org/Action & http://hydra-cg.com ) gives us nice foundation for building systems which can interoperate :)

BTW I would encourage technical folks to join http://www.w3.org/wiki/Socialwg and less technical ones to join: http://www.w3.org/wiki/Socialig

I hope this post didn't run to long or got to confusing...

CS

Caroline Smalley Wed 6 Aug 2014 5:18PM

@bobhaugen it will be! through PPL is the intention (http://thecitizensmedia.com/pub/section/peer-production-design?id=1171) we'll be re-writing in either python or ruby. we began building back in 2006.. what we were trying to achieve in terms of key goals along with our thinking = practically the same as Joshua speaks to.

what's worth keeping is what we've learned in building distributed architecture. (note info and link i sent to access sandbox)

i asked Eric how to answer: (and yes.. he does keep a github)
The code isn't open right now and can't be shared with anyone until there's been time to do a full sweep to make sure nothing private (such as keys, passwords, ...) is in there. I think a lot of the existing code is obsolete anyway, there's still a lot of stuff in there that's leftover from the state of the art (or more accurately, the lack of useful frameworks and such) as of 2006 when I started it. I don't think there's anything worth bothering with in the source code, the database schema and maybe some of the internationalization/localization ideas are the only bits worth considering IMO.

BH

Bob Haugen Wed 6 Aug 2014 5:27PM

@elfpavlik - your comment was not too long, I really want those kinds of details. Thanks!

BH

Bob Haugen Wed 6 Aug 2014 5:28PM

@carolinesmalley - would be good to have somebody rewrite the PPL to cover software a bit more explicitly.

BH

Bob Haugen Wed 6 Aug 2014 6:10PM

@elfpavlik - you wrote " I plan to record short screencast and already have sequence diagram for it which can make it clearer."

Yes please, sequence diagram!

EP

elf Pavlik Wed 6 Aug 2014 7:08PM

@bobhaugen moved this topic to https://www.loomio.org/d/Aho7cdZP/webdpack-exmple

CS

Caroline Smalley Wed 6 Aug 2014 9:37PM

@bobhaugen agreed. perhaps something that will drop out of this process? difficult to say. my personal take is that the only way to get answers is get it going. guessing there will need to be some kind of stackoverflow rating system that 'weighs' a programmers contribution to whatever app's being developed, then anything anyone does in using the app for commercial gain get's distributed in proportion to contribution/rating. lots of potential to get kinda messy.

BH

Bob Haugen Wed 6 Aug 2014 9:59PM

@carolinesmalley - We'd like to develop a treatment of this for software development. Based on github commits.

Source: https://github.com/valnet/valuenetwork

It's now being used for open hardware creation and document workflows.

We're here in the OpenApp Ecosystem to figure out if we can turn it into a bunch of open apps.

BH

Bob Haugen Wed 6 Aug 2014 10:34PM

Okay, so what is the collective noun for Open Apps? (Like, a flock of pigeons, or a murder of crows, or ...?)

ST

Simon Tegg Wed 6 Aug 2014 11:03PM

an ecosystem of apps..? :)
Note: the way Mikey and have been talking about it internally is "services" (api's that do one thing), "apps" that have a frontend and probably combine and use several "services".

"stores" are a particular sort of "service" for data resources , and are how React describe a similar concept.

Load More