SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
5 June 2013
BBC Linked Data Platform
Using semantic technologies to make our content more connected and more discoverable
A (very) short history
✤ Dynamic Semantic Publishing
✤ BBC Sport - Transition from ‘static’ to ‘dynamic’
✤ Introduction of Semantic Technologies for World Cup 2010
✤ Raising the bar for Olympics 2012
✤ Linked Data Platform & The Creative Work
Olympics 2012
Athletes & Medals: from trackside to our audience
BBC Linked Data Platform
(our logo)
LDP:The CreativeWork
MinimalMetadata
Semantically
AggregatedMetadata
Triple Store
Website
Mobile
Apps
IPTV
Open API
CreativeWorks
✤ Minimal metadata
✤ Enough non-semantic metadata to support ‘rich links’ in a wide
range of applications
✤ Enough semantic metadata (tags) to support discovery through
semantic queries
✤ Full metadata requires a content-type-specific metadata API
✤ Access to content requires a content API
Some use-cases
✤ Automated index pages/feeds
✤ Semantic navigation
✤ Semantic search
✤ A typical query:
✤ Top 10, most recent, BBC News Items about Politicians who are
members of The Labour Party
Powered by LDP
BBC Sport
BBC Music
BBC Olympics 2012
BBC Knowledge & Learning Beta
BBC News Local Beta
BBC Sport Mobile App
CreativeWork Ontology
CreativeWorks in Code
case class CreativeWork(
locators: Set[Locator],
title: String,
modified: DateTime,
format: Option[FormatType.FormatType] = None,
created: Option[DateTime] = None,
uri: Option[String] = None,
primaryContentOf: List[PrimaryContentOf] = List(),
about: List[String] = List(),
mentions: List[String] = List(),
`type`: CreativeWorkType = CreativeWorkType.CreativeWork,
provenance: Option[CreativeWorkProvenance] = None,
thumbnails: List[Thumbnail] = List(),
audience: Option[AudienceType] = None,
category: Option[CreativeWorkCategory] = None
) {
private val oneLocatorPerType = locators.groupBy(_.`type`).forall(_._2.size == 1)
private val allLocatorsDistinct = locators.map(_.uri).size == locators.size
require(title.trim.isEmpty == false, "Creative Work has an empty title")
require(title.length <= CreativeWork.MaxTitleLength,
"Creative Work title exceeded the maximum length allowed of " + CreativeWork.MaxTitleLength)
require(oneLocatorPerType, "Creative Work contained multiple Locators of the same type")
require(allLocatorsDistinct, "Creative Work contained multiple identical Locator URNs")
def guid = uri.map(_.replace("http://www.bbc.co.uk/things/", "")).map(_.replace("#id", ""))
}
object CreativeWork {
val Locator = "http://www.bbc.co.uk/ontologies/cms/locator"
val MaxTitleLength = 300
}
Creative
Work Query*
CONSTRUCT {
?creativeWork a cwork:CreativeWork ;
a ?type ;
cwork:title ?title ;
cwork:about ?about ;
cwork:mentions ?mentions ;
cwork:dateModified ?modified ;
?about bbc:preferredLabel ?aboutPreferredLabel .
?mentions bbc:preferredLabel ?mentionsPrefLabel .
}
WHERE {{
SELECT DISTINCT ?creativeWork
! WHERE {
! {{#about}}
! ! FILTER (?about = <{{about}}>) .
! ! ?creativeWork cwork:about ?about .
! {{/about}}
! {{#mentions}}
! ! FILTER (?mentions = <{{mentions}}>) .
! ! ?creativeWork cwork:mentions ?mentions .
! {{/mentions}}
! ?creativeWork a cwork:CreativeWork ;
! ! a ?type ;
! ! cwork:title ?title ;
! ! cwork:dateModified ?modified .
! }
! ORDER BY DESC(?modified)
! LIMIT 10
! {{#offset}}OFFSET {{offset}}{{/offset}}
}
?creativeWork a cwork:CreativeWork .
{
?creativeWork a cwork:CreativeWork ;
a ?type ;
! ! cwork:title ?title ;
! ! cwork:dateModified ?modified .
{
?type rdfs:subClassOf cwork:CreativeWork .
} UNION {
OPTIONAL {
?creativeWork cwork:about ?about .
OPTIONAL { ?about rdfs:label ?aboutLabel . }
OPTIONAL { ?about bbc:preferredLabel ?aboutPreferredLabel . }
}
OPTIONAL {
?creativeWork cwork:mentions ?mentions .
OPTIONAL { ?mentions rdfs:label ?mentionsLabel . }
OPTIONAL { ?mentions bbc:preferredLabel ?mentionsPrefLabel . }
}
}
}
} *Simplified
SPARQL CONSTRUCT
Inner SELECT
Parametisation
Pagination
Mustache-templated
Our principal challenge:
Data Management
4 Kinds of Data
✤ Creative Works
✤ Reference Data, managed in sets (Datasets)
✤ Reference Data, managed individually (Resources)
✤ Ontologies
99.99% Availability
Our own URIs
✤ Everything has a ‘Thing URI’:
✤ http://www.bbc.co.uk/things/{GUID}#ID
✤ Opaque ID, dereferencable*
✤ BBC controls identity, therefore quality & consistency
✤ bbc:sameAs to DBPedia, Wikidata, Freebase etc
*coming soon
Our own ontologies
✤ Core set of ontologies that are BBC owned
✤ Creative Work, BBC, (Organsational) Provenance, etc
✤ Ability to change regularly and unilaterally
✤ Provide ‘mappings’ to more widely used ontologies
(e.g. Schema.org)
✤ Domain ontologies can be shared or reused
✤ Sport, Politics, GeoLocation, etc
Open data
✤ Provided through Mashery
✤ ‘Connected Studio’ events will validate
our API
✤ Public beta to follow
✤ JSON-LD & Turtle
✤ Future
✤ Self-provisioned, cloud-based
triple stores
✤ Data Dumps
The Hard Problems...
Managing concepts across BBC
✤ Which domain ‘owns’ Arnold Schwarzenegger?
✤ News? Entertainment? History? Politics?
✤ Can domains ‘own’ predicates?
✤ Layering information over shared concepts
✤ High quality sub-sets vs. lower quality ‘long-tail’
✤ Synchronisation with external datasets
✤ Tools for creating and managing concepts
✤ Emerging, splitting & combining concepts
✤ Linked Data gives us a language to solve these problems
Metadata
Often subjective, never complete
✤ What is this TV programme about?
✤ Manual tag curation
✤ Subjective
✤ Long-term expense
✤ Inconsistent
✤ Automated tag generation
✤ Short-term expense
✤ Value in data or algorithm?
✤ Complex
✤ Relies on assumptions
✤ Our approach? Invest in both. Validate learnings.
When to reason?
✤ Our options...
✤ Before writing to the triple store
✤ Materialised in the triple store (Forward-chaining inference)
✤ Inferred by the SPARQL engine (Backward-chaining inference)
✤ After SPARQL results have returned
✤ None/some/all of the above
Maturity of SemanticTech
✤ From a Software Industry perspective, Semantic (RDF) Technology is
not mainstream and is therefore hard to sell
✤ Library/application immaturity can be a hinderance to innovation
✤ I believe the Sem Tech industry needs to focus on
simplicity and abstraction
✤ Semantic Technology is complex, but using it, need not be
Find out more
✤ Video from QCon London 2013:
✤ http://www.infoq.com/presentations/bbc-­‐data-­‐platform-­‐api
✤ BBC Internet Blog:
✤ http://www.bbc.co.uk/blogs/internet/posts/Linked-­‐Data-­‐Connecting-­‐
together-­‐the-­‐BBCs-­‐Online-­‐Content
✤ david.rogers@bbc.co.uk
✤ @daverog

Mais conteúdo relacionado

Semelhante a BBC Linked Data Platform (SemTechBiz San Fran 2013)

Jeremy cabral search marketing summit - scraping data-driven content (1)
Jeremy cabral   search marketing summit - scraping data-driven content (1)Jeremy cabral   search marketing summit - scraping data-driven content (1)
Jeremy cabral search marketing summit - scraping data-driven content (1)Jeremy Cabral
 
Using MongoDB + Hadoop Together
Using MongoDB + Hadoop TogetherUsing MongoDB + Hadoop Together
Using MongoDB + Hadoop TogetherMongoDB
 
Inspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De LathouwerInspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De LathouwerHannaHorppila
 
Inspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De LathouwerInspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De LathouwerInspireHelsinki2019
 
Inspire Helsinki 2019 Keynote by Bart De Lathouwer
Inspire Helsinki 2019 Keynote by Bart De LathouwerInspire Helsinki 2019 Keynote by Bart De Lathouwer
Inspire Helsinki 2019 Keynote by Bart De LathouwerInspireHelsinki2019
 
Getting started with titanium
Getting started with titaniumGetting started with titanium
Getting started with titaniumNaga Harish M
 
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...MongoDB
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An OverviewNagendra Um
 
What do we want computers to do for us?
What do we want computers to do for us? What do we want computers to do for us?
What do we want computers to do for us? Andrea Volpini
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumTechday7
 
Web of things introduction
Web of things introductionWeb of things introduction
Web of things introduction承翰 蔡
 
Azure Media Services & Azure Search
Azure Media Services & Azure SearchAzure Media Services & Azure Search
Azure Media Services & Azure SearchEmanuele Bartolesi
 
High-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsHigh-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsClusterpoint
 
Building search and discovery services for Schibsted (LSRS '17)
Building search and discovery services for Schibsted (LSRS '17)Building search and discovery services for Schibsted (LSRS '17)
Building search and discovery services for Schibsted (LSRS '17)Sandra Garcia
 
Introduction to web scraping
Introduction to web scrapingIntroduction to web scraping
Introduction to web scrapingDario Cottafava
 

Semelhante a BBC Linked Data Platform (SemTechBiz San Fran 2013) (20)

Jeremy cabral search marketing summit - scraping data-driven content (1)
Jeremy cabral   search marketing summit - scraping data-driven content (1)Jeremy cabral   search marketing summit - scraping data-driven content (1)
Jeremy cabral search marketing summit - scraping data-driven content (1)
 
Using MongoDB + Hadoop Together
Using MongoDB + Hadoop TogetherUsing MongoDB + Hadoop Together
Using MongoDB + Hadoop Together
 
GoralSoft
GoralSoftGoralSoft
GoralSoft
 
REST easy with API Platform
REST easy with API PlatformREST easy with API Platform
REST easy with API Platform
 
Inspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De LathouwerInspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De Lathouwer
 
Inspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De LathouwerInspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De Lathouwer
 
Inspire Helsinki 2019 Keynote by Bart De Lathouwer
Inspire Helsinki 2019 Keynote by Bart De LathouwerInspire Helsinki 2019 Keynote by Bart De Lathouwer
Inspire Helsinki 2019 Keynote by Bart De Lathouwer
 
Getting started with titanium
Getting started with titaniumGetting started with titanium
Getting started with titanium
 
NLP and the Web
NLP and the WebNLP and the Web
NLP and the Web
 
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An Overview
 
What do we want computers to do for us?
What do we want computers to do for us? What do we want computers to do for us?
What do we want computers to do for us?
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 
Web of things introduction
Web of things introductionWeb of things introduction
Web of things introduction
 
MongoDB Basics
MongoDB BasicsMongoDB Basics
MongoDB Basics
 
Azure Media Services & Azure Search
Azure Media Services & Azure SearchAzure Media Services & Azure Search
Azure Media Services & Azure Search
 
High-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsHigh-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutions
 
Linked Open Data and Ontotext Projects
Linked Open Data and Ontotext ProjectsLinked Open Data and Ontotext Projects
Linked Open Data and Ontotext Projects
 
Building search and discovery services for Schibsted (LSRS '17)
Building search and discovery services for Schibsted (LSRS '17)Building search and discovery services for Schibsted (LSRS '17)
Building search and discovery services for Schibsted (LSRS '17)
 
Introduction to web scraping
Introduction to web scrapingIntroduction to web scraping
Introduction to web scraping
 

Último

Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 

Último (20)

Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 

BBC Linked Data Platform (SemTechBiz San Fran 2013)

  • 1. 5 June 2013 BBC Linked Data Platform Using semantic technologies to make our content more connected and more discoverable
  • 2. A (very) short history ✤ Dynamic Semantic Publishing ✤ BBC Sport - Transition from ‘static’ to ‘dynamic’ ✤ Introduction of Semantic Technologies for World Cup 2010 ✤ Raising the bar for Olympics 2012 ✤ Linked Data Platform & The Creative Work
  • 3. Olympics 2012 Athletes & Medals: from trackside to our audience
  • 4. BBC Linked Data Platform (our logo)
  • 6. CreativeWorks ✤ Minimal metadata ✤ Enough non-semantic metadata to support ‘rich links’ in a wide range of applications ✤ Enough semantic metadata (tags) to support discovery through semantic queries ✤ Full metadata requires a content-type-specific metadata API ✤ Access to content requires a content API
  • 7. Some use-cases ✤ Automated index pages/feeds ✤ Semantic navigation ✤ Semantic search ✤ A typical query: ✤ Top 10, most recent, BBC News Items about Politicians who are members of The Labour Party
  • 8. Powered by LDP BBC Sport BBC Music BBC Olympics 2012 BBC Knowledge & Learning Beta BBC News Local Beta BBC Sport Mobile App
  • 10. CreativeWorks in Code case class CreativeWork( locators: Set[Locator], title: String, modified: DateTime, format: Option[FormatType.FormatType] = None, created: Option[DateTime] = None, uri: Option[String] = None, primaryContentOf: List[PrimaryContentOf] = List(), about: List[String] = List(), mentions: List[String] = List(), `type`: CreativeWorkType = CreativeWorkType.CreativeWork, provenance: Option[CreativeWorkProvenance] = None, thumbnails: List[Thumbnail] = List(), audience: Option[AudienceType] = None, category: Option[CreativeWorkCategory] = None ) { private val oneLocatorPerType = locators.groupBy(_.`type`).forall(_._2.size == 1) private val allLocatorsDistinct = locators.map(_.uri).size == locators.size require(title.trim.isEmpty == false, "Creative Work has an empty title") require(title.length <= CreativeWork.MaxTitleLength, "Creative Work title exceeded the maximum length allowed of " + CreativeWork.MaxTitleLength) require(oneLocatorPerType, "Creative Work contained multiple Locators of the same type") require(allLocatorsDistinct, "Creative Work contained multiple identical Locator URNs") def guid = uri.map(_.replace("http://www.bbc.co.uk/things/", "")).map(_.replace("#id", "")) } object CreativeWork { val Locator = "http://www.bbc.co.uk/ontologies/cms/locator" val MaxTitleLength = 300 }
  • 11. Creative Work Query* CONSTRUCT { ?creativeWork a cwork:CreativeWork ; a ?type ; cwork:title ?title ; cwork:about ?about ; cwork:mentions ?mentions ; cwork:dateModified ?modified ; ?about bbc:preferredLabel ?aboutPreferredLabel . ?mentions bbc:preferredLabel ?mentionsPrefLabel . } WHERE {{ SELECT DISTINCT ?creativeWork ! WHERE { ! {{#about}} ! ! FILTER (?about = <{{about}}>) . ! ! ?creativeWork cwork:about ?about . ! {{/about}} ! {{#mentions}} ! ! FILTER (?mentions = <{{mentions}}>) . ! ! ?creativeWork cwork:mentions ?mentions . ! {{/mentions}} ! ?creativeWork a cwork:CreativeWork ; ! ! a ?type ; ! ! cwork:title ?title ; ! ! cwork:dateModified ?modified . ! } ! ORDER BY DESC(?modified) ! LIMIT 10 ! {{#offset}}OFFSET {{offset}}{{/offset}} } ?creativeWork a cwork:CreativeWork . { ?creativeWork a cwork:CreativeWork ; a ?type ; ! ! cwork:title ?title ; ! ! cwork:dateModified ?modified . { ?type rdfs:subClassOf cwork:CreativeWork . } UNION { OPTIONAL { ?creativeWork cwork:about ?about . OPTIONAL { ?about rdfs:label ?aboutLabel . } OPTIONAL { ?about bbc:preferredLabel ?aboutPreferredLabel . } } OPTIONAL { ?creativeWork cwork:mentions ?mentions . OPTIONAL { ?mentions rdfs:label ?mentionsLabel . } OPTIONAL { ?mentions bbc:preferredLabel ?mentionsPrefLabel . } } } } } *Simplified SPARQL CONSTRUCT Inner SELECT Parametisation Pagination Mustache-templated
  • 13. 4 Kinds of Data ✤ Creative Works ✤ Reference Data, managed in sets (Datasets) ✤ Reference Data, managed individually (Resources) ✤ Ontologies
  • 15. Our own URIs ✤ Everything has a ‘Thing URI’: ✤ http://www.bbc.co.uk/things/{GUID}#ID ✤ Opaque ID, dereferencable* ✤ BBC controls identity, therefore quality & consistency ✤ bbc:sameAs to DBPedia, Wikidata, Freebase etc *coming soon
  • 16. Our own ontologies ✤ Core set of ontologies that are BBC owned ✤ Creative Work, BBC, (Organsational) Provenance, etc ✤ Ability to change regularly and unilaterally ✤ Provide ‘mappings’ to more widely used ontologies (e.g. Schema.org) ✤ Domain ontologies can be shared or reused ✤ Sport, Politics, GeoLocation, etc
  • 17. Open data ✤ Provided through Mashery ✤ ‘Connected Studio’ events will validate our API ✤ Public beta to follow ✤ JSON-LD & Turtle ✤ Future ✤ Self-provisioned, cloud-based triple stores ✤ Data Dumps
  • 19. Managing concepts across BBC ✤ Which domain ‘owns’ Arnold Schwarzenegger? ✤ News? Entertainment? History? Politics? ✤ Can domains ‘own’ predicates? ✤ Layering information over shared concepts ✤ High quality sub-sets vs. lower quality ‘long-tail’ ✤ Synchronisation with external datasets ✤ Tools for creating and managing concepts ✤ Emerging, splitting & combining concepts ✤ Linked Data gives us a language to solve these problems
  • 20. Metadata Often subjective, never complete ✤ What is this TV programme about? ✤ Manual tag curation ✤ Subjective ✤ Long-term expense ✤ Inconsistent ✤ Automated tag generation ✤ Short-term expense ✤ Value in data or algorithm? ✤ Complex ✤ Relies on assumptions ✤ Our approach? Invest in both. Validate learnings.
  • 21. When to reason? ✤ Our options... ✤ Before writing to the triple store ✤ Materialised in the triple store (Forward-chaining inference) ✤ Inferred by the SPARQL engine (Backward-chaining inference) ✤ After SPARQL results have returned ✤ None/some/all of the above
  • 22. Maturity of SemanticTech ✤ From a Software Industry perspective, Semantic (RDF) Technology is not mainstream and is therefore hard to sell ✤ Library/application immaturity can be a hinderance to innovation ✤ I believe the Sem Tech industry needs to focus on simplicity and abstraction ✤ Semantic Technology is complex, but using it, need not be
  • 23. Find out more ✤ Video from QCon London 2013: ✤ http://www.infoq.com/presentations/bbc-­‐data-­‐platform-­‐api ✤ BBC Internet Blog: ✤ http://www.bbc.co.uk/blogs/internet/posts/Linked-­‐Data-­‐Connecting-­‐ together-­‐the-­‐BBCs-­‐Online-­‐Content ✤ david.rogers@bbc.co.uk ✤ @daverog