LDOW2015 - Uduvudu: a Graph-Aware and Adaptive UI Engine for Linked Data

eXascale Infolab
eXascale InfolabeXascale Infolab
Michael Luggen, Adrian Gschwend, Bernhard Anrig,
Philippe Cudré-Maurox, Firenze 2015
Uduvudu
a Graph-Aware and
Adaptive UI Engine for
Linked Data
16th of May 2015

at only 1600m elevation!
Was Leonardo da Vinci an early master of
visualisation techniques?
3
4
LDOW2015 - Uduvudu: a Graph-Aware and Adaptive UI Engine for Linked Data
Visualisation as a Tool
Sure, Leonardo da Vinci was an exceptional
creator of all kind of visualisations.
But much more he was able to use his
visualisations with an amazing ingenuity as
a tool to transmit knowledge to his fellows —
tell stories still read today.
6
LDOW2015 - Uduvudu: a Graph-Aware and Adaptive UI Engine for Linked Data
Uduvudu a Graph-Aware and Adaptive UI Engine for Linked Data
Uduvudu exploits the semantic and structured
nature of Linked Data to generate the best
possible representation for a human based on a
catalog of available Matchers and Templates.
!
Matchers and Templates are designed that
they can be build through an intuitive editor
interface.
8
Why another Framework?a.k.a. Motivation
We found ourselves reinventing the wheel
while using Linked Data in the Presentation
Layer.
There are tons of great tools creating
amazing visualisations on top of Linked Data.
But to tell a story we needed to write use
case specific code over and over.
9
Differentiation
Uduvudu is NOT a visualisation toolkit, it can not
draw graphs (e.g. bar charts) neither maps.
Uduvudu is NOT a Linked Data Explorer, or
Browser. (Though you can build excellent ones
with it.)
Uduvudu is NOT a Linked Data selector,
gatherer or enhancer.
10
Requirements I
Maximize the reusability of templates by
design.
A template, thus a designer, has a defined set
of facts to consume.
Clear separation of concerns for all involved
parties.
11
Requirements II
Make use of the inherent semantic structure
(ontologies) and keep the structure intact.
Handle language transparently, but provide
access to all available languages.
Render on flexible context aware templates.
12
Demo
UDUVUDU - DBpedia Viewer
http://dbpedia.exascale.info
LOD events eXplorer
http://explorer.nexacenter.org
13
System Overview
A separate application logic prepares
the data which shall be shown to the
user. The data is provided as a RDF
Graph to Uduvudu with a start
resource.
In a first step the graph and the
matchers are combined to cover the
maximum by abstract templates.
In a second step a template is chosen,
taking into account the user context
(device, language, use case) to render
the data.
14
SPARQL
Graph File
App. Logic
Matcher
Renderer
Device
Templates
Context
Denitions
User
Language
SPARQL
Graph File
App. Logic
Matcher
Renderer
Device
Templates
Context
Denitions
User
Language
Basic Types of Matchers
Predicate Matcher

Simple matching by predicates with the resource
either in subject or object position.
Combine Matcher

Combines multiple matchers, also Combine
Matchers itself, which creates hierarchical matchers.
Link Matcher

Follows a predicate to another URI.
16
The architecture allows to plug-in additional matchers.
555555555555
http://example.com/me/corkyhttp://example.com/me/corkyhttp://example.com/me/corky
http://example.com/me/corky#telephonehttp://example.com/me/corky#telephonehttp://example.com/me/corky#telephone
http://example.com/me/corky#addresshttp://example.com/me/corky#addresshttp://example.com/me/corky#address
mailto:corky@example.commailto:corky@example.commailto:corky@example.com
AustraliaAustraliaAustralia
WonderCityWonderCityWonderCity
111 Lake Drive111 Lake Drive111 Lake Drive
tel:+61755555555tel:+61755555555tel:+61755555555
Corky CrystalCorky CrystalCorky Crystal
CorksCorksCorks
vcard:hasTelephone
vc
ard:hasAddress
vcard:hasEmail
vcard:country-name
vcard:locality
vcard:postal-codevcard:street-address
vcard:hasValue
vcard:fn
vcard:nickname
addressaddressaddress
location_linklocation_linklocation_link
akaakaaka
vcard:fnvcard:fnvcard:fn
vcard:nicknamevcard:nicknamevcard:nickname
locationlocationlocation
citycitycity
vcard:street-addressvcard:street-addressvcard:street-address
vcard:localityvcard:localityvcard:locality
vcard:postal-codevcard:postal-codevcard:postal-code
vcard:country-namevcard:country-namevcard:country-name
vcard:hasAddress
Predicate Matcher

Combine Matcher

Link Matcher

Matcher Algorithm
If a start resource is provided.

Beginning from a given start resource we
follow the available matchers and chose the
sub-graph which covers the most triples.
Else we explore all resources,

and add the biggest found sub-graph to a set,
remove the covered triples from the input graph
and start over until all triples are covered.
18
Matcher
<#depiction>	
  a	
  uv:PredicateMatcher	
  ;	
  
	
  	
  	
  	
  uv:matcherName	
  "fullname"	
  ;	
  
	
  	
  	
  	
  uv:predicate	
  vcard:fn	
  ;	
  
	
  	
  	
  	
  uv:abstractTemplate	
  uvsat:text	
  .	
  
!
<#combine_aka>	
  a	
  uv:CombineMatcher	
  ;	
  
	
  	
  	
  	
  uv:combineIds	
  "fullname",	
  "nickname"	
  ;	
  
	
  	
  	
  	
  uv:matcherName	
  "aka"	
  ;	
  
	
  	
  	
  	
  uv:abstractTemplate	
  uvsat:aka	
  .	
  
!
<#combine_address>	
  a	
  uv:CombineMatcher	
  ;	
  
	
  	
  	
  	
  uv:combineIds	
  "aka",	
  "location_link"	
  ;	
  
	
  	
  	
  	
  uv:matcherName	
  "address"	
  ;	
  
	
  	
  	
  	
  uv:abstractTemplate	
  uvsat:address	
  .
19
SPARQL
Graph File
App. Logic
Matcher
Renderer
Device
Templates
Context
Denitions
User
Language
addressaddressaddress
location_linklocation_linklocation_link
akaakaaka
vcard:fnvcard:fnvcard:fn
vcard:nicknamevcard:nicknamevcard:nickname
locationlocationlocation
citycitycity
vcard:street-addressvcard:street-addressvcard:street-address
vcard:localityvcard:localityvcard:locality
vcard:postal-codevcard:postal-codevcard:postal-code
vcard:country-namevcard:country-namevcard:country-name
vcard:hasAddress
Template I
uvsb:address	
  a	
  uv:Template	
  ;	
  
	
  	
  	
  	
  uv:abstractTemplate	
  uvsat:address	
  ;

	
  	
  	
  	
  uv:device	
  'desktop'	
  ;	
  
	
  	
  	
  	
  uv:template	
  '…'.
21
Template II
<div>	
  
	
  	
  	
  	
  <span	
  class="glyphicon	
  glyphicon-­‐envelope"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  style="font-­‐size:48px;	
  float:left;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  margin:	
  0	
  15px	
  0	
  10px;">	
  
	
  	
  	
  	
  </span>	
  
	
  	
  	
  	
  <div>	
  
	
  	
  	
  	
  <b><%-­‐address.aka.fn.u%></b>	
  
	
  	
  	
  	
  [aka	
  <%-­‐address.aka.nickname.u%>]<br>	
  
	
  	
  	
  	
  <%	
  template(address.location_link.0.location)	
  %>	
  
	
  	
  	
  	
  <%	
  print(address.location_link.0.location.	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  city.country-­‐name.u.toUpperCase())	
  %>	
  
	
  	
  	
  	
  </div>	
  
</div>
22
Template: Variables
23
Usage Description Example
Delimiters
<%- %> Output variable HTML-escaped. <%- label.u %>
<%= %> Output variable non-escaped. <%= html_desc.u %>
<% %> Execute JavaScript: Use print() for output. <% print(label.u.toUpperCase()) %>
Variables
label.u Literal in context language. <%- label.u %>
label.l.en Literal in specific language (lang tag). <%- label.u.ja %>
city.label.u Literal deeper in matched structure. <%- city.label.u %>
template(city.label) Rendered template for sub element. <%- template(city.label) %>
Table 2: Overview of the most important template commands available.
lates. This is shown in Figure 10, where the rdf:label gets
ombined with a pre-existing rdf:abstract template to form
new head template. Fribourg(Q36378) [ edit ]
capital of the canton of Fribourg in Switzerland [ edit ]
FreiburgAlso known as: [ edit ]
Item Discussion Read View history Search
Main page
Community portal
English Create account Log in
Related Work
24
Uduvudu Callimachus Balloon Syn. Fresnel Exhibit LESS
Level of
Template
Subgraph Application JS Selector Subgraph Subgraph Projection
Description of
Template
under-
score.js
RDFa
Template
s
Handlebar
Fresnel
Formats
Exhibit
Lenses
Smarty
Recursive Use
of Template Y N N Y N N
Context
Awareness
Y N N N N N
Separation of
Concerns
Y N Y Y N Y
Editor
Y Y N N N Y
Future Work
Optimize implementation for more speed and
introduce reactivity.
Create a sort of “baked” templates which are
optimized for a data source.
Automatic or semi-automatic generation of templates.
Extension of the editor for more functionality.
Build a user platform where styles can be shared.
25
–Leonardo da Vinci
“Art is never finished, only abandoned.”
fin
www.uduvudu.org
reusability, defined set of facts, separation of
concerns, use of inherent structure, language,
context aware templates
WebComponents http://www.w3.org/TR/components-intro/
Uduvudu will be provided as a WebComponent:
<uduvudu	
  styles=“http://..”>	
  
	
   …triples…	
  
</uduvudu>	
  
!
Uduvudu can use WebComponents inside its
Templates.
27
LDOW2015 - Uduvudu: a Graph-Aware and Adaptive UI Engine for Linked Data
About: Fribourg
An Entity of Type : municipality, from Named Graph : http://dbpedia.org, within Data Space : dbpedia.org
Fribourg is the capital of the Swiss canton of Fribourg and the district of Sarine. It is located on both sides of the river Saane/Sarine, on the Swiss plateau, and is an
important economic, administrative and educational center on the cultural border between German and French Switzerland. Its Old City, one of the best maintained in
Switzerland, sits on a small rocky hill above the valley of the Sarine.
Property Value
dbpedia-owl:PopulatedPlace/areaTotal 9.32
dbpedia-owl:abstract Fribourg is the capital of the Swiss canton of Fribourg and the district of Sarine. It is located on both sides of the river
Saane/Sarine, on the Swiss plateau, and is an important economic, administrative and educational center on the cultural
border between German and French Switzerland. Its Old City, one of the best maintained in Switzerland, sits on a small rocky
hill above the valley of the Sarine.
Freiburg ist eine Schweizer Stadt und Hauptort des Saanebezirks sowie des Kantons Freiburg. Zur Unterscheidung von
Freiburg im Breisgau wird gelegentlich der Zusatz im Üechtland oder im Üchtland (kurz i. Ü. ) verwendet. Freiburg, beidseits
der Saane im Schweizer Mittelland gelegen, ist ein wichtiges Wirtschafts-, Verwaltungs- und Bildungszentrum mit
zweisprachiger Universität an der Kulturgrenze zwischen deutscher und französischer Schweiz. Sie besitzt eine der am
besten erhaltenen und grössten zusammenhängenden historischen Altstädte der Schweiz auf einem schmalen Felssporn über
dem Tal der Saane.
Fribourg est une ville et une commune suisse du canton de Fribourg, sur la Sarine. C'est la capitale du canton de Fribourg et
le chef-lieu du district de la Sarine. Fribourg est une ville bilingue, avec un cinquième de la population germanophone. Elle est
située de chaque côté de la Sarine sur le plateau suisse à la frontière culturelle entre la Suisse alémanique et romande. Elle
est un important centre économique, administratif et éducatif et comprend une Université. Elle est placée sous le patronage
de saint Nicolas de Myre, de sainte Barbe et de sainte Catherine d'Alexandrie. Fribourg fait partie du périmètre de l'AGGLO
Fribourg - Freiburg.
dbpedia-owl:areaTotal 9320000.000000 (xsd:double)
dbpedia-owl:canton dbpedia:Canton_of_Fribourg
dbpedia-owl:country dbpedia:Switzerland
dbpedia-owl:district dbpedia:Sarine_District
dbpedia-owl:elevation 610.000000 (xsd:double)
dbpedia-owl:maximumElevation 702.000000 (xsd:double)
dbpedia-owl:municipalityCode 2196
dbpedia-owl:neighboringMunicipality dbpedia:Granges-Paccot
dbpedia:Pierrafortscha
dbpedia:St._Ursen
dbpedia:Givisiez
dbpedia:Marly,_Fribourg
dbpedia:Düdingen
dbpedia:Villars-sur-Glâne
dbpedia:Tafers
dbpedia-owl:postalCode 1700
dbpedia-owl:thumbnail http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Panorama_Fribourg_107.JPG/200px-Panorama_Fribourg_107.JPG
Fribourg
Fribourg (French pronunciation: [fʁibuʁ]; Arpitan:
Fribôrg/Friboua, IPA: [fʁibwa] ; German: Freiburg
or Freiburg im Üechtland, Swiss German
pronunciation: [ˈfrib̥ʊrɡ]; Italian: Friburgo or
Friborgo) is the capital of the Swiss canton of
Fribourg and the district of Sarine. It is located on both sides of the river Saane/Sarine,
on the Swiss plateau, and is an important economic, administrative and educational
center on the cultural border between German and French Switzerland (Romandy).
www.ville-fribourg.ch Elevation: 610.0 m
Area: 9.32 km
Temperatures per Month
Temperatures in °C/month: Average Low, Daily Mean, Average High
Humidity per Month
Fribourg/Freiburg
2
Report a map errorMap data ©2015 Google Terms of Use
1 von 30

Recomendados

Content Design, UI Architecture and UI Mapping von
Content Design, UI Architecture and UI MappingContent Design, UI Architecture and UI Mapping
Content Design, UI Architecture and UI MappingWolfram Nagel
12.8K views48 Folien
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya von
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi KayaDigital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi KayaFuture Insights
2.1K views34 Folien
Digital Manuscripts Toolkit von
Digital Manuscripts ToolkitDigital Manuscripts Toolkit
Digital Manuscripts ToolkitMonica Messaggi Kaya
201 views34 Folien
Microformats a Web of Data von
Microformats a Web of DataMicroformats a Web of Data
Microformats a Web of Dataguest897d73
1.9K views100 Folien
Web2.0 2012 - lesson 7 - technologies and mashups von
Web2.0 2012 - lesson 7 - technologies and mashups Web2.0 2012 - lesson 7 - technologies and mashups
Web2.0 2012 - lesson 7 - technologies and mashups Carlo Vaccari
1.6K views16 Folien
A System For Building Animated Presentations Over The Web von
A System For Building Animated Presentations Over The WebA System For Building Animated Presentations Over The Web
A System For Building Animated Presentations Over The WebSara Alvarez
3 views9 Folien

Más contenido relacionado

Similar a LDOW2015 - Uduvudu: a Graph-Aware and Adaptive UI Engine for Linked Data

Wirecloud hamburg kickoff von
Wirecloud hamburg kickoffWirecloud hamburg kickoff
Wirecloud hamburg kickoffMiguel Jiménez
711 views37 Folien
Demonstration lesson-plan-in-ict grade 11 von
Demonstration lesson-plan-in-ict grade 11Demonstration lesson-plan-in-ict grade 11
Demonstration lesson-plan-in-ict grade 11Luffy Kun
5.1K views7 Folien
OCCIware: extensible and standard-based XaaS platform to manage everything in... von
OCCIware: extensible and standard-based XaaS platform to manage everything in...OCCIware: extensible and standard-based XaaS platform to manage everything in...
OCCIware: extensible and standard-based XaaS platform to manage everything in...OW2
189 views26 Folien
OCCIware: extensible and standard-based XaaS platform to manage everything in... von
OCCIware: extensible and standard-based XaaS platform to manage everything in...OCCIware: extensible and standard-based XaaS platform to manage everything in...
OCCIware: extensible and standard-based XaaS platform to manage everything in...OCCIware
190 views26 Folien
OCCIware@OW2con 2016 von
OCCIware@OW2con 2016OCCIware@OW2con 2016
OCCIware@OW2con 2016Marc Dutoo
251 views26 Folien
PRELIM-Lesson-2.pdf von
PRELIM-Lesson-2.pdfPRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdfjaymaraltamera
3 views20 Folien

Similar a LDOW2015 - Uduvudu: a Graph-Aware and Adaptive UI Engine for Linked Data(20)

Demonstration lesson-plan-in-ict grade 11 von Luffy Kun
Demonstration lesson-plan-in-ict grade 11Demonstration lesson-plan-in-ict grade 11
Demonstration lesson-plan-in-ict grade 11
Luffy Kun5.1K views
OCCIware: extensible and standard-based XaaS platform to manage everything in... von OW2
OCCIware: extensible and standard-based XaaS platform to manage everything in...OCCIware: extensible and standard-based XaaS platform to manage everything in...
OCCIware: extensible and standard-based XaaS platform to manage everything in...
OW2189 views
OCCIware: extensible and standard-based XaaS platform to manage everything in... von OCCIware
OCCIware: extensible and standard-based XaaS platform to manage everything in...OCCIware: extensible and standard-based XaaS platform to manage everything in...
OCCIware: extensible and standard-based XaaS platform to manage everything in...
OCCIware190 views
OCCIware@OW2con 2016 von Marc Dutoo
OCCIware@OW2con 2016OCCIware@OW2con 2016
OCCIware@OW2con 2016
Marc Dutoo251 views
Visual And Functional Programing Principles von Katreka Howard
Visual And Functional Programing PrinciplesVisual And Functional Programing Principles
Visual And Functional Programing Principles
Katreka Howard2 views
Storyboarding and Wireframe Tools Review von Henry Cogo
Storyboarding and Wireframe Tools ReviewStoryboarding and Wireframe Tools Review
Storyboarding and Wireframe Tools Review
Henry Cogo13.7K views
A intro to (hosted) Shiny Apps von Daniel Koller
A intro to (hosted) Shiny AppsA intro to (hosted) Shiny Apps
A intro to (hosted) Shiny Apps
Daniel Koller4.4K views
Analyzing Twitter with Node-RED von Pooja Mistry
Analyzing Twitter with Node-RED Analyzing Twitter with Node-RED
Analyzing Twitter with Node-RED
Pooja Mistry231 views
Bruce Lawson Opera Indonesia von brucelawson
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesia
brucelawson1.5K views
Intro to Exhibit Workshop von Shawn Day
Intro to Exhibit WorkshopIntro to Exhibit Workshop
Intro to Exhibit Workshop
Shawn Day4.4K views
Documentation An Engineering Problem Unsolved von Schalk Cronjé
Documentation  An Engineering Problem UnsolvedDocumentation  An Engineering Problem Unsolved
Documentation An Engineering Problem Unsolved
Schalk Cronjé1.3K views
chapter2multimediaauthoringandtools-160131194415.pdf von SaqlainYaqub1
chapter2multimediaauthoringandtools-160131194415.pdfchapter2multimediaauthoringandtools-160131194415.pdf
chapter2multimediaauthoringandtools-160131194415.pdf
SaqlainYaqub19 views
Chapter 2 multimedia authoring and tools von ABDUmomo
Chapter 2 multimedia authoring and toolsChapter 2 multimedia authoring and tools
Chapter 2 multimedia authoring and tools
ABDUmomo24.4K views
WebGL - It's GO Time von Tony Parisi
WebGL - It's GO TimeWebGL - It's GO Time
WebGL - It's GO Time
Tony Parisi4.8K views

Más de eXascale Infolab

Beyond Triplets: Hyper-Relational Knowledge Graph Embedding for Link Prediction von
Beyond Triplets: Hyper-Relational Knowledge Graph Embedding for Link PredictionBeyond Triplets: Hyper-Relational Knowledge Graph Embedding for Link Prediction
Beyond Triplets: Hyper-Relational Knowledge Graph Embedding for Link PredictioneXascale Infolab
287 views30 Folien
It Takes Two: Instrumenting the Interaction between In-Memory Databases and S... von
It Takes Two: Instrumenting the Interaction between In-Memory Databases and S...It Takes Two: Instrumenting the Interaction between In-Memory Databases and S...
It Takes Two: Instrumenting the Interaction between In-Memory Databases and S...eXascale Infolab
167 views16 Folien
Representation Learning on Complex Graphs von
Representation Learning on Complex GraphsRepresentation Learning on Complex Graphs
Representation Learning on Complex GraphseXascale Infolab
539 views33 Folien
A force directed approach for offline gps trajectory map von
A force directed approach for offline gps trajectory mapA force directed approach for offline gps trajectory map
A force directed approach for offline gps trajectory mapeXascale Infolab
459 views12 Folien
Cikm 2018 von
Cikm 2018Cikm 2018
Cikm 2018eXascale Infolab
872 views18 Folien
HistoSketch: Fast Similarity-Preserving Sketching of Streaming Histograms wit... von
HistoSketch: Fast Similarity-Preserving Sketching of Streaming Histograms wit...HistoSketch: Fast Similarity-Preserving Sketching of Streaming Histograms wit...
HistoSketch: Fast Similarity-Preserving Sketching of Streaming Histograms wit...eXascale Infolab
787 views20 Folien

Más de eXascale Infolab(20)

Beyond Triplets: Hyper-Relational Knowledge Graph Embedding for Link Prediction von eXascale Infolab
Beyond Triplets: Hyper-Relational Knowledge Graph Embedding for Link PredictionBeyond Triplets: Hyper-Relational Knowledge Graph Embedding for Link Prediction
Beyond Triplets: Hyper-Relational Knowledge Graph Embedding for Link Prediction
eXascale Infolab287 views
It Takes Two: Instrumenting the Interaction between In-Memory Databases and S... von eXascale Infolab
It Takes Two: Instrumenting the Interaction between In-Memory Databases and S...It Takes Two: Instrumenting the Interaction between In-Memory Databases and S...
It Takes Two: Instrumenting the Interaction between In-Memory Databases and S...
eXascale Infolab167 views
Representation Learning on Complex Graphs von eXascale Infolab
Representation Learning on Complex GraphsRepresentation Learning on Complex Graphs
Representation Learning on Complex Graphs
eXascale Infolab539 views
A force directed approach for offline gps trajectory map von eXascale Infolab
A force directed approach for offline gps trajectory mapA force directed approach for offline gps trajectory map
A force directed approach for offline gps trajectory map
eXascale Infolab459 views
HistoSketch: Fast Similarity-Preserving Sketching of Streaming Histograms wit... von eXascale Infolab
HistoSketch: Fast Similarity-Preserving Sketching of Streaming Histograms wit...HistoSketch: Fast Similarity-Preserving Sketching of Streaming Histograms wit...
HistoSketch: Fast Similarity-Preserving Sketching of Streaming Histograms wit...
eXascale Infolab787 views
SwissLink: High-Precision, Context-Free Entity Linking Exploiting Unambiguous... von eXascale Infolab
SwissLink: High-Precision, Context-Free Entity Linking Exploiting Unambiguous...SwissLink: High-Precision, Context-Free Entity Linking Exploiting Unambiguous...
SwissLink: High-Precision, Context-Free Entity Linking Exploiting Unambiguous...
eXascale Infolab1.2K views
Dependency-Driven Analytics: A Compass for Uncharted Data Oceans von eXascale Infolab
Dependency-Driven Analytics: A Compass for Uncharted Data OceansDependency-Driven Analytics: A Compass for Uncharted Data Oceans
Dependency-Driven Analytics: A Compass for Uncharted Data Oceans
eXascale Infolab687 views
SANAPHOR: Ontology-based Coreference Resolution von eXascale Infolab
SANAPHOR: Ontology-based Coreference ResolutionSANAPHOR: Ontology-based Coreference Resolution
SANAPHOR: Ontology-based Coreference Resolution
eXascale Infolab1.1K views
Efficient, Scalable, and Provenance-Aware Management of Linked Data von eXascale Infolab
Efficient, Scalable, and Provenance-Aware Management of Linked DataEfficient, Scalable, and Provenance-Aware Management of Linked Data
Efficient, Scalable, and Provenance-Aware Management of Linked Data
eXascale Infolab713 views
Executing Provenance-Enabled Queries over Web Data von eXascale Infolab
Executing Provenance-Enabled Queries over Web DataExecuting Provenance-Enabled Queries over Web Data
Executing Provenance-Enabled Queries over Web Data
eXascale Infolab1.5K views
The Dynamics of Micro-Task Crowdsourcing von eXascale Infolab
The Dynamics of Micro-Task CrowdsourcingThe Dynamics of Micro-Task Crowdsourcing
The Dynamics of Micro-Task Crowdsourcing
eXascale Infolab1.6K views
Fixing the Domain and Range of Properties in Linked Data by Context Disambigu... von eXascale Infolab
Fixing the Domain and Range of Properties in Linked Data by Context Disambigu...Fixing the Domain and Range of Properties in Linked Data by Context Disambigu...
Fixing the Domain and Range of Properties in Linked Data by Context Disambigu...
eXascale Infolab3.1K views
CIKM14: Fixing grammatical errors by preposition ranking von eXascale Infolab
CIKM14: Fixing grammatical errors by preposition rankingCIKM14: Fixing grammatical errors by preposition ranking
CIKM14: Fixing grammatical errors by preposition ranking
eXascale Infolab1.7K views
Internet Infrastructures for Big Data (Verisign's Distinguished Speaker Series) von eXascale Infolab
Internet Infrastructures for Big Data (Verisign's Distinguished Speaker Series)Internet Infrastructures for Big Data (Verisign's Distinguished Speaker Series)
Internet Infrastructures for Big Data (Verisign's Distinguished Speaker Series)
eXascale Infolab663 views

Último

CRM stick or twist.pptx von
CRM stick or twist.pptxCRM stick or twist.pptx
CRM stick or twist.pptxinfo828217
11 views16 Folien
Dr. Ousmane Badiane-2023 ReSAKSS Conference von
Dr. Ousmane Badiane-2023 ReSAKSS ConferenceDr. Ousmane Badiane-2023 ReSAKSS Conference
Dr. Ousmane Badiane-2023 ReSAKSS ConferenceAKADEMIYA2063
5 views34 Folien
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ... von
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...DataScienceConferenc1
6 views15 Folien
Product Research sample.pdf von
Product Research sample.pdfProduct Research sample.pdf
Product Research sample.pdfAllenSingson
29 views29 Folien
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation von
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented GenerationDataScienceConferenc1
15 views29 Folien
Infomatica-MDM.pptx von
Infomatica-MDM.pptxInfomatica-MDM.pptx
Infomatica-MDM.pptxKapil Rangwani
11 views16 Folien

Último(20)

CRM stick or twist.pptx von info828217
CRM stick or twist.pptxCRM stick or twist.pptx
CRM stick or twist.pptx
info82821711 views
Dr. Ousmane Badiane-2023 ReSAKSS Conference von AKADEMIYA2063
Dr. Ousmane Badiane-2023 ReSAKSS ConferenceDr. Ousmane Badiane-2023 ReSAKSS Conference
Dr. Ousmane Badiane-2023 ReSAKSS Conference
AKADEMIYA20635 views
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ... von DataScienceConferenc1
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...
Product Research sample.pdf von AllenSingson
Product Research sample.pdfProduct Research sample.pdf
Product Research sample.pdf
AllenSingson29 views
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation von DataScienceConferenc1
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
SUPER STORE SQL PROJECT.pptx von khan888620
SUPER STORE SQL PROJECT.pptxSUPER STORE SQL PROJECT.pptx
SUPER STORE SQL PROJECT.pptx
khan88862013 views
Short Story Assignment by Kelly Nguyen von kellynguyen01
Short Story Assignment by Kelly NguyenShort Story Assignment by Kelly Nguyen
Short Story Assignment by Kelly Nguyen
kellynguyen0119 views
UNEP FI CRS Climate Risk Results.pptx von pekka28
UNEP FI CRS Climate Risk Results.pptxUNEP FI CRS Climate Risk Results.pptx
UNEP FI CRS Climate Risk Results.pptx
pekka2811 views
[DSC Europe 23] Danijela Horak - The Innovator’s Dilemma: to Build or Not to ... von DataScienceConferenc1
[DSC Europe 23] Danijela Horak - The Innovator’s Dilemma: to Build or Not to ...[DSC Europe 23] Danijela Horak - The Innovator’s Dilemma: to Build or Not to ...
[DSC Europe 23] Danijela Horak - The Innovator’s Dilemma: to Build or Not to ...
[DSC Europe 23] Predrag Ilic & Simeon Rilling - From Data Lakes to Data Mesh ... von DataScienceConferenc1
[DSC Europe 23] Predrag Ilic & Simeon Rilling - From Data Lakes to Data Mesh ...[DSC Europe 23] Predrag Ilic & Simeon Rilling - From Data Lakes to Data Mesh ...
[DSC Europe 23] Predrag Ilic & Simeon Rilling - From Data Lakes to Data Mesh ...
CRIJ4385_Death Penalty_F23.pptx von yvettemm100
CRIJ4385_Death Penalty_F23.pptxCRIJ4385_Death Penalty_F23.pptx
CRIJ4385_Death Penalty_F23.pptx
yvettemm1007 views
CRM stick or twist workshop von info828217
CRM stick or twist workshopCRM stick or twist workshop
CRM stick or twist workshop
info82821711 views
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx von DataScienceConferenc1
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx
4_4_WP_4_06_ND_Model.pptx von d6fmc6kwd4
4_4_WP_4_06_ND_Model.pptx4_4_WP_4_06_ND_Model.pptx
4_4_WP_4_06_ND_Model.pptx
d6fmc6kwd47 views
Organic Shopping in Google Analytics 4.pdf von GA4 Tutorials
Organic Shopping in Google Analytics 4.pdfOrganic Shopping in Google Analytics 4.pdf
Organic Shopping in Google Analytics 4.pdf
GA4 Tutorials16 views

LDOW2015 - Uduvudu: a Graph-Aware and Adaptive UI Engine for Linked Data

  • 1. Michael Luggen, Adrian Gschwend, Bernhard Anrig, Philippe Cudré-Maurox, Firenze 2015 Uduvudu a Graph-Aware and Adaptive UI Engine for Linked Data
  • 2. 16th of May 2015
 at only 1600m elevation!
  • 3. Was Leonardo da Vinci an early master of visualisation techniques? 3
  • 4. 4
  • 6. Visualisation as a Tool Sure, Leonardo da Vinci was an exceptional creator of all kind of visualisations. But much more he was able to use his visualisations with an amazing ingenuity as a tool to transmit knowledge to his fellows — tell stories still read today. 6
  • 8. Uduvudu a Graph-Aware and Adaptive UI Engine for Linked Data Uduvudu exploits the semantic and structured nature of Linked Data to generate the best possible representation for a human based on a catalog of available Matchers and Templates. ! Matchers and Templates are designed that they can be build through an intuitive editor interface. 8
  • 9. Why another Framework?a.k.a. Motivation We found ourselves reinventing the wheel while using Linked Data in the Presentation Layer. There are tons of great tools creating amazing visualisations on top of Linked Data. But to tell a story we needed to write use case specific code over and over. 9
  • 10. Differentiation Uduvudu is NOT a visualisation toolkit, it can not draw graphs (e.g. bar charts) neither maps. Uduvudu is NOT a Linked Data Explorer, or Browser. (Though you can build excellent ones with it.) Uduvudu is NOT a Linked Data selector, gatherer or enhancer. 10
  • 11. Requirements I Maximize the reusability of templates by design. A template, thus a designer, has a defined set of facts to consume. Clear separation of concerns for all involved parties. 11
  • 12. Requirements II Make use of the inherent semantic structure (ontologies) and keep the structure intact. Handle language transparently, but provide access to all available languages. Render on flexible context aware templates. 12
  • 13. Demo UDUVUDU - DBpedia Viewer http://dbpedia.exascale.info LOD events eXplorer http://explorer.nexacenter.org 13
  • 14. System Overview A separate application logic prepares the data which shall be shown to the user. The data is provided as a RDF Graph to Uduvudu with a start resource. In a first step the graph and the matchers are combined to cover the maximum by abstract templates. In a second step a template is chosen, taking into account the user context (device, language, use case) to render the data. 14 SPARQL Graph File App. Logic Matcher Renderer Device Templates Context Denitions User Language
  • 16. Basic Types of Matchers Predicate Matcher
 Simple matching by predicates with the resource either in subject or object position. Combine Matcher
 Combines multiple matchers, also Combine Matchers itself, which creates hierarchical matchers. Link Matcher
 Follows a predicate to another URI. 16 The architecture allows to plug-in additional matchers.
  • 17. 555555555555 http://example.com/me/corkyhttp://example.com/me/corkyhttp://example.com/me/corky http://example.com/me/corky#telephonehttp://example.com/me/corky#telephonehttp://example.com/me/corky#telephone http://example.com/me/corky#addresshttp://example.com/me/corky#addresshttp://example.com/me/corky#address mailto:corky@example.commailto:corky@example.commailto:corky@example.com AustraliaAustraliaAustralia WonderCityWonderCityWonderCity 111 Lake Drive111 Lake Drive111 Lake Drive tel:+61755555555tel:+61755555555tel:+61755555555 Corky CrystalCorky CrystalCorky Crystal CorksCorksCorks vcard:hasTelephone vc ard:hasAddress vcard:hasEmail vcard:country-name vcard:locality vcard:postal-codevcard:street-address vcard:hasValue vcard:fn vcard:nickname addressaddressaddress location_linklocation_linklocation_link akaakaaka vcard:fnvcard:fnvcard:fn vcard:nicknamevcard:nicknamevcard:nickname locationlocationlocation citycitycity vcard:street-addressvcard:street-addressvcard:street-address vcard:localityvcard:localityvcard:locality vcard:postal-codevcard:postal-codevcard:postal-code vcard:country-namevcard:country-namevcard:country-name vcard:hasAddress Predicate Matcher
 Combine Matcher
 Link Matcher

  • 18. Matcher Algorithm If a start resource is provided.
 Beginning from a given start resource we follow the available matchers and chose the sub-graph which covers the most triples. Else we explore all resources,
 and add the biggest found sub-graph to a set, remove the covered triples from the input graph and start over until all triples are covered. 18
  • 19. Matcher <#depiction>  a  uv:PredicateMatcher  ;          uv:matcherName  "fullname"  ;          uv:predicate  vcard:fn  ;          uv:abstractTemplate  uvsat:text  .   ! <#combine_aka>  a  uv:CombineMatcher  ;          uv:combineIds  "fullname",  "nickname"  ;          uv:matcherName  "aka"  ;          uv:abstractTemplate  uvsat:aka  .   ! <#combine_address>  a  uv:CombineMatcher  ;          uv:combineIds  "aka",  "location_link"  ;          uv:matcherName  "address"  ;          uv:abstractTemplate  uvsat:address  . 19
  • 21. Template I uvsb:address  a  uv:Template  ;          uv:abstractTemplate  uvsat:address  ;
        uv:device  'desktop'  ;          uv:template  '…'. 21
  • 22. Template II <div>          <span  class="glyphicon  glyphicon-­‐envelope"                    style="font-­‐size:48px;  float:left;                    margin:  0  15px  0  10px;">          </span>          <div>          <b><%-­‐address.aka.fn.u%></b>          [aka  <%-­‐address.aka.nickname.u%>]<br>          <%  template(address.location_link.0.location)  %>          <%  print(address.location_link.0.location.                          city.country-­‐name.u.toUpperCase())  %>          </div>   </div> 22
  • 23. Template: Variables 23 Usage Description Example Delimiters <%- %> Output variable HTML-escaped. <%- label.u %> <%= %> Output variable non-escaped. <%= html_desc.u %> <% %> Execute JavaScript: Use print() for output. <% print(label.u.toUpperCase()) %> Variables label.u Literal in context language. <%- label.u %> label.l.en Literal in specific language (lang tag). <%- label.u.ja %> city.label.u Literal deeper in matched structure. <%- city.label.u %> template(city.label) Rendered template for sub element. <%- template(city.label) %> Table 2: Overview of the most important template commands available. lates. This is shown in Figure 10, where the rdf:label gets ombined with a pre-existing rdf:abstract template to form new head template. Fribourg(Q36378) [ edit ] capital of the canton of Fribourg in Switzerland [ edit ] FreiburgAlso known as: [ edit ] Item Discussion Read View history Search Main page Community portal English Create account Log in
  • 24. Related Work 24 Uduvudu Callimachus Balloon Syn. Fresnel Exhibit LESS Level of Template Subgraph Application JS Selector Subgraph Subgraph Projection Description of Template under- score.js RDFa Template s Handlebar Fresnel Formats Exhibit Lenses Smarty Recursive Use of Template Y N N Y N N Context Awareness Y N N N N N Separation of Concerns Y N Y Y N Y Editor Y Y N N N Y
  • 25. Future Work Optimize implementation for more speed and introduce reactivity. Create a sort of “baked” templates which are optimized for a data source. Automatic or semi-automatic generation of templates. Extension of the editor for more functionality. Build a user platform where styles can be shared. 25
  • 26. –Leonardo da Vinci “Art is never finished, only abandoned.” fin www.uduvudu.org reusability, defined set of facts, separation of concerns, use of inherent structure, language, context aware templates
  • 27. WebComponents http://www.w3.org/TR/components-intro/ Uduvudu will be provided as a WebComponent: <uduvudu  styles=“http://..”>     …triples…   </uduvudu>   ! Uduvudu can use WebComponents inside its Templates. 27
  • 29. About: Fribourg An Entity of Type : municipality, from Named Graph : http://dbpedia.org, within Data Space : dbpedia.org Fribourg is the capital of the Swiss canton of Fribourg and the district of Sarine. It is located on both sides of the river Saane/Sarine, on the Swiss plateau, and is an important economic, administrative and educational center on the cultural border between German and French Switzerland. Its Old City, one of the best maintained in Switzerland, sits on a small rocky hill above the valley of the Sarine. Property Value dbpedia-owl:PopulatedPlace/areaTotal 9.32 dbpedia-owl:abstract Fribourg is the capital of the Swiss canton of Fribourg and the district of Sarine. It is located on both sides of the river Saane/Sarine, on the Swiss plateau, and is an important economic, administrative and educational center on the cultural border between German and French Switzerland. Its Old City, one of the best maintained in Switzerland, sits on a small rocky hill above the valley of the Sarine. Freiburg ist eine Schweizer Stadt und Hauptort des Saanebezirks sowie des Kantons Freiburg. Zur Unterscheidung von Freiburg im Breisgau wird gelegentlich der Zusatz im Üechtland oder im Üchtland (kurz i. Ü. ) verwendet. Freiburg, beidseits der Saane im Schweizer Mittelland gelegen, ist ein wichtiges Wirtschafts-, Verwaltungs- und Bildungszentrum mit zweisprachiger Universität an der Kulturgrenze zwischen deutscher und französischer Schweiz. Sie besitzt eine der am besten erhaltenen und grössten zusammenhängenden historischen Altstädte der Schweiz auf einem schmalen Felssporn über dem Tal der Saane. Fribourg est une ville et une commune suisse du canton de Fribourg, sur la Sarine. C'est la capitale du canton de Fribourg et le chef-lieu du district de la Sarine. Fribourg est une ville bilingue, avec un cinquième de la population germanophone. Elle est située de chaque côté de la Sarine sur le plateau suisse à la frontière culturelle entre la Suisse alémanique et romande. Elle est un important centre économique, administratif et éducatif et comprend une Université. Elle est placée sous le patronage de saint Nicolas de Myre, de sainte Barbe et de sainte Catherine d'Alexandrie. Fribourg fait partie du périmètre de l'AGGLO Fribourg - Freiburg. dbpedia-owl:areaTotal 9320000.000000 (xsd:double) dbpedia-owl:canton dbpedia:Canton_of_Fribourg dbpedia-owl:country dbpedia:Switzerland dbpedia-owl:district dbpedia:Sarine_District dbpedia-owl:elevation 610.000000 (xsd:double) dbpedia-owl:maximumElevation 702.000000 (xsd:double) dbpedia-owl:municipalityCode 2196 dbpedia-owl:neighboringMunicipality dbpedia:Granges-Paccot dbpedia:Pierrafortscha dbpedia:St._Ursen dbpedia:Givisiez dbpedia:Marly,_Fribourg dbpedia:Düdingen dbpedia:Villars-sur-Glâne dbpedia:Tafers dbpedia-owl:postalCode 1700 dbpedia-owl:thumbnail http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Panorama_Fribourg_107.JPG/200px-Panorama_Fribourg_107.JPG
  • 30. Fribourg Fribourg (French pronunciation: [fʁibuʁ]; Arpitan: Fribôrg/Friboua, IPA: [fʁibwa] ; German: Freiburg or Freiburg im Üechtland, Swiss German pronunciation: [ˈfrib̥ʊrɡ]; Italian: Friburgo or Friborgo) is the capital of the Swiss canton of Fribourg and the district of Sarine. It is located on both sides of the river Saane/Sarine, on the Swiss plateau, and is an important economic, administrative and educational center on the cultural border between German and French Switzerland (Romandy). www.ville-fribourg.ch Elevation: 610.0 m Area: 9.32 km Temperatures per Month Temperatures in °C/month: Average Low, Daily Mean, Average High Humidity per Month Fribourg/Freiburg 2 Report a map errorMap data ©2015 Google Terms of Use