21
@semanticfire

Using interface encapsulation to listen to linked data predicates

Embed Size (px)

DESCRIPTION

Using interface encapsulation to listen to linked data predicates Presentation given at ISWC 2014, about the use of EnyoJS for linkeddata user interfaces

Citation preview

Page 1: Using interface encapsulation to listen to linked data predicates

@semanticfire

Page 2: Using interface encapsulation to listen to linked data predicates

2

Page 3: Using interface encapsulation to listen to linked data predicates
Page 4: Using interface encapsulation to listen to linked data predicates
Page 5: Using interface encapsulation to listen to linked data predicates
Page 6: Using interface encapsulation to listen to linked data predicates

The Problem

6

Page 7: Using interface encapsulation to listen to linked data predicates

Problem identification

7

Tree Based UI Graph Data

Page 8: Using interface encapsulation to listen to linked data predicates

Loss of Semantics

Select ?a ?b ?c where { ….

<Value of ?a>

Application

Page 9: Using interface encapsulation to listen to linked data predicates

Possible

Solution

9

Page 10: Using interface encapsulation to listen to linked data predicates

10

http://enyojs.com

Page 11: Using interface encapsulation to listen to linked data predicates

EnyoJS Encapsulation

11

Application

Entry Field

Tekst Box

Push MeCalls

Events

Page 12: Using interface encapsulation to listen to linked data predicates

EnyoJS Encapsulation

12

Application

Entry Field

Tekst Box

Push Me

Linked DataProperty

Page 13: Using interface encapsulation to listen to linked data predicates

In Code (1)

enyo.kind({name : "C1",kind : "FittableRows",components : [ {

name : "T",kind : "input"

} ],

13

Page 14: Using interface encapsulation to listen to linked data predicates

In Code (2)

enyo.kind({name : "C2",kind : "FittableRows",components : [ {

name : "P",kind : "netage.ldproperty",property : "http://xmlns.com/foaf/0.1/name",components : [ {

name : "T",kind : "input"} ]

} ],

14

Page 15: Using interface encapsulation to listen to linked data predicates

In Code (3)

enyo.kind({name : "C3",kind : "FittableRows",components : [ {

name : "P_1",kind : "netage.ldproperty",property : "http://xmlns.com/foaf/0.1/knows",components : [ {

name : "P_2",kind : "netage.ldproperty",property : "http://xmlns.com/foaf/0.1/name",components : [ {

name : "T",kind : "input"

} ]} ]

15

Page 16: Using interface encapsulation to listen to linked data predicates

Other features

• Filters

– Value

– Language

• Cardinality

– Auto creation of components

• Future work

– Bindings for write support

– JSON-LD syntax

– Shape Expression integration

16

Page 17: Using interface encapsulation to listen to linked data predicates

Does it Work?

17

Page 18: Using interface encapsulation to listen to linked data predicates

18

Page 19: Using interface encapsulation to listen to linked data predicates

In Use

19

70FIRESTATIONS

90MONITORS

4COUNTRIES

±120.000INCIDENTS PER YEAR

Page 20: Using interface encapsulation to listen to linked data predicates

Summary

• Advantages Encapsulation

– Keeps semantics and UI close

– Easy Prototyping and Development

• Uses:

– EnyoJS

– RDFLIB.JS

• Open Source ?

– YES Soon !

20

Page 21: Using interface encapsulation to listen to linked data predicates

@semanticfire