News

Add new post

Read Write Web — Q3 Summary — 2014

Summary

The schedule for ISWC 2014 in Trentino, Italy has been announced.  A packed program was under way with a seemingly increasing number of mature demos.  MIT / DIG will present an excellent paper, entitled, “CIMBA – Client-Integrated MicroBlogging Architecture“.

A massive amount of work has come together under the EU funded, LOD2 banner, which has now been renamed to Linked Data Stack.  Far too much to pack into one blog post, but an excellent overview is available under Open Access, called, “Linked Open Data — Creating Knowledge Out of Interlinked Data“.  Congrats to everyone involved!

Linked Data Platform Best Practices and Guidelines” has been published as a note, and looks like a great guide for how to get the most out of reading and writing data on the web.  Additionally, the “Data Shapes” WG has got under way which aims to provide for web data what XML Schema provided for XML.

Communications and Outreach

Our members continue to work closely with the Linked Data Platform Working Group.  There has been continued work on Access Control, Linked Data PATCH and more implementations.

Personally, I have spent the last month reviewing and working with the bitmark project.  Which hopes to bring together the best ideas from REST, Linked Data and crypto currencies in order to bring reputation and transferable ratings to the web, in a way that can also federate existing walled gardens.  Still only two months old, an impressive amount of work has been done with much more in the pipeline.  An update on this work is available here.

 

Community Group

A relatively quiet quarter in the community group, but still averaging about one post a day.  Interop tests have got under way between CIMBA and Virtuoso.  Results are documented here, hopefully many more to follow!

The Web Credentials Community Group has got under way and is another effort to standardize identity, access control, personae etc.  Hopefully work will align to produce interoperable solutions.

warp

Applications

A free software linked data file manager, named WARP, has been released, with demo available here.  Additionally a very fast Linked Data Platform application has been written in the Go language (GOLD) and is available on Github or via a docker image.

 

drupal

Last but not Least…

A great post how the popular CMS system Drupal, is “Deepening its Semantic Web Ties“, including comments from Community Group member, Stéphane Corlosquet.  Drupal powers over 5 million web properties, so is a great vehicle for proliferation of content management, using read and write web standards.

Read Write Web — Q2 Summary — 2014

Summary

WWW 2014 kicked off in Korea with some interesting material presented.  Two that caught my eye were, “Trust in Social Computing” and “The Mobile Semantic Web“.  The first one may be particularly related to our merger with the Trust CG last year.  Feel free to browse the slides and much more that are available online.

Linked data have announced a Data on the Web Best Practices Working Group, with the publication of The Use Case & Requirements document, as a first milestone.  MIT Decentralized Information Group have announced a interesting project HTTPa (HTTP with Accountability), details here.

The RWW CG has had some interesting discussions with a slight uptick in mail list activity,  from about 1 post per day last quarter, to 2 posts per day this quarter.  I’ll try and summarize some of the more interesting topics below.

Communications and Outreach

Work has continued with the The Linked Data Platform Working Group who are getting close to publishing their final spec.  Of particular interest is some work that is starting related to Access Control, with the outline of a charter for an Access Control Working Group.

The Web Payments Community Group have done some work on tying credentials to identity and allowing reading and writing to those documents.  A blog post describing the pros and cons with a full demo is available here.

 

Community Group

A collection of very interesting work was announced by Thomas Bergwinkl, codenamed, LDApp.  It is a full LD stack in javascript, including, Universal Access Control, an extension to RDF Interfaces, JSON LD support, and much more!

Apart from this, lots of libraries received work, including, ldp4j (java), GOLD (go) and node-rdf (node-js).

rwwcoin

Applications

Decentralized identity and authentication was showcased, using a single access controlled image, which enabled you to login with a huge variety of web 1.0/2.0/3.0 methods.  See the demo here.

A chrome extension to webizen was released.  YouID for android and IOS was also put live and a boilerplate for creating RWW apps was also built, this quarter.  Additionally, I have done some more work on creating test currency for the RWW.

 

marriage

 

Last but not Least…

Best wishes to Tim Berners-Lee, the person who started the whole Read Write Web idea, in his marriage to Rosemary Leith. Congratulations!

Read Write Web — Q1 Summary — 2014

Summary

This month The Web celebrated its 25th birthday.  Celebrating on web25 Tim Berners-Lee poses 3 important questions.  1. How do we connect the nearly two-thirds of the planet who can’t yet access the Web?   2. Who has the right to collect and use our personal data, for what purpose and under what rules?  3. How do we create a high-performance open architecture that will run on any device, rather than fall back into proprietary alternatives?  Join the discussion at the web we want campaign and perhaps we can help make the web more interactive and more read/write.

Two important technologies became W3C RECs this month, the long awaited JSON LD and RDF 1.1.  Well done to everyone involved on reaching these milestones.

This community group reaches 2.5 years old.  Congrats to our co-chair Andrei Sambra who has moved over to work with Tim, Joe and team at MIT.  Some work on identity, applications and libraries has moved forward this quarter, more below!

Communications and Outreach

In Paris this month there was a well attended workshop on Web Payments.  The group hopes to take a set of specs to REC status including some on identity credentials and access controlled, reading and writing, of user profiles.

Andrei had a productive talk with Frank Karlitschek the creator of the popular personal data store, OwnCloud.  Hopefully, it is possible to mutually benefit by reusing some of the ideas created in this group.

Community Group

There’s been some updated software for our W3C CG blogging platform, so anyone that wishes to make a post related to read and write web standards ping Andrei or myself, or just dive in!

There’s been some useful contributions to rdflib.js and a new library which proposes the ‘pointed graph’ idea.  I’ve also taken feedback on the User Header discussions we have had and put them in a wiki page.  Additionally, the WebID specs now have a permanent home.

There have also been discussions on deeplinking / bookmarkability for single page apps.  I’ve also been working on an ontology for crypto currencies which I am hoping to integrate into the RWW via a tipping robot next quarter.

cimba-logo

Applications

Great work from the guys over at MIT with a new decentralized blogging platform, Cimba.  Cimba is also a 100% client side app, it can run on a host, on github, or even on your local file system.  Feel free to sign up and start some channels, or just take a look at the screencast.

In addition to Cimba, Webizen has been launched to help you search for connections more easily.  Search for friends on the decentralized social web, or add your own public URI.

ldfragments

Last but not least…

For those of you that enjoy SPARQL, Linked Data Fragments, presents new ways to query linked data via a web client.  This tool is designed to provide a ‘fragment’ of a whole data set with high reliability, so happy SPARQLing!

Read Write Web — Monthly Open Thread — (November 2013)

Summary

TPAC 2013 got under way in Shenzhen, China, this month.  The RWW group didn’t have a session this year, as not too many from the group were able to travel, however, hopefully we’ll have a room in next year’s event.

Five star Linked Data in JSON got one step closer, as JSON LD moves to candidate recommendation.  Additionally, RDF 1.1 JSON Alternate Serialization was released as a note.  An interesting report my McKinsey’s was published showing that Open Data can unlock 3 to 5 trillion dollars in value each year.

Congratulations to our co-chair, Andrei Sambra, who successfully defended his PhD thesis on “Data ownership and Interop. in Decentralized Social SemWeb”.  There was also some interesting discussion this month on advanced used of ACLs.

Communications and Outreach

Henry Story and Andrei Sambra, among others, were at a well attended 4 day workshop in Paris, hosted by Mozilla, entitled “Weave the web we want”.

Some of you may be interested by the interview I gave to the lod2 group.  I tried to talk about the advantages of read and write linked data as well as pointers to this, and other, community groups.

Community Group

The community group welcomes new joiners, from Stony Brook University and Stample.

There was some interesting discussions on ACLs this month, with advanced features explored such as regular expressions and cross origin resource sharing.  With also the idea of generic ACLs explored.

Applications

YouID, featured last month, is now available in both the IOS and Android app stores.  Congrats on bringing the goodness of linked data identity to the two biggest mobile platforms.

Last but not least…

Gmail.js – JavaScript API for Gmail seemed to be an interesting read and write technology that could augment the popular Gmail web service.  It may a valuable future exercise to try and combine a webmail server and client side javascript to make create new kinds of social experience.

Read Write Web — Monthly Open Thread — (October 2013)

Summary

The Open Web Platform got a boost this month as Mozilla announced they are expanding their app store.  The aim is to make HTML5 apps (based on HTML + JavaScript) first class citizens of the web.  In their progress report they have demonstrated support for Android, Windows, Mac OS X, and Linux devices, in addition to regular browsers.

ISWC kicked off in Sydney Australia, which marked a meeting of the top minds in Linked Data.  One interesting paper that was noted as relevant to the Read Web, talks about the “Secure Manipulation of Linked Data“.

The Read Write Web Group has begun to incubate some specs on the broad topic of reading and writng, as well as access control.  More on this below.

Communications and Outreach

I was kindly invited to spend two days at the lod2 plenary.  Many thanks to Jindřich Mynarz for organizing a fantastic event.  I met with Sören Auer and many of the team working on lod2.  There is a a lot of impressive work coming out of this project.  You can check out the individual components or download the whole lod2 stack.

We’ve spoken to two social projects this month, lorea, and gnu.io (previously the status.net code base).  Both are interested in federating linked profiles for reading and writing.  The Linked Data Platform has also updated their Use Case and Requirements document.

Community Group

Claus Stadler, from the team at Uni Leipzig has joined our group and demoed some impressive work on javascript based visualizations of Linked Data.  More on this soon!

Work has continued towards creating a draft spec that describes what we’ve learnt so far in this ans other Community Group.  Also there has been some interest in an official Spec for Access Control on the Web.

Applications

An EU funded consortium have announced a linked data based social network, digital me, which is now ready for the first sign up.

Some great work from OpenLink as they have released a new version of YouID, an identity provider that allows you to take control of your existing social profile on the web.  I put together I simple “Hello World” app, which shows how to read and write linked data via HTTP PUT, PATCH and SPARQL Update.

Last but not least…

Kingsley spotted an interesting app, “Fred”, which creates linked data vocabularies from simple sentences.  It also has a graphical representation and a turtle serialization of the ontology.

Read Write Web — Monthly Open Thread — (September 2013)

Summary

As the read write community group enters it’s third year, there has been activity on infrastructure, apps (both server and client side) and some work on identity which will be an important component of Web 3.0.  To wit, the W3C has formed a brand new community group, Federated Identities for the Open Web Community Group, we hope this will enable federated identity to claim it’s rightful place as a first class citizen of the web.

The widely awaited JSON LD spec nears completion, with a feature freeze and call for implementations.

The community group welcomes new members, has begun towards writing up a Read Write Web Spec documenting some of the work we’ve been doing over the years, and now has a new apps areas with it’s first app.  There’s also upgrades to server software and a new identity provider, hosted by MIT.

Communications and Outreach

I was fortunate enough to meet up with one of the core Drupal developers, Stéphane Corlosquet, and others at the Drupal 2013 conference.  We had a productive chat about him continuing his great work to get linked data into the core of Drupal, which powers 2% of web sites.

I also met up with the team at the unhosted project, for their annual unconfernece, who are working projects that separate apps from commodity storage.  We talked about how we could work together to make a larger, and higher quality app eco system.

Community Group

The first work (mainly brainstorming) has begun to put together the ideas we’ve been talking about into a coherent document.  It will be something like a spec meets primer, and will hopefully show the techniques that can leverage the arch of WWW to read and write to resources with a given identity, that can be verified, and access controlled.

The Community Group welcomes Sean Tilley, the community manager, from the Diaspora Project.  Diaspora are hoping to make their system more federated and able to benefit from standards that join networks together, hopefully we can work together to achieve that!

Applications

The RWW now has an application area on github, located here.  The first app to date is a linked data calendar, ld-cal, which uses rdflib.js to write your calendar events to commodity storage of your choosing — something I’m already using on a daily basis!

Data.fm has had a major upgrade with lots of the new features form rww.io important into the code base.  Notable also is a new identity provider hosted by MIT which can issue you client side certificates tied to your google identity, or a new webID.

Last but not least…

For those that like mapping, you may enjoy the linked data annotation application, maphub.  There are 100s of maps both current and historic, that allow you to write to a point or rectangle and add annotations.  The data if fully exportable and linkable using web standards.

Read Write Web — Monthly Open Thread — (August 2013)

Summary

This month marks the two year anniversary of the RWW Community Group.  A big thank you to everyone that has participated so far, some great progress, but still lots more to be done, in order to realize the full potential of the web as a decentralized read / write space.

In linked data the RDFa Working Group published three RDFa Recommendations. (HTML+RDFa 1.1, RDFa Core 1.1 and XHTML+RDFa 1.1) RDFa lets authors put machine-readable data in HTML documents. Using RDFa, authors may turn their existing human-visible text and links into machine-readable data without repeating content.

Andrei Sambra has released a personal cloud computing solution rww.io. More protocols have been discussed on our mailing list, including access control, authentication and the Linked Data Platform.

Communications and Outreach

The social web business group met this month in San Francisco, with positive follow on discussions about the possibility of forming a social web Working Group in conjunction with the OpenSocial Foundation.  This may be helpful in creating a truly decentralized social app eco system for the Web itself.  Looking forward to further discussions!

Community Group

The community group announced the release of rww.io a great solution for personal clouds using read and write standards for identity, authentication and access control.  Already there have been a few patches submitted, in addition to make it compliant with the upcoming Linked Data Platform standard (LDP).

There has been discussion on access control, in particular, a rel type of “meta” or “acl” to link to a file that contains meta data for who can read, write, control or append to various documents.  There has also been an example of Delegated Protected Resource Access Authorization

Applications

OpenLink software continues to lead the way with the release of Virtuoso Open-Source Edition v7.0.0.  There was a post showing how to use rww.io and tabulator to achieve distributed microblogging and some demos by Kingsley showing several exercises in ‘dogfooding’ access controlled read / write spaces.

Last but not least…

More great work from Andrei with a geo location app for the rww.io platform, called FindMyLoc.  The app allows you to share your location with your friends using our own commodity storage, and in a privacy aware way.

Distributed Microblogging with RWW.IO and Tabulator

Earlier this month RWW.IO was launched, to much positive feedback.  In this post I will show how RWW.IO can be used to extend your FOAF file to become a distributed microblog.

*Disclaimer* this tutorial is for advanced users that may be prepared to live on the bleeding edge, and maybe do some debugging.

Step 1 — Create a FOAF profile

If you’ve followed previous posts, you probably have a FOAF profile by now.  The FOAF is used to give a nick, avatar, name and URL for the micro blog creator.  For this demo I’ve uploaded a FOAF to

https://demo.rww.io/profile/

But you can put it anywhere in your space.  If you’ve done this right, click on it and it should look something like this:

Note: that you do not need the tabulator extension running to view this FOAF, rww.io has a tabulator skin pre installed, so there is nothing to install.

Step 2 — Create a Microblog

Once you are at your FOAF, click in the entity that is of “type” FOAF : Person, in my case it’s “Melvin Carvalho”.  After this click the small microblog icon which will ask you to create a microblog.  The screen should look something like this:

For the final input box I used:

https://demo.rww.io/microblog

Again, you can locate it anywhere you wish.  And hit create.  It will then put a new file in the directory you chose.

Note: this worked best for me in opera.  In firefox and chrome it was temperamental and worked best when I stepped through with a debugger.

Step 3 — Link your microblog to your profile

Although not strictly required, for various reasons this demo works best when you have linked your microblog to your profile. This is done by adding the triple:

<#nickname> rdfs : seeAlso <../profile/nickname>

Your microblog should look something like:

We want to click to the right of “see Also” which will take us back to our profile where we can now add micro blog posts.

Step 4 — Set Your Identity

While you’re at your profile page quickly click the foaf icon at the top, and you’ll see an image of yourself such that you can set our identity.  If you’ve done it right it should look something like:

Step 5 — Start Microblogging!

You can start microblogging straight away by clicking he microblog icon.  However it helps if you start following people.  Strangely you need to follow yourself to see your own posts, so you can add triples to the same place you added the seeAlso, with 2 URIs of the form:

<http://rdfs.org/sioc/ns#follows>
       <#melvincarvalho>

And you should start seeing the posts of the people you follow come in.  You can even favourite the ones you like with the final screen looking something like:

If you’ve got this far (or even past a few steps) very well done!  I’d be very happy so start growing my microblog circle!

To summarize we’ve shown how to use commodity storage such as rww.io to create a distributed microblog using tabulator’s microblog pane.  No installations were required and it is possible to follow an arbitrary list of users, and, of course, control the access!

Read Write Web — Monthly Open Thread — (July 2013)

Summary

Further privacy issues emerged, this month, across the internet, as the extent to which data is monitored has encompassed more than was previously reported.  The web has been awash with concerns, including reports that even passwords can at times be requested.

Schema.org have added new Linked Data features, in the form of sameAs aliasing, and a draft for a new set of actions.  Two more drafts have reached last call, namely, of RDF Semantics and Concepts and Abstract Syntax.

Linked Data Platform 1.0 is now ready for last call, with more implementations coming in.  There was also an interesting comparison presented between LDP and the Graph Store Protocol.

Communications and Outreach

Preparations are under way for a workshop on the social web, in San Francisco.  An interesting program has been discussed, with the possibility to go to a full working group if there is enough interest.

Community Group

There have been discussions with various groups including the OpenID Foundation, and Internet Identity Community about a proposed header, to enable a user to be identified to a server.  Some quite productive feedback ensued.

I have added a couple of blog posts in the tabulator series.   Part 1 shows you how to create a brand new tabulator pane, and part 2 shows how to render a simple SIOC microblog post.

Applications

Two new implementations of LDP are under way.  One in java, and another in node.  More great work from Andrei Sambra who has created an API for my-profile, and also is experimenting with WebRTC to enable real time chat and video.  An interesting project from Ben Werdmuller of elgg fame, called idno, allows you make your personal page into a social read/write experience.

Last but not least…

For all you SPARQL fans out there enjoy the release of YASGUI a web based SPARQL GUI with auto completion, syntax checking, CORS enabled, endpoint search, permalinks, bookmarking and much more!

Tabulator — Creating a New Pane — Part 2

Last week, we looked at how to create a new tabulator pane.  The first part was just a template, without any real content.  This time we will look at how to add a pane for a specific object type and to query the object’s fields and display them in the pane.  If you havent already completed the first part, go back and follow the instructions to make a new file microblogPostPane.js.  This is the file we’ll be editing in this part.

Step 1 — Only Display an Icon for Microblog Posts

Previously we would display our microblog icon in all cases.  We would rather only show the icon when we are looking at a microblog post.  Instead of the if (true) condition we had in the label() function we will now replace it with:

    var SIOCt = tabulator.rdf.Namespace('http://rdfs.org/sioc/types#');
    if (tabulator.kb.whether(
        subject, tabulator.ns.rdf('type'), SIOCt('MicroblogPost'))) {
      return "MicroblogPost";          //The icon text
    } else {
      return null;
    }

The kb.whether function will test whether we are looking at something of type SIOC MicroblogPost.  More on the kb later.

Step 2 — Initialize the Render Function

The first thing to initialize is the tabulator knowledge base.  The following code will go in the render() function.

    var kb   = tabulator.kb;

The knowledge base is an indexed database of all the information you will store.  It allows many features such as fast querying and utility functions.  As you browse the web of data, the knowledge base is automatically populated.   The next thing we will do is set up namespaces.

    var SIOC = tabulator.rdf.Namespace("http://rdfs.org/sioc/ns#");
    var dc   = tabulator.rdf.Namespace("http://purl.org/dc/elements/1.1/");
    var FOAF = tabulator.rdf.Namespace('http://xmlns.com/foaf/0.1/');

Once we have the knowledge base in place, we add the popular namespaces for the FOAF, dublin core and SIOC ontologies.

Step 3 — Query the Knowledge Base

We will use the kb.any function to get the values of data points for our microblog post.  The function queries the knowledge base in a similar way to NoSQL or map reduce style databases.  In this case we will get the avatar, name, content and date of the microblog post.

    var content = kb.any(subject, SIOC("content"));
    var date    = kb.any(subject, dc("date"));
    var maker  = kb.any(subject, FOAF("maker"));
    var name  = kb.any(maker, FOAF("name"));
    var avatar  = kb.any(maker, FOAF("depiction"));

Now that we have our data we can go ahead and display it.

Step 4 — Draw the Pane

Now that we have our data, all that’s left is to draw the microblog post.  I’m using a simple native javascript commands of createElement, createTextNode and appendChild.  However tabulator also works with jQuery too.

    var postLi = document.createElement("div");
    postLi.className = "post";
    main.appendChild(postLi);

    var img = document.createElement("img");
    img.src = (""+avatar).slice(1,-1);
    img.height = img.width = 50;
    img.className = "postAvatar";
    postLi.appendChild(img);

    var nameHeading = document.createElement("h3");
    nameHeading.appendChild(document.createTextNode(name));
    postLi.appendChild(nameHeading);

    var contentDiv = document.createElement("div");
    contentDiv.appendChild(document.createTextNode(content));
    postLi.appendChild(contentDiv);

    var dateDiv = document.createElement("div");
    dateDiv.appendChild(document.createTextNode(date));
    postLi.appendChild(dateDiv);

The basic styles live in an existing file, mbStyle.css, so I have just reused that.

Step 5 — Test the Microblog Post

If all has gone well your file should look like the following gist.  When clicking on a microblog post such as this test post, you should see something like the image above.

Summary

We’ve seen how to add a simple pane to The Tabulator, how to set up and query the knowledge base, and how to display a new pane in the tabulator.  In future blogs we will show how to use Tabuator’s read and write functions to both render, and update, the web of data!