SlideShare a Scribd company logo
1 of 65
Download to read offline
Semantic
Technologies
in Practice
Knowledge and the Web
2016
Semantic technologies in practice
Some technical tidbits
Some real-world examples
A practical way of developing apps
High quality linked data
Five stars
- The content is free
- … in a structured format
- … which is open
- … and it uses URIs
- … which are used elsewhere
<3 stars: Manual integration
>3 stars: Automatic integration
Semantic integration
Mapping to linked data:
- CKAN
- schema.org
Content is linked data:
- RDFa
- Turtle
Internal use of Linked Data:
- mu.semte.ch
SPARQL endpoint
- dbpedia
“Are we succeeding?”
Search Engine Optimisation
Example: Best Buy
Accidental SEO
- Build blog for higher visibility
- Annotations using RDFa
+ 30% incoming search traffic ?!
Example: Best Buy
Best buy now uses schema.org
Where do we see this working?
Example: Best Buy
Example: Coolblue
SEO
Search engines are pushing for structured data
& it’s linked
BBC
you know, the big broadcasters
BBC: World cup 2010
Problem:
- Information on 32 teams, 736 players
- Roughly 750 pages of dynamic content
Solution:
- A semantic model
- Dynamically generated pages
- Minimal journalistic management
Repeated in 2012 summer olympics
BBC: Ontologies
BBC publishes Linked Data everywhere
Awesome ontologies
!! Agile ontologies !!
Semantic administration tools
“We want people to
recognise, not memorise their
way around the site”
-- Jo Kent
Linked Open Data Cloud
ESCO
bringing structure to the job market
ESCO
Meet Sara,
… a Spanish speaking nurse from Spain
ESCO
Sarah considers filling her duties in
another European country.
ESCO
Sarah has limited language skills
Sarah uses Google translate and finds that enfermera
translates to nurse
What Sarah doesn’t find is that a nurse in Spain performs
the duties of a nursery assistant in Great Britain.
“Name concepts by URI”
ESCO
ESCO
ESCO
This is what we do:
- ~7 full time knowledge engineers
- ~4 full time developers and architects
- Loads of tooling
- Vision for the future
Tea time!
<<<SSSHHHHHHHHH>>>
this is the start of the mu.semte.ch story
*COUGH*
mu.semte.ch
practical applications with Linked Data
In 60 seconds
State-of-the-art web applications fuelled by Linked Data aware microservices
- User-facing microservices
- Easy deployment using Docker
- Single Page Apps using Ember.js
- Well known requirements
=> [HTTP+JSON+SPARQL]
https://github.com/mu-semtech/
https://mu.semte.ch
Some history
Share code on personal projects
Rails is not über-productive
Stay light, choose later
Use microservices and semantic model
KISS
Keep It Super Simple
KISS
- Most of us aren’t microservice experts
- Most of us aren’t UI experts
- We need to get stuff done
- Maximize freedom
- Orthogonal features
- Minimize requirements
- Enforce simple mental model
Simple mental model
user-facing http-services
Simple mental model
User-facing microservices
Limit base technologies:
- HTTP
- JSON(API)
- SPARQL (one graph)
Simple mental model
TenForce supports publishing of open data.
- Use DCAT standard
- EDCAT 2.0 released
- mudCAT = back-end
- webCAT = front-end
- Custom configurations to match
specific customer needs.
webCAT
Semantic models
Many actors, telling parts of the same story
Semantic models
Services read/write the part of the world they understand.
User Registration:
- There’s a new user => add it to the triplestore.
User Login:
- Check username/password => connect user to current session.
Semantic models
Registration
service
Login service
Semantic models
Many implementations, one model
Same model for:
- Username/Password login
- OAuth login
- ECAS login
Semantic models
We use the ECAS login for ESCO-related projects.
ESCO is a taxonomy of all Skills Competences and Occupations in Europe.
The Dacota team finds and classifies content. Brains for hire!
Docker
Deployment made easy
Docker Container =~ Lightweight Linux Virtual Machine
Docker Compose =~ Topology of multi-container project
Each service runs in its own Docker Container
In short:
- Simple hosting on hub.docker.com
- Clean project description
- Always works
- Runs on the Big Data Europe Platform
Share using Docker
Share using Docker
We are part of Big Data Europe
Making Big Data:
- Easy to get started
- Cheaper to maintain
… in any domain
- Now including Smart Big Data:
=> Semantics + Big Data = <3
Reuse everything
Reuse everything
- Templates: basics for a service
- Configurable services
- mu-cl-resources
- Ember add-ons
- Hierarchy service + add-on
- Login service + add-on
Base templates
CatalogsIndexRoute = Ember.Route.extend
ajax: Ember.inject.service()
model: () ->
@get('ajax').request('/hello')
Hello result: {{model.value}}
get '/hello/' do
counter = query( "SELECT COUNT (*) as ?counter" +
"WHERE {" +
" ?s ?p ?o." +
"}" ).first[:counter].to_i
status 200
{ value: counter }.to_json
end
FROM semtech/mu-ruby-template:2.0.0-ruby2.3
MAINTAINER Your Name <you@provider.com>
demo:
image: you/demo-service
links:
- db:database
dispatcher:
…
links:
- demo:demo
match "/hello/*path" do
Proxy.forward conn, path, "http://demo/hello/"
end
[mu-ruby-template
]
Base templates [mu-ruby-template
]
Configurable services
(define-resource distribution ()
:class (s-prefix "dcat:Distribution")
:properties `((:title :string ,(s-prefix "dct:title"))
(:description :string ,(s-prefix "dct:description"))
(:issued :string ,(s-prefix "dct:issued"))
(:modified :string ,(s-prefix "dct:modified"))
(:license :string ,(s-prefix "dct:license"))
(:rights :string ,(s-prefix "dct:rights"))
(:access-url :string ,(s-prefix "dcat:accessURL"))
(:download-url :string ,(s-prefix "dcat:downloadURL")))
:has-one `((dataset :via ,(s-prefix "dcat:distribution")
:inverse t
:as "dataset")
(format :via ,(s-prefix "dct:format")
:as "format"))
:resource-base (s-url "http://your-data-stories.eu/distributions/")
:on-path "distributions")
[mu-cl-resources]
Full JSONAPI from abstract description
Configurable services [mu-cl-resources]
Ember add-ons
> ember install ember-async-expanding-tree
{{async-expanding-tree model=topNode config=customConfig}}
config:
labelPropertyPath: 'label'
getChildren: (model) ->
children = Ember.ajax("/hierarchy/" +
"#{@get('hierarchyId')}" +
"/target/#{model.get('id')}")
showMaxChildren: 50
includeLeafs: true
hierarchy:
image: tf-esco/hierarchy:1.2.3
links:
- db:database
dispatcher:
…
links:
- hierarchy:hierarchy
match "/hierarchy/*path" do
Proxy.forward conn, path, "http://hierarchy/"
end
[hierarchy-service]
Ember add-ons [hierarchy-service]
What we learned
What we learned
- Extremely productive
- Code reuse
- Easy for juniors
- Customers like front-end
- Database performance is okayish
- Conscious playing with alternative solutions
About the future
Trigger microservices by changes in
semantic model.
Example:
- Compute KPIs when a new dataset is added
- Send email/tweet by writing it to the triplestore
Reactive programming
More performance
- ember-fastboot:
Faster first page render
- mu-cache:
Smart caching strategies
in core microservices
- mu-cl-resources:
Partial resource caching
More authority
Describe authorization outside the microservices:
- Simplify mental model
- Help in sharing content
- Open gate to advanced
applications
search for Jonathan Langens if you want to know more
More interactivity
Push cache updates to all visiting clients.
Almost no development time to create
basic interactive applications
(eg: updating KPIs, chat applications, …)
More links
Lego Time Star Wars: https://www.flickr.com/photos/eurobricks-starwars/5223334274/in/photolist-8XyXiu-7BJ9Xp-c2btBw-davQBK-
nAQJCC-9XVSZs-a3vVhy-vPZaHw-r6NB6c-4ajSXh-rX7ezA-BBhAWf-BiWDpc-rED79Q-rX7f8u-mtctqc-wtp245-fcNzVb-CgXNsA-D4Uxps-wKj5u9-rX7fVm-
rUWnBU-uhC54v-rXeB4g-zVknPq-qxEqXx-8GSCNc-nzg79j-biFNa6-9fXjwV-biFMTa-a1kbsX-5HnKDa-dQCdnW-a54g8X-bm9TRN-8zJUzU-fbGRan-sdr4hw-
e9DMFz-q3qQqf-aAZwyV- bm9Tsw-dQCdpb-sdpUWU-rkow4K-wazJmK-bz4Md8-pyU2QM Wendelstein 7X: http://www.sciencemag.org/news/2015/10/
bizarre-reactor-might-save- nuclear-fusion 300SL: https://www.flickr.com/photos/smfan/7181631212/in/photolist-bWBJKN-o52kEN-
5pCCRH-6NezBh-oF2nYm-gHtRrE-6KAHDv-cPKKj9-2aj2ur-s3A8ua-5pH14j-bQk48B-omejVV-q2tAx7-o8yCtS-nRauVz-5pCNWB-o525H4-o9dqig-sk2we8-
o4EApo-N2NDc-o7jxQM-5pCG4c-81DnQh-exNBvp-kc9m4-exS223-cm2nm5-aPXHgc-7Tg5XD-6HQ5Q9-6w1JtR-5pCGWi-eb6dJe-pJYFdi-azFSaU-p5y4mb-
6GjCy2-q2kGp6-o52baX-9XtXDc-4GqX86-pJXbk1-8canak-q2tu1j-6HQ6eo-sjZQkD-dhaPyf-bBqucA http://www.quickmeme.com/meme/3stqet Big Data
Europe: https://www.big-data-europe.eu/ Docker Logo: http://www.silicon.de/41608942/microsoft-optimiert-windows-server-2016-fuer-die-
cloud/ webCAT: https://github.com/tenforce/webcat Banksy Van: http://artcentron.com/2016/06/22/banksy-graffiti-art-swat-van-sale/
#prettyPhoto Banksy Bananas: https://www.touchofmodern.com/sales/banksy-8a9ea26d-040f-4435-ada1-86e7a6b4a05c/pulp-fiction-bananas
Your Data Stories platoform: http://platform.yourdatastories.eu/ Star Wars Clones box: https://www.flickr.com/photos/kalexanderson/
5410769283/in/photolist-9f8Bcz-5SJTDj-55MnH2-4WEfzr-in3p6t-drf7fp-3b46gb-bKfRW4-3aYzBt-4xztdx-35E11y-9jVQVR-9wuv3f-9r3mWe-9hNTVz-
7JzMxg-7JYZFM-Hw1QSq-8FW8eh-nVj9Sc-8ytJvH-aPPKYz-dYyYWK-7fhBFE-7GgZYm-e5M9jV-bwm6S9-7fhyGd-e5SNkL-5LDPWB-e5SNdf-4MKWht-e5SLrb-
5zPWDw-74Yjyb-8xh5Vr-9Apdwp-4XUn5j-jSHfRS-9fAZ86-eueiqp-e5SPwu-e5MbcZ-9tJQdd- 5f4rJT-9HsoqF-9hud4U-e5MaQX-52mMrQ-e5M9WX/ GitHub Logo:
https://blog.adafruit.com/2012/12/31/github-has-big-dreams-for- open-source-software-and-more/ Twitter Logo:
https://en.wikipedia.org/wiki/File:Twitter_bird_logo_2012.svg mu-ruby-template: https://github.com/mu-semtech/mu-ruby-template
mu-cl-resources: https://github.com/mu-semtech/mu-cl-resources mu-project: https://github.com/mu-semtech/mu-project
Resources used & interesting links
More questions
right now, or ask later
aad.versteden@gmail.com
aad.versteden@tenforce.com
madnificent
@impulsater
http://www.tenforce.com http://dacota.one http://mu.semte.ch
You can track me down
Aad Versteden

More Related Content

Similar to Semantic technologies in practice - KULeuven 2016

mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016Aad Versteden
 
HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19btopro
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Marc Dutoo
 
SFScon 2020 - Nikola Milisavljevic - BASE - Python REST API framework
SFScon 2020 - Nikola Milisavljevic - BASE - Python REST API frameworkSFScon 2020 - Nikola Milisavljevic - BASE - Python REST API framework
SFScon 2020 - Nikola Milisavljevic - BASE - Python REST API frameworkSouth Tyrol Free Software Conference
 
State of-the-art web applications using microservices and linked data
State of-the-art web applications using microservices and linked dataState of-the-art web applications using microservices and linked data
State of-the-art web applications using microservices and linked dataAad Versteden
 
OrientDB for real & Web App development
OrientDB for real & Web App developmentOrientDB for real & Web App development
OrientDB for real & Web App developmentLuca Garulli
 
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: extensible and standard-based XaaS platform to manage everything in...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...
OCCIware: extensible and standard-based XaaS platform to manage everything in...OCCIware
 
OCCIware@OW2con 2016
OCCIware@OW2con 2016OCCIware@OW2con 2016
OCCIware@OW2con 2016Marc Dutoo
 
Application design for the cloud using AWS
Application design for the cloud using AWSApplication design for the cloud using AWS
Application design for the cloud using AWSJonathan Holloway
 
Google Cloud Platform and Kubernetes
Google Cloud Platform and KubernetesGoogle Cloud Platform and Kubernetes
Google Cloud Platform and KubernetesKasper Nissen
 
Ruby On Rails Basics
Ruby On Rails BasicsRuby On Rails Basics
Ruby On Rails BasicsAmit Solanki
 
The Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with RubyThe Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with RubyRobert Dempsey
 
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유Soowan Lee
 
Accra MongoDB User Group
Accra MongoDB User GroupAccra MongoDB User Group
Accra MongoDB User GroupMongoDB
 
Prototyping applications with heroku and elasticsearch
 Prototyping applications with heroku and elasticsearch Prototyping applications with heroku and elasticsearch
Prototyping applications with heroku and elasticsearchprotofy
 

Similar to Semantic technologies in practice - KULeuven 2016 (20)

mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
 
HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19
 
Symphony Driver Essay
Symphony Driver EssaySymphony Driver Essay
Symphony Driver Essay
 
ACM BPM and elasticsearch AMIS25
ACM BPM and elasticsearch AMIS25ACM BPM and elasticsearch AMIS25
ACM BPM and elasticsearch AMIS25
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
SFScon 2020 - Nikola Milisavljevic - BASE - Python REST API framework
SFScon 2020 - Nikola Milisavljevic - BASE - Python REST API frameworkSFScon 2020 - Nikola Milisavljevic - BASE - Python REST API framework
SFScon 2020 - Nikola Milisavljevic - BASE - Python REST API framework
 
State of-the-art web applications using microservices and linked data
State of-the-art web applications using microservices and linked dataState of-the-art web applications using microservices and linked data
State of-the-art web applications using microservices and linked data
 
OrientDB for real & Web App development
OrientDB for real & Web App developmentOrientDB for real & Web App development
OrientDB for real & Web App development
 
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: 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: extensible and standard-based XaaS platform to manage everything in...
OCCIware: extensible and standard-based XaaS platform to manage everything in...
 
OCCIware@OW2con 2016
OCCIware@OW2con 2016OCCIware@OW2con 2016
OCCIware@OW2con 2016
 
Application design for the cloud using AWS
Application design for the cloud using AWSApplication design for the cloud using AWS
Application design for the cloud using AWS
 
Google Cloud Platform and Kubernetes
Google Cloud Platform and KubernetesGoogle Cloud Platform and Kubernetes
Google Cloud Platform and Kubernetes
 
Ruby On Rails Basics
Ruby On Rails BasicsRuby On Rails Basics
Ruby On Rails Basics
 
The Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with RubyThe Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with Ruby
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
 
Accra MongoDB User Group
Accra MongoDB User GroupAccra MongoDB User Group
Accra MongoDB User Group
 
Prototyping applications with heroku and elasticsearch
 Prototyping applications with heroku and elasticsearch Prototyping applications with heroku and elasticsearch
Prototyping applications with heroku and elasticsearch
 

Recently uploaded

Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Deliverybabeytanya
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...akbard9823
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Lucknow
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
The Intriguing World of CDR Analysis by Police: What You Need to Know.pdf
The Intriguing World of CDR Analysis by Police: What You Need to Know.pdfThe Intriguing World of CDR Analysis by Police: What You Need to Know.pdf
The Intriguing World of CDR Analysis by Police: What You Need to Know.pdfMilind Agarwal
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Personfurqan222004
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 

Recently uploaded (20)

Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
The Intriguing World of CDR Analysis by Police: What You Need to Know.pdf
The Intriguing World of CDR Analysis by Police: What You Need to Know.pdfThe Intriguing World of CDR Analysis by Police: What You Need to Know.pdf
The Intriguing World of CDR Analysis by Police: What You Need to Know.pdf
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Person
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 

Semantic technologies in practice - KULeuven 2016

  • 2. Semantic technologies in practice Some technical tidbits Some real-world examples A practical way of developing apps
  • 3. High quality linked data Five stars - The content is free - … in a structured format - … which is open - … and it uses URIs - … which are used elsewhere <3 stars: Manual integration >3 stars: Automatic integration
  • 4. Semantic integration Mapping to linked data: - CKAN - schema.org Content is linked data: - RDFa - Turtle Internal use of Linked Data: - mu.semte.ch SPARQL endpoint - dbpedia
  • 6.
  • 8. Example: Best Buy Accidental SEO - Build blog for higher visibility - Annotations using RDFa + 30% incoming search traffic ?!
  • 9. Example: Best Buy Best buy now uses schema.org Where do we see this working?
  • 12. SEO Search engines are pushing for structured data & it’s linked
  • 13. BBC you know, the big broadcasters
  • 14. BBC: World cup 2010 Problem: - Information on 32 teams, 736 players - Roughly 750 pages of dynamic content Solution: - A semantic model - Dynamically generated pages - Minimal journalistic management Repeated in 2012 summer olympics
  • 15. BBC: Ontologies BBC publishes Linked Data everywhere Awesome ontologies !! Agile ontologies !! Semantic administration tools
  • 16. “We want people to recognise, not memorise their way around the site” -- Jo Kent
  • 18. ESCO bringing structure to the job market
  • 19. ESCO Meet Sara, … a Spanish speaking nurse from Spain
  • 20. ESCO Sarah considers filling her duties in another European country.
  • 21. ESCO Sarah has limited language skills Sarah uses Google translate and finds that enfermera translates to nurse What Sarah doesn’t find is that a nurse in Spain performs the duties of a nursery assistant in Great Britain.
  • 23. ESCO
  • 24. ESCO
  • 25. ESCO This is what we do: - ~7 full time knowledge engineers - ~4 full time developers and architects - Loads of tooling - Vision for the future
  • 26.
  • 28. <<<SSSHHHHHHHHH>>> this is the start of the mu.semte.ch story
  • 31. In 60 seconds State-of-the-art web applications fuelled by Linked Data aware microservices - User-facing microservices - Easy deployment using Docker - Single Page Apps using Ember.js - Well known requirements => [HTTP+JSON+SPARQL] https://github.com/mu-semtech/ https://mu.semte.ch
  • 32. Some history Share code on personal projects Rails is not über-productive Stay light, choose later Use microservices and semantic model
  • 34. KISS - Most of us aren’t microservice experts - Most of us aren’t UI experts - We need to get stuff done - Maximize freedom - Orthogonal features - Minimize requirements - Enforce simple mental model
  • 36. Simple mental model User-facing microservices Limit base technologies: - HTTP - JSON(API) - SPARQL (one graph)
  • 37. Simple mental model TenForce supports publishing of open data. - Use DCAT standard - EDCAT 2.0 released - mudCAT = back-end - webCAT = front-end - Custom configurations to match specific customer needs.
  • 39. Semantic models Many actors, telling parts of the same story
  • 40. Semantic models Services read/write the part of the world they understand. User Registration: - There’s a new user => add it to the triplestore. User Login: - Check username/password => connect user to current session.
  • 42. Semantic models Many implementations, one model Same model for: - Username/Password login - OAuth login - ECAS login
  • 43. Semantic models We use the ECAS login for ESCO-related projects. ESCO is a taxonomy of all Skills Competences and Occupations in Europe. The Dacota team finds and classifies content. Brains for hire!
  • 45. Docker Container =~ Lightweight Linux Virtual Machine Docker Compose =~ Topology of multi-container project Each service runs in its own Docker Container In short: - Simple hosting on hub.docker.com - Clean project description - Always works - Runs on the Big Data Europe Platform Share using Docker
  • 46. Share using Docker We are part of Big Data Europe Making Big Data: - Easy to get started - Cheaper to maintain … in any domain - Now including Smart Big Data: => Semantics + Big Data = <3
  • 48. Reuse everything - Templates: basics for a service - Configurable services - mu-cl-resources - Ember add-ons - Hierarchy service + add-on - Login service + add-on
  • 49. Base templates CatalogsIndexRoute = Ember.Route.extend ajax: Ember.inject.service() model: () -> @get('ajax').request('/hello') Hello result: {{model.value}} get '/hello/' do counter = query( "SELECT COUNT (*) as ?counter" + "WHERE {" + " ?s ?p ?o." + "}" ).first[:counter].to_i status 200 { value: counter }.to_json end FROM semtech/mu-ruby-template:2.0.0-ruby2.3 MAINTAINER Your Name <you@provider.com> demo: image: you/demo-service links: - db:database dispatcher: … links: - demo:demo match "/hello/*path" do Proxy.forward conn, path, "http://demo/hello/" end [mu-ruby-template ]
  • 51. Configurable services (define-resource distribution () :class (s-prefix "dcat:Distribution") :properties `((:title :string ,(s-prefix "dct:title")) (:description :string ,(s-prefix "dct:description")) (:issued :string ,(s-prefix "dct:issued")) (:modified :string ,(s-prefix "dct:modified")) (:license :string ,(s-prefix "dct:license")) (:rights :string ,(s-prefix "dct:rights")) (:access-url :string ,(s-prefix "dcat:accessURL")) (:download-url :string ,(s-prefix "dcat:downloadURL"))) :has-one `((dataset :via ,(s-prefix "dcat:distribution") :inverse t :as "dataset") (format :via ,(s-prefix "dct:format") :as "format")) :resource-base (s-url "http://your-data-stories.eu/distributions/") :on-path "distributions") [mu-cl-resources] Full JSONAPI from abstract description
  • 53. Ember add-ons > ember install ember-async-expanding-tree {{async-expanding-tree model=topNode config=customConfig}} config: labelPropertyPath: 'label' getChildren: (model) -> children = Ember.ajax("/hierarchy/" + "#{@get('hierarchyId')}" + "/target/#{model.get('id')}") showMaxChildren: 50 includeLeafs: true hierarchy: image: tf-esco/hierarchy:1.2.3 links: - db:database dispatcher: … links: - hierarchy:hierarchy match "/hierarchy/*path" do Proxy.forward conn, path, "http://hierarchy/" end [hierarchy-service]
  • 56. What we learned - Extremely productive - Code reuse - Easy for juniors - Customers like front-end - Database performance is okayish - Conscious playing with alternative solutions
  • 58. Trigger microservices by changes in semantic model. Example: - Compute KPIs when a new dataset is added - Send email/tweet by writing it to the triplestore Reactive programming
  • 59. More performance - ember-fastboot: Faster first page render - mu-cache: Smart caching strategies in core microservices - mu-cl-resources: Partial resource caching
  • 60. More authority Describe authorization outside the microservices: - Simplify mental model - Help in sharing content - Open gate to advanced applications search for Jonathan Langens if you want to know more
  • 61. More interactivity Push cache updates to all visiting clients. Almost no development time to create basic interactive applications (eg: updating KPIs, chat applications, …)
  • 63. Lego Time Star Wars: https://www.flickr.com/photos/eurobricks-starwars/5223334274/in/photolist-8XyXiu-7BJ9Xp-c2btBw-davQBK- nAQJCC-9XVSZs-a3vVhy-vPZaHw-r6NB6c-4ajSXh-rX7ezA-BBhAWf-BiWDpc-rED79Q-rX7f8u-mtctqc-wtp245-fcNzVb-CgXNsA-D4Uxps-wKj5u9-rX7fVm- rUWnBU-uhC54v-rXeB4g-zVknPq-qxEqXx-8GSCNc-nzg79j-biFNa6-9fXjwV-biFMTa-a1kbsX-5HnKDa-dQCdnW-a54g8X-bm9TRN-8zJUzU-fbGRan-sdr4hw- e9DMFz-q3qQqf-aAZwyV- bm9Tsw-dQCdpb-sdpUWU-rkow4K-wazJmK-bz4Md8-pyU2QM Wendelstein 7X: http://www.sciencemag.org/news/2015/10/ bizarre-reactor-might-save- nuclear-fusion 300SL: https://www.flickr.com/photos/smfan/7181631212/in/photolist-bWBJKN-o52kEN- 5pCCRH-6NezBh-oF2nYm-gHtRrE-6KAHDv-cPKKj9-2aj2ur-s3A8ua-5pH14j-bQk48B-omejVV-q2tAx7-o8yCtS-nRauVz-5pCNWB-o525H4-o9dqig-sk2we8- o4EApo-N2NDc-o7jxQM-5pCG4c-81DnQh-exNBvp-kc9m4-exS223-cm2nm5-aPXHgc-7Tg5XD-6HQ5Q9-6w1JtR-5pCGWi-eb6dJe-pJYFdi-azFSaU-p5y4mb- 6GjCy2-q2kGp6-o52baX-9XtXDc-4GqX86-pJXbk1-8canak-q2tu1j-6HQ6eo-sjZQkD-dhaPyf-bBqucA http://www.quickmeme.com/meme/3stqet Big Data Europe: https://www.big-data-europe.eu/ Docker Logo: http://www.silicon.de/41608942/microsoft-optimiert-windows-server-2016-fuer-die- cloud/ webCAT: https://github.com/tenforce/webcat Banksy Van: http://artcentron.com/2016/06/22/banksy-graffiti-art-swat-van-sale/ #prettyPhoto Banksy Bananas: https://www.touchofmodern.com/sales/banksy-8a9ea26d-040f-4435-ada1-86e7a6b4a05c/pulp-fiction-bananas Your Data Stories platoform: http://platform.yourdatastories.eu/ Star Wars Clones box: https://www.flickr.com/photos/kalexanderson/ 5410769283/in/photolist-9f8Bcz-5SJTDj-55MnH2-4WEfzr-in3p6t-drf7fp-3b46gb-bKfRW4-3aYzBt-4xztdx-35E11y-9jVQVR-9wuv3f-9r3mWe-9hNTVz- 7JzMxg-7JYZFM-Hw1QSq-8FW8eh-nVj9Sc-8ytJvH-aPPKYz-dYyYWK-7fhBFE-7GgZYm-e5M9jV-bwm6S9-7fhyGd-e5SNkL-5LDPWB-e5SNdf-4MKWht-e5SLrb- 5zPWDw-74Yjyb-8xh5Vr-9Apdwp-4XUn5j-jSHfRS-9fAZ86-eueiqp-e5SPwu-e5MbcZ-9tJQdd- 5f4rJT-9HsoqF-9hud4U-e5MaQX-52mMrQ-e5M9WX/ GitHub Logo: https://blog.adafruit.com/2012/12/31/github-has-big-dreams-for- open-source-software-and-more/ Twitter Logo: https://en.wikipedia.org/wiki/File:Twitter_bird_logo_2012.svg mu-ruby-template: https://github.com/mu-semtech/mu-ruby-template mu-cl-resources: https://github.com/mu-semtech/mu-cl-resources mu-project: https://github.com/mu-semtech/mu-project Resources used & interesting links