This document proposes Linked Data-driven Web Components (LD-R) to build flexible and reusable user interfaces for Semantic Web applications. LD-R uses Web Components and reactive programming principles to create reusable UI components that are driven by Linked Data. It aims to improve adoption of Semantic Web technologies by simplifying development and enabling customization. The architecture of LD-R includes RDF components, configurations, and scopes to handle interaction with Linked Data. Example uses of LD-R are described for building faceted browsers and metadata editors.
Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces
1. Adaptive Linked Data-driven
Web Components
Building Flexible and Reusable Semantic Web Interfaces
Ali Khalili, Antonis Loizou & Frank van Harmelen
2. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 2Ali Khalili
https://uxmag.com/articles/does-skeuomorphic-design-matter
Fear of New
3. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 3Ali Khalili
Skeuomorphic Design
“One way of overcoming the fear of new
is to make it look like the old.”
Donald A. Norman
Fear of New
4. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 4Ali Khalili
Linked Open Data Principles
WWW World
5. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 4Ali Khalili
Linked Open Data Principles
WWW World
6. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 4Ali Khalili
Linked Open Data Principles
WWW World
7. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 4Ali Khalili
Linked Open Data Principles
WWW World
8. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 4Ali Khalili
Linked Open Data Principles
WWW World
9. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 5Ali Khalili
Human Interactions
Linked Data on the Web WorldHumans
Linked Open Data
10. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 5Ali Khalili
Human Interactions
Linked Data on the Web WorldHumans
Linked Open Data
11. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 6Ali Khalili
The Pathetic Fallacy of RDF
Display RDF data to the users as a graph
because the underlying data model is a graph…
David Karger and MC Schraefel. The pathetic fallacy of rdf. Position Paper for SWUI06, 2006
Human InteractionsLinked Open Data
12. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 6Ali Khalili
The Pathetic Fallacy of RDF
Display RDF data to the users as a graph
because the underlying data model is a graph…
David Karger and MC Schraefel. The pathetic fallacy of rdf. Position Paper for SWUI06, 2006
Human InteractionsLinked Open Data
13. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 7Ali Khalili
ComplexityHuman InteractionsLinked Open Data
14. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 8Ali Khalili
Complexity
Law of conservation of complexity
“Every application has an inherent amount of
complexity that cannot be removed or hidden.
Instead, it must be dealt with, either in
product development or in user interaction.”
15. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 9Ali Khalili
Complexity Components
16. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 10Ali Khalili
ComponentsComplexity
17. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 11Ali Khalili
Web Components & Microservices
<Component properties={P} events={E} states={S}> </Component>
Monolith Microservices
18. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 12Ali Khalili
Semantic Web + Web Components
19. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 12Ali Khalili
Semantic Web + Web Components
How can Web Components benefit from the
Semantic Web?
20. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 12Ali Khalili
Semantic Web + Web Components
How can Web Components benefit from the
Semantic Web?
How can Semantic Web benefit from the
Web Components?
21. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 12Ali Khalili
Semantic Web + Web Components
How can Web Components benefit from the
Semantic Web?
How can Semantic Web benefit from the
Web Components?
Linked Data-driven Web Components
22. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 13Ali Khalili
LD-R Requirements
23. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 13Ali Khalili
LD-R Requirements
• 51% of developers had communication issues with non-Semantic Web developers to familiarize them with
Semantic Web concepts before they can start contributing to the application.
24. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 13Ali Khalili
LD-R Requirements
• 51% of developers had communication issues with non-Semantic Web developers to familiarize them with
Semantic Web concepts before they can start contributing to the application.
• Developers spend a lot of time (avg. > 2 days) on bootstrapping their LDAs.
25. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 13Ali Khalili
LD-R Requirements
• 51% of developers had communication issues with non-Semantic Web developers to familiarize them with
Semantic Web concepts before they can start contributing to the application.
• Developers spend a lot of time (avg. > 2 days) on bootstrapping their LDAs.
• 52% had experience adapting the user interface of their applications frequently.
26. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 13Ali Khalili
LD-R Requirements
• 51% of developers had communication issues with non-Semantic Web developers to familiarize them with
Semantic Web concepts before they can start contributing to the application.
• Developers spend a lot of time (avg. > 2 days) on bootstrapping their LDAs.
• 52% had experience adapting the user interface of their applications frequently.
• A considerable amount of users (46%), prefer to write the code from scratch instead of reusing code from
existing Semantic Web projects.
27. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 13Ali Khalili
LD-R Requirements
• 51% of developers had communication issues with non-Semantic Web developers to familiarize them with
Semantic Web concepts before they can start contributing to the application.
• Developers spend a lot of time (avg. > 2 days) on bootstrapping their LDAs.
• 52% had experience adapting the user interface of their applications frequently.
• A considerable amount of users (46%), prefer to write the code from scratch instead of reusing code from
existing Semantic Web projects.
• Only 19% of the participants (mainly advanced users) were using Web Components.
28. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 14Ali Khalili
LD-R
LDA: Linked Data Application UI: User Interface
Objectives
29. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 14Ali Khalili
LD-R
Adoption of LDA UIs by non-Semantic Web
developers and end-users
Bootstrapping of LDA UIs
Customization and Personalization of LDA UIs
Standardization & Reusability of LDA UIs
LDA: Linked Data Application UI: User Interface
Objectives
30. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 15Ali Khalili
Component
Developer
Application
Assembler
End User
Linked Data
Provider
LD-R Components Life Cycle
31. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 15Ali Khalili
Component
Developer
Application
Assembler
End User
Linked Data
Provider
RDF
components
LD-R Components Life Cycle
32. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 15Ali Khalili
Component
Developer
Application
Assembler
End User
Linked Data
Provider
RDF
components
Scopes
&
Config
LD-R Components Life Cycle
33. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 16Ali Khalili
LD-R Web Components Architecture
LD-R
Web Components
RDF Components
User-defined Components
Semantic
Markup
34. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 16Ali Khalili
LD-R Web Components Architecture
LD-R
Web Components
Interaction Mode
RDF Components
User-defined Components
View Edit Browse
Semantic
Markup
35. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 16Ali Khalili
LD-R Web Components Architecture
LD-R
Web Components
Scopes
Interaction Mode
RDF Components
User-defined Components
View Edit Browse
Semantic
Markup
36. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 16Ali Khalili
LD-R Web Components Architecture
LD-R
Web Components
Scopes
Configurations
Interaction Mode
RDF Components
User-defined Components
View Edit Browse
Generic Configurations
Component-specific Configurations
Semantic
Markup
37. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 17Ali Khalili
ConfigurationLD-R Example
https://github.com/ali1k/ld-r/blob/master/configs/reactor.sample.js
38. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 17Ali Khalili
ConfigurationLD-R Example
https://github.com/ali1k/ld-r/blob/master/configs/reactor.sample.js
39. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 18Ali Khalili
LD-R
Linked Data Reactor
http://ld-r.org
Implementation
40. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 18Ali Khalili
LD-R
Linked Data Reactor
http://ld-r.org
Implementation
41. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 19Ali Khalili
LD-R Implementation
MICROSERVICES / WEB APIS
[ISOMORPHIC] REACTIVE UI COMPONENTS
LINKED DATA
Architecture
42. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 20Ali Khalili
ImplementationLD-R
Data Flow
43. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 21Ali Khalili
RISISLD-R Use Cases
http://datasets.risis.eu
44. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 22Ali Khalili
RISISLD-R Use Cases
• A component to allow searching/inserting resources from DBpedia.
• A component to allow showing DBpedia places on a map.
• A component to allow inserting/viewing languages formatted in ISO
639-1 using standard URIs.
• A component to allow inserting/viewing file size specified by a unit.
• A component to allow inserting and viewing mime types.
Example Components
DBpediaInput
DBpediaGMap
LanguageView, LanguageInput
FileSizeView, FileSizeInput
MimeTypeView, MimeTypeInput
45. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 23Ali Khalili
RISISLD-R Use Cases
Generic
• Render metadata properties in different categories.
• The labels for properties should be in the UI especially for technical
properties (e.g. RDF dump) that are unknown to researchers outside
the Semantic Web domain.
• Show a hint for properties to help metadata editors to understand
the meaning of the property.
• Instead of showing the full URIs, the output UI should render either
a shortened URI or a meaningful string linked to the original URI.
• Whenever a DBpedia URI is provided, display the corresponding
Wikipedia URI to retrieve human readable information.
Specific
• dcterms:spatial -> viewer: DBpediaGMap
• dcterms:subject -> editor: DBpediaInput
• dcterms:language -> viewer: LanguageView, editor: LanguageInput
• dcat:byteSize -> viewer: FileSizeView, editor: FileSizeInput
• dcterms:format -> viewer: MimeTypeView, editor: MimeTypeInput
Example Scopes & Configurations
46. resource: {
`generic': {
usePropertyCategories: 1,
propertyCategories: [`overview', `legalAspects', `technicalAspects'],
resourceReactor: [`Resource'],
shortenURI: 1
}
},
property: {
`generic': {
propertyReactor: [`IndividualProperty'],
objectReactor: [`IndividualObject'],
objectIViewer: [`BasicIndividualView'],
objectIEditor: [`BasicIndividualInput']
},
`http://purl.org/dc/terms/language': {
allowNewValue: 1,
label: [`Dataset Language'],
category: [`overview'],
hint: [`The language of the dataset. Resources defined by the Library of Congress (http://id.loc.gov/
vocabulary/iso639-1.html, http://id.loc.gov/vocabulary/iso639-2.html) SHOULD be used.'],
objectIViewer: [`LanguageView'],
objectIEditor: [`LanguageInput'],
defaultValue: [`http://id.loc.gov/vocabulary/iso639-1/en']
},
`http://purl.org/dc/terms/spatial': {
label: [`Geographical coverage'],
category: [`overview'],
hint: [`The geographical area covered by the dataset.'],
allowNewValue: 1,
objectReactor: [`AggregateObject'],
objectAViewer: [`DBpediaGoogleMapView'],
objectIViewer: [`BasicDBpediaView'],
asWikipedia: 1,
objectAEditor: [`BasicAggregateInput'],
objectIEditor: [`DBpediaInput'],
lookupClass: [`Place']
},
`http://purl.org/dc/terms/subject': {
category: [`overview'],
label: [`Keywords'],
hint: [`Tags a dataset with a topic.'],
Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 24Ali Khalili
LD-R Use Cases Example Config
47. resource: {
`generic': {
usePropertyCategories: 1,
propertyCategories: [`overview', `legalAspects', `technicalAspects'],
resourceReactor: [`Resource'],
shortenURI: 1
}
},
property: {
`generic': {
propertyReactor: [`IndividualProperty'],
objectReactor: [`IndividualObject'],
objectIViewer: [`BasicIndividualView'],
objectIEditor: [`BasicIndividualInput']
},
`http://purl.org/dc/terms/language': {
allowNewValue: 1,
label: [`Dataset Language'],
category: [`overview'],
hint: [`The language of the dataset. Resources defined by the Library of Congress (http://id.loc.gov/
vocabulary/iso639-1.html, http://id.loc.gov/vocabulary/iso639-2.html) SHOULD be used.'],
objectIViewer: [`LanguageView'],
objectIEditor: [`LanguageInput'],
defaultValue: [`http://id.loc.gov/vocabulary/iso639-1/en']
},
`http://purl.org/dc/terms/spatial': {
label: [`Geographical coverage'],
category: [`overview'],
hint: [`The geographical area covered by the dataset.'],
allowNewValue: 1,
objectReactor: [`AggregateObject'],
objectAViewer: [`DBpediaGoogleMapView'],
objectIViewer: [`BasicDBpediaView'],
asWikipedia: 1,
objectAEditor: [`BasicAggregateInput'],
objectIEditor: [`DBpediaInput'],
lookupClass: [`Place']
},
`http://purl.org/dc/terms/subject': {
category: [`overview'],
label: [`Keywords'],
hint: [`Tags a dataset with a topic.'],
Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 24Ali Khalili
'http://purl.org/dc/terms/language': {
allowNewValue: 1,
label: [`Dataset Language'],
category: [`overview'],
hint: [`The language of the dataset.'],
objectIViewer: [`LanguageView'],
objectIEditor: [`LanguageInput'],
defaultValue: [`http://id.loc.gov/vocabulary/iso639-1/en']
},
LD-R Use Cases Example Config
48. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 25Ali Khalili
RISISLD-R Use Cases
http://sms.risis.eu
49. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 26Ali Khalili
RISISLD-R Use Cases
http://datasets.risis.eu
50. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 27Ali Khalili
LD-R Use Cases Faceted browserRISIS
http://datasets.risis.eu/browse
51. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 28Ali Khalili
Open PHACTSLD-R Use Cases
http://void.ops.labs.vu.nl/
52. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 29Ali Khalili
LD-R
Bridging the gap between Semantic Web Technologies and Web
Components worlds brings mutual benefits for both sides:
- Semantic Web technologies provide support for richer
component discovery, interoperability, integration, and
adaptation on the Web.
- Web Components bring the advantages of UI standardization,
reusability, replaceability and encapsulation to current Semantic
Web applications.
Conclusion
53. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 30Ali Khalili
LD-R
- Create a cloud infrastructure for sharing and reusing LD-R
scopes and configurations as well as LD-R Web components
without the need to install the framework.
- Make a UI to facilitate creation of the LD-R scopes and
configurations.
- Develop mechanisms for automatic configuration and
composition of Web components based on the semantic
markup provided.
Future Plans
54. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 31Ali Khalili
Take-Home Message
Thomas J. Watson
“Design must reflect the
practical and aesthetic in
business but above all…
good design must primarily
serve people.”
55. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 31Ali Khalili
Take-Home Message
Thomas J. Watson
“Design must reflect the
practical and aesthetic in
business but above all…
good design must primarily
serve people.”
ld-r.org
56. Adaptive Linked Data-driven Web Components: Building Flexible and Reusable Semantic Web Interfaces 31Ali Khalili
Take-Home Message
Thomas J. Watson
“Design must reflect the
practical and aesthetic in
business but above all…
good design must primarily
serve people.”
ld-r.org
?