Linked Data for Web Developers (TPAC breakout session)

31 Oct 2012

See also: IRC log


Jim_Fuller, FabGandon, David_Lewis, Alexandre, Bertails, Adrian_Bateman, Sebastian, Trueg, Norman, Richter, Ruben, Verborgh, Steve, Speicher, Olivier, Berger, timbl, ivan, sandro, David, Wood, Bernadette, Hyland


<FabGandon> scribe:cygri

UNKNOWN_SPEAKER: The feeds come from a variety of content providers.
... Properties (keys, etc.) used in the feed are not the same across services
... To keep apps simple, I need things to be represented the same way no matter where they come from

cygri: present+ Richard Cyganiak

tidoust: So as an app developer, we wrap the difference between services away in an internal API
... normalising the different feeds

<oberger> did he mention semantics ?

tidoust: I assume that most web app developers are facing similar situations
... So it would be good if content providers did things the same way
... Linked data is the response to this problem.

<develD> +1

<develD> (to cygry)

tidoust: I see two promising initiatives
... 1. Linked data platform WG

<develD> i'm interested in to put rdf into a feed

tidoust: 2. JSON-LD

<oberger> JSON-LDP :-)

tidoust: JSON-LD started as community group, then taken up by RDF-WG

<develD> i'm interested in to use pubsubhubbub with web access control

tidoust: JSON-LD allows using JSON as usual, with a little bit of magic (a context) and resolve issues of different representation

betehess: Alexandre Bertails, W3C Systems team
... I had exactly the same issue when starting to work on a new platform at W3C
... had to deal with lots of streams of data, different things talking to each other
... Build lots of APIs, web services?
... Decided to just use RDF
... But at this time there was no clear way of doing this
... At this time, IBM made a submission to W3C, describing one way of handling data
... Statements, HTTP URIs

<oberger> LDP is not ready yet

betehess: JSON is great because works in the browser easily
... Define in one place your terms
... As a developer I still see problems
... SPARQL is great, but with LDP ...

[scribe didn't catch the point, betehess may want to add it here]

Alexandre Morgeaut: (sp?) JSON-LD vs. JSON Schema?

<betehess> my main point: LDP is great but something is missing to speak about some usual datastructures that one would want to encode in RDF

tidoust: JSON Schema is an IETF draft that does for JSON what XML Schema does for XML
... JSON Schema is fairly simple because JSON is simpler than XML
... In JSON-LD you add a “context”; in JSON Schema you define a schema; right now there's no bridge

timbl: JSON Schema or XML Schema are in the document structure worl

<SteveS> @betehess what data structures are you referring? saying there should be something to help describe the shape of resources

timbl: it's not in the linked data world
... RDF Schema shouldn't be called Schema by the way as it doesn't talk about document structure but structures in the real world
... RDF people haven't addressed doc structure
... There is no RDF graph constraint language

<betehess> SteveS: on the top of my head, I need: set, ordered list, indexed list, map, tuple, options, either (this denotes alternatives)

timbl: Nothing that allows you to say: “If you stick a value in here, then you can submit it there”

<yvesr> well, you could argue SPARQL is one?

timbl: That would be interesting and would allow doing evaluation

ivan: (Ivan Herman, W3C Semantic Web Activity Lead)
... We consider data validation
... We are seriously considering a workshop around that issue. No commitment!

cygri: Yes, we want that

SteveS: Steve Speicher, IBM
... We created this vocabulary that describes the shape of a resource description
... based on SPARQL ASK

Arnaud: ArnaudLH Le Hors, IBM, LDP WG Chair
... XML selling point was that it doesn't constrain the data model

<yvesr> +1 on SPARQL ASK for validation purposes

Arnaud: But not really true, we ended up defining a data model to program against
... that's the XML Infoset
... RDF starts with the data model and then a bunch of syntaxes
... JSON-LD gives a JSON-friendly way of interacting with RDF

<oberger> what about Turtle and web developers ?

Arnaud: So very different from JSON Schema

<oberger> betehess, are we supposed to use the queue ?

Alexandre: In JSON Schema you can talk about types of properties (?)
... E.g, saying something is a URL

<SteveS> Some early work on a validation/constraint model for RDF data models http://open-services.net/bin/view/Main/OSLCCoreSpecAppendixA#oslc_ResourceShape_Resource … be interested to what we can do at W3C

tidoust: There are similar things in JSON-LD, you can say that a certain key's vlaue is not taken as string but as IRI

oberger: Olivier Berger
... Are we discussing publishing or consuming information?
... Consuming is more difficult
... Especially with different sources. Spam, untrusted information
... Can we show an approach to handling trust of the data you want to consume, based on linked data?

tidoust: Even with content provider that provide a feed, you may have to reject some content because it's garbage

timbl: In linked data, you can start with a certain person, then look at that person's friends' friends'
... following through the graph, using only data according to that graph
... web of trust
... following a trail of trust through the graph. very natural in the LD world

Ruben: Ruben Verbough
... Many applications combine styles. Bit of consumption, bit of production
... What's a solution that facilitates this?
... No semantics in JSON, so you only do what you need to do

<betehess> Ruben: today we have no semantics in JSON, you just do what you have to do

Ruben: Use cases?

tidoust: LDP is read-write

ruben: What people do today is just change a bit of JSON around

tidoust: Goal is to make life of developers easier

betehess: rdflib.js
... There are RDF libraries
... Let's say I'm a developer who wants to work with RDF as an RDF graph; not as SPARQL result or tree
... Finding a particular node in the graph and follow some links

<yvesr> reminds me of http://www.w3.org/TR/2011/WD-rdf-interfaces-20110510/ - rdf api for javascript

betehess: I want to have an LDP API that just does it for me, just follows some nodes
... and does the LDP GET requests etc
... I'd like timbl to speak about rdflib

<oberger> what about PHP ?

betehess: on tension between using pure javascript with JSON, or something like rdflib

<Ruben> +1 on jQuery for RDF

timbl: We need jQuery for RDF. What's neat about jQuery is that you need very few keystrokes
... not always understandable, but the program shrinks
... it abuses JS as much as it can to make things shorter

<oberger> betehess, any URL for rdflib.js ?

timbl: one should be able to do simliar things with RDF

<betehess> oberger: https://github.com/linkeddata/rdflib.js/

timbl: So the thing you create is a quad store
... kb.sym("some URI")

<yvesr> Ruben, not sure what the status of rdfQuery is? https://github.com/alohaeditor/rdfQuery

timbl: and that returns an internal representation of that thing

<betehess> the way I understand timbl's KB, it's a way to speak about trust (you add in your KB what the facts you want to considerer)

timbl: kb.any(x, dc:title) will return the object

<JeniT> yvesr: I haven't worked on it for a long time

timbl: kb.the(x, dc:title) will return only one; runtime error if multiple

<JeniT> yvesr: rdflib.js incorporates some of the code

timbl: kb.each(x,...)
... kb.each(example, title, "foo")

<yvesr> JeniT, cool :) does it integrate with jquery as well? (rdflib.js)

timbl: kb.the(x, the, ..., g) to query a specific graph

<yvesr> JeniT, ah yes, it looks like it

<oberger> is anyone recording timbl ?

timbl: kb.the(s, p, o, g) and g is the document, like GRAPH keyword in SPARQL
... and this might write the result straight back to the graph
... this would be nice and short. can probably be improved
... can people make it shorter and quicker? send SPARQL strings to it as people may prefer to write SPARQL?

<rblin> I implement a small application wich use rdflib.js http://romainblin.net/lifeshare-4.0

<betehess> http://www.w3.org/TR/rdf-api/

ivan: we did try to get something rolling in the API space, and failed

<rblin> Just type the uri per example : http://bblfish.net/people/henry/card#me

ivan: there was a WG where we wanted to define APIs for RDF and RDFa

<rblin> and click to connexion to explore the foaf graph

<betehess> http://www.w3.org/TR/rdfa-api/

ivan: there were two or three drafts published
... but there was no interest from the public in terms of the public in coming and working with us, and no interest from the browser vendors
... so we published them as W3C Notes
... there is a community group to pick this up, but it's dormant

Ruben: Big mismatch between the model that programmers use and RDF
... and no borders between objects. it's more fluid
... they prefer working with more enclosed, synchronous objects

ivan: JSON-LD work has two sides to it
... 1. it represents RDF graphs
... 2. it also defines a simple API

<betehess> http://www.w3.org/TR/json-ld-api/

ivan: the jury is still out

<Zakim> betehess, you wanted to mention efforts on the server-side

betehess: JS is very important, but in my case I also need things server-side
... for example I want to say, this user can access the resource and this one not. rules for access control
... so if you define APIs, don't stop at the JS

oberger: +1 for not restricting to JS

betehess: In the client it's fine if your graph is mutable

<oberger> thx cygri

<Ruben> JS is just a (prominent) example of how people will do things: the issues experienced there will also occur with others

betehess: on the server side, we may need immutable graphs

<oberger> betehess, and we should not restrict to JSON either and think about Turtle

sandro: There is DOM which is the standard, then there's jQuery that's a lot better/shorter

betehess: DOM is low-level. Like assembly language.
... then there's highlevel stuff, but that's maybe not for W3C

timbl: DOM tries to be language-independent
... great in an environment with global symbol table where you compile to C
... but in JS you want short names as everything is locally scoped
... job to do is to optimize for particular languages

<betehess> if people are interested in APIs on the JVM (Java, Scala), I'm the main contributor to https://github.com/w3c/banana-rdf

timbl: JS being an asynchronous environment also changes things

<oberger> are we running out of time ?

Ruben: People expect JSON to being synchronous, things don't suddenly show up in the JSON tree

betehess: [access control]
... group of users identified via URIs
... you may want to fetch data at runtime. This takes time. Where to start?
... Maybe written data is not yet there but only in 10 seconds

tidoust: Closing remarks?

Norman Richter, Uni Leipzig

Norman: Involved with research on PubSubHubbub
... access control on top of that

betehess: Talk to Alexandre Passant, he did RDF+PubSubHubbub

<BartvanLeeuwen> RDF in pussubhubbub SparqlPush

Alexandre: [OData]
... We were looking into extending OData or having a parallel RDF service
... ideally only one service, with semantic information

bhyland: Talk to David Wood

tidoust: Adjourned!

<develD> Norman Richter: So my question was to put rdf in a feed and to push it with an access control enabled pubsubhubbub

Summary of Action Items

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.137 (CVS log)
$Date: 2012/10/31 14:27:18 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.137  of Date: 2012/09/20 20:19:01  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Succeeded: s/Speiche/Speicher/
Succeeded: s/Arnaud/ArnaudLH/
Succeeded: s|http://json-ld.org/spec/latest/json-ld-api/|http://www.w3.org/TR/json-ld-api/|
Succeeded: s/tidoust/betehess/
Found Scribe: cygri
Inferring ScribeNick: cygri

WARNING: No "Topic:" lines found.

Present: Jim_Fuller FabGandon David_Lewis Alexandre Bertails Adrian_Bateman Sebastian Trueg Norman Richter Ruben Verborgh Steve Speicher Olivier Berger timbl ivan sandro David Wood Bernadette Hyland
Got date from IRC log name: 31 Oct 2012
Guessing minutes URL: http://www.w3.org/2012/10/31-ld-dev-minutes.html
People with action items: 

WARNING: No "Topic: ..." lines found!  
Resulting HTML may have an empty (invalid) <ol>...</ol>.

Explanation: "Topic: ..." lines are used to indicate the start of 
new discussion topics or agenda items, such as:
<dbooth> Topic: Review of Amy's report

[End of scribe.perl diagnostic output]