Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

De-mystifying semantic models for the web of things #93

Closed
draggett opened this issue Feb 15, 2018 · 2 comments
Closed

De-mystifying semantic models for the web of things #93

draggett opened this issue Feb 15, 2018 · 2 comments

Comments

@draggett
Copy link
Member

draggett commented Feb 15, 2018

In issue #87 (properties, actions and events as objects using JSON-LD 1.1) #benfrancis wrote:

I'm afraid half of the semantic web jargon here and in #86 and #90 goes straight over my head. Like the vast majority of web developers I've never used semantic web technologies in production, with the exception of parsing simple linked data from web pages (like OpenGraph and Schema.org) in web browser/OS implementation.

Semantic technologies aren't as complicated as they sound. Developers will want a means to adapt the application logic and user interface to particular devices given the variation across devices from different vendors or across different models from the same vendor. Moreover, developers will want to be able access and update models of the context, e.g. which kinds of lights are in what positions in a room, so that the app has an idea of which lights to turn on or off etc. to fulfil a particular intent.

These so called semantic models are expressible in terms of graphs of nodes connected together with labelled links. The nodes represent concepts and the links represent relationships between them. Simple libraries allow applications to retrieve models and operate on them, e.g. following links within the graph. W3C recommends that nodes and link labels (aka "predicates") are identified with URLs that can be dereferenced to access graphs that provide further information. This is why the approach is often referred to as Linked Data.

Web developers will soon become proficient at writing code to manipulate Linked Data using simple libraries. You certainly don't need to be an expert in logic or ontology languages. The W3C Web of Things IG could offer a valuable service by working on some tutorial materials that de-mystify this, and show the potential for creating value added services that work with models of devices and the context, whether this is for smart homes, smart cities or smart manufacturing.

@draggett
Copy link
Member Author

It could be helpful to discuss ideas for the architectural components needed to enable simple access and update of semantic models by web of things applications. This would be useful for models of devices and the context in which they are used. These models will be shared across multiple applications, but should be subject to some form of access control to address security and privacy concerns.

The starting point is a set of nodes and labelled links, called a Linked Data graph. The graph has a URL that can be used to retrieve the graph and to perform operations on it. A framework for this is the Linked Data Platform, which describes the use of HTTP for a RESTful API for such operations. The Web of Things allows developers to write applications that interact with local software objects, leaving the networking side to the application platform to deal with. I see the value of the same approach for semantic models. In other words, to provide a simple API for operating on Linked Data that avoids the need for developers to write network code.

From an architectural perspective, this acts like a software library module with an API for accessing and updating Linked Data graphs. The application platform would host the corresponding database (aka triple store) containing the graphs, for efficient access and update by the applications hosted by that platform. The API would operate transparently on local and remote graphs. This is important for a decentralised approach to a Web of applications.

My suggestion is that the Web of Things Interest Group collaborate on incubating the API and demonstrating its value against a set of compelling use cases, and then seek to transfer the work to the standardisation track when it is judged to be sufficiently mature.

@sebastiankb
Copy link
Contributor

non active issue. The latest TD draft supports a simplified TD form (being idiomatic JSON) based on the new approach of JSON-LD 1.1. Both worlds (semantics and non-semantics) can be simple followed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants