Re: Designing a Linked Data developer experience

> On Dec 29, 2018, at 02:09, Richard Light <richard@light.demon.co.uk> wrote:
> 
> On 28/12/2018 16:20, Ruben Verborgh (UGent-imec) wrote:
>> Dear all,
>> 
>> The thread on easier RDF on this mailing list was/is probably the discussion of the year.
>> 
>> Another perspective on this topic is “how can we make Linked Data easy for non-RDF people?”
>> Or perhaps: “do developers need to know RDF to build Linked Data applications?”
>> 
>> While Semantic Web technologies have been successful in several specialized areas,
>> we still don’t have end-user applications that directly use Linked Data from the Web.
>> We’ve often referred to it as our chicken-and-egg problem,
>> and even though there’s a lot of data online, we’re not seeing a lot of consumer apps.
>> 
>> In my latest blog post [1], I am arguing that we haven’t sufficiently focused
>> on front-end developers, who are the ones building apps for end users.
>> Such front-end developers are very hesitant to start working with RDF or even “easy RDF”.
>> Rather, they want integration with existing languages, frameworks, and tools they are using.
>> And whether we like it or not, those include JavaScript, React, GraphQL, and the likes.
>> 
>> This led me to the question of whether we can design a developer experience for Linked Data
>> without needing to expose RDF and its complexities, with a couple of concrete suggestions
>> and lessons learned.
>> 
>> Your feedback is most welcome.
> Ruben,
> 
> Brilliant work: thank you.
> 
> On a less cutting-edge, but maybe more generic, level, I wonder why there is (AFAIK) no W3C 'GOM' (Graph Object Model) for RDF. The existence of the Recommendations for DOM and XPath has led to the implementation of support for these abstract models in most web UI development frameworks.  If completion of work on DOM had been followed by development of a GOM in say 2005, I suspect that the subsequent story would have been quite different.
> 
> A quick search turns up the Property Graph and API community group [1], which was founded in 2013 but then seems to have lost interest in itself.  Its blurb mentions "we need to bear in mind that there are several Property Graph vendors and implementations and we may not want to deviate significantly from current practice".  Is that the problem?
> 

You may have to elaborate what you mean by ‘GOM’. I distinguish between the object model, and the API that exposes access to it. (Specifications appear inconsistent in their usage, the DOM spec calls itself simply “DOM”, but HTML points out out there’s DOMs that are not serializable as valid application/xhtml+xml or text/html documents).

So in this sense, RDF *is* the object model, encoded by concrete serializations like Turtle, RDF/XML, etc. (The same way the DOM is an object model that can be encoded by XML, HTML, EXI, etc).

There’s plenty of RDF APIs, including rdflib.js, and one built into the ancient Mozilla suite (and used until recently in Firefox). There’s less of a need for standardization of an RDF API because exchange of RDF data happens over concrete media types like Turtle; how that syntax gets parsed and processed is an unimportant black box.

The reason we have a DOM API is to have a standard way to expose the browser’s DOM to scripts. The browser doesn’t have any RDF data to expose, so there’s not been any need for an API to expose it with.

But perhaps hypermedia agents like browsers should do more with RDF data. Modern hypermedia user agents that I’m researching will require a standardized RDF API to expose RDF data to scripting. And there’s still a need for modularization, which demands a well-defined interface between modules. These modules can use the same API.

And we have had some specifications to this effect. As early as 2012 we had the RDFa API <https://www.w3.org/TR/rdfa-api/ <https://www.w3.org/TR/rdfa-api/>>, for example.

I do think there’s an important need for tooling and libraries. But I think the use case differs in small but significant ways from the DOM API.

We should look closely at use-cases for an RDF API… are they similar to the use cases for the DOM API?

Thanks,

Austin.


> Thanks,
> 
> Richard
> 
> [1] https://www.w3.org/community/propertygraphs/ <https://www.w3.org/community/propertygraphs/>
>> 
>> Best,
>> 
>> Ruben
>> 
>> [1] https://ruben.verborgh.org/blog/2018/12/28/designing-a-linked-data-developer-experience/ <https://ruben.verborgh.org/blog/2018/12/28/designing-a-linked-data-developer-experience/>-- 
> Richard Light

Received on Sunday, 30 December 2018 08:10:21 UTC