SlideShare a Scribd company logo
1 of 17
A new data platform for
Parliament
Cloud hosting – Azure
Database – Triplestore (GraphDB)
Orchestration – Workflow: Logic Apps
Orchestration – Transformation: Functions
Release – Managed with VSTS
Infrastructure as code – ARM templates and PowerShell scripts
Modelling – OWL Ontology in Turtle and visualized
Constituencies on beta.parliament.uk
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX admingeo: <http://data.ordnancesurvey.co.uk/ontology/admingeo/>
PREFIX : @schemaUri
CONSTRUCT {
?constituencyGroup
a :ConstituencyGroup ;
:constituencyGroupEndDate ?endDate ;
:constituencyGroupStartDate ?startDate ;
:constituencyGroupName ?name ;
:constituencyGroupOnsCode ?onsCode ;
:constituencyGroupHasConstituencyArea ?constituencyArea ;
admingeo:inEuropeanRegion ?region .
?region
a admingeo:EuropeanRegion ;
admingeo:gssCode ?regionCode ;
skos:prefLabel ?regionName .
?constituencyGroup :constituencyGroupHasHouseSeat ?houseSeat .
?houseSeat
a :HouseSeat ;
:houseSeatHasSeatIncumbency ?seatIncumbency .
?seatIncumbency
a :SeatIncumbency ;
:incumbencyHasMember ?member ;
:incumbencyEndDate ?seatIncumbencyEndDate ;
:incumbencyStartDate ?seatIncumbencyStartDate .
?member
a :Person ;
:personGivenName ?givenName ;
:personFamilyName ?familyName ;
:memberHasMemberImage ?image ;
<http://example.com/F31CBD81AD8343898B49DC65743F0BDF> ?displayAs ;
:partyMemberHasPartyMembership ?partyMembership .
?image
a :MemberImage .
?partyMembership
a :PartyMembership ;
:partyMembershipHasParty ?party .
?party
a :Party ;
:partyName ?partyName .
}
WHERE {
BIND(@constituency_id AS ?constituencyGroup)
SERVICE <http://data.ordnancesurvey.co.uk/datasets/os-linked-data/apis/sparql> {
?ordnanceSurveyConstituency
admingeo:gssCode ?onsCode ;
admingeo:inEuropeanRegion ?region .
?region
a admingeo:EuropeanRegion ;
admingeo:gssCode ?regionCode ;
skos:prefLabel ?regionName .
}
?constituencyGroup
:constituencyGroupName ?name ;
:constituencyGroupOnsCode ?onsCode ;
:constituencyGroupStartDate ?startDate .
OPTIONAL { ?constituencyGroup :constituencyGroupEndDate ?endDate . }
OPTIONAL {
?constituencyGroup :constituencyGroupHasHouseSeat ?houseSeat .
?houseSeat :houseSeatHasSeatIncumbency ?seatIncumbency .
?seatIncumbency a :SeatIncumbency ;
OPTIONAL { ?seatIncumbency :incumbencyEndDate ?seatIncumbencyEndDate . }
OPTIONAL { ?seatIncumbency :incumbencyStartDate ?seatIncumbencyStartDate . }
OPTIONAL {
?seatIncumbency :incumbencyHasMember ?member .
OPTIONAL { ?member :personGivenName ?givenName . }
OPTIONAL { ?member :personOtherName ?personOtherName . }
OPTIONAL { ?member <http://example.com/F31CBD81AD8343898B49DC65743F0BDF> ?displayAs } .
OPTIONAL { ?member :memberHasMemberImage ?image . }
OPTIONAL {
?member :partyMemberHasPartyMembership ?partyMembership .
FILTER NOT EXISTS { ?partyMembership a :PastPartyMembership . }
OPTIONAL {
?partyMembership :partyMembershipHasParty ?party .
OPTIONAL { ?party :partyName ?partyName . }
}
}
}
}
}
SPARQL query for the constituencies page
Collaboration – organizational VSTS and public GitHub
Constituency data on the API – Content-negotiation
Telemetry – Application Insights
Performance reporting – PowerBI
R&D – Photo background removal for member portraits
R&D – Data Toolkit (Power Apps)
People
• Chris Alcock – developer
• Matthieu Bosquet – automation engineer
• Raphael Leung – developer
• Mike Marcus – operations engineer
• Kunal Patel – operations engineer
• Wojciech Stawiarski – developer
• Jianhan Zhu – developer

More Related Content

Similar to A new data platform for Parliament

Similar to A new data platform for Parliament (20)

GraphQL, l'avenir du REST par François ZANINOTTO
GraphQL, l'avenir du REST par François ZANINOTTOGraphQL, l'avenir du REST par François ZANINOTTO
GraphQL, l'avenir du REST par François ZANINOTTO
 
SPARQLing Services
SPARQLing ServicesSPARQLing Services
SPARQLing Services
 
Django Introduction Osscamp Delhi September 08 09 2007 Mir Nazim
Django Introduction Osscamp Delhi September 08 09 2007 Mir NazimDjango Introduction Osscamp Delhi September 08 09 2007 Mir Nazim
Django Introduction Osscamp Delhi September 08 09 2007 Mir Nazim
 
Finding things on the web with BOSS
Finding things on the web with BOSSFinding things on the web with BOSS
Finding things on the web with BOSS
 
Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101
 
Building a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to Space
 
Diseño y Desarrollo de APIs
Diseño y Desarrollo de APIsDiseño y Desarrollo de APIs
Diseño y Desarrollo de APIs
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
WordPress Standardized Loop API
WordPress Standardized Loop APIWordPress Standardized Loop API
WordPress Standardized Loop API
 
Semantic Web & TYPO3
Semantic Web & TYPO3Semantic Web & TYPO3
Semantic Web & TYPO3
 
Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...
 Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data... Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...
Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web apps
 
IBIS - Intelligent Band Information System
IBIS - Intelligent Band Information SystemIBIS - Intelligent Band Information System
IBIS - Intelligent Band Information System
 
Learning to rank search results
Learning to rank search resultsLearning to rank search results
Learning to rank search results
 
Angular js活用事例:filydoc
Angular js活用事例:filydocAngular js活用事例:filydoc
Angular js活用事例:filydoc
 
Advanced and Hidden WordPress APIs
Advanced and Hidden WordPress APIsAdvanced and Hidden WordPress APIs
Advanced and Hidden WordPress APIs
 
Old WP REST API, New Tricks
Old WP REST API, New TricksOld WP REST API, New Tricks
Old WP REST API, New Tricks
 

More from UK Parliament Data

More from UK Parliament Data (15)

Coping with complexity
Coping with complexityCoping with complexity
Coping with complexity
 
Making parliamentary procedure machine readable
Making parliamentary procedure machine readableMaking parliamentary procedure machine readable
Making parliamentary procedure machine readable
 
What would erskine may do?
What would erskine may do?What would erskine may do?
What would erskine may do?
 
Data platform ID generation
Data platform ID generationData platform ID generation
Data platform ID generation
 
Unlocking the Indexing and Search Data Goldmine
Unlocking the Indexing and Search Data GoldmineUnlocking the Indexing and Search Data Goldmine
Unlocking the Indexing and Search Data Goldmine
 
Modelling Parliamentary Procedure
Modelling Parliamentary ProcedureModelling Parliamentary Procedure
Modelling Parliamentary Procedure
 
Domain modelling Parliament
Domain modelling Parliament Domain modelling Parliament
Domain modelling Parliament
 
What do Twitter conversations tell us about petitioning?
What do Twitter conversations tell us about petitioning?What do Twitter conversations tell us about petitioning?
What do Twitter conversations tell us about petitioning?
 
UK Parliament: the long road to open data
UK Parliament:  the long road to open data UK Parliament:  the long road to open data
UK Parliament: the long road to open data
 
Domain Driven Design at UK Parliament
Domain Driven Design at UK ParliamentDomain Driven Design at UK Parliament
Domain Driven Design at UK Parliament
 
Open Revolution - James Smith
Open Revolution - James SmithOpen Revolution - James Smith
Open Revolution - James Smith
 
Parliament, data and democracy meetup - Dan Barrett
Parliament, data and democracy meetup - Dan BarrettParliament, data and democracy meetup - Dan Barrett
Parliament, data and democracy meetup - Dan Barrett
 
Playing with Parliamentary Data - Tony Hirst
Playing with Parliamentary Data - Tony HirstPlaying with Parliamentary Data - Tony Hirst
Playing with Parliamentary Data - Tony Hirst
 
How technology can help you monitor your MP’s performance - Steve Goodrich
How technology can help you monitor your MP’s performance - Steve GoodrichHow technology can help you monitor your MP’s performance - Steve Goodrich
How technology can help you monitor your MP’s performance - Steve Goodrich
 
Mapping population data for Parliament - Oli Hawkins
Mapping population data for Parliament - Oli HawkinsMapping population data for Parliament - Oli Hawkins
Mapping population data for Parliament - Oli Hawkins
 

Recently uploaded

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

A new data platform for Parliament

  • 1. A new data platform for Parliament
  • 7. Infrastructure as code – ARM templates and PowerShell scripts
  • 8. Modelling – OWL Ontology in Turtle and visualized
  • 10. PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX admingeo: <http://data.ordnancesurvey.co.uk/ontology/admingeo/> PREFIX : @schemaUri CONSTRUCT { ?constituencyGroup a :ConstituencyGroup ; :constituencyGroupEndDate ?endDate ; :constituencyGroupStartDate ?startDate ; :constituencyGroupName ?name ; :constituencyGroupOnsCode ?onsCode ; :constituencyGroupHasConstituencyArea ?constituencyArea ; admingeo:inEuropeanRegion ?region . ?region a admingeo:EuropeanRegion ; admingeo:gssCode ?regionCode ; skos:prefLabel ?regionName . ?constituencyGroup :constituencyGroupHasHouseSeat ?houseSeat . ?houseSeat a :HouseSeat ; :houseSeatHasSeatIncumbency ?seatIncumbency . ?seatIncumbency a :SeatIncumbency ; :incumbencyHasMember ?member ; :incumbencyEndDate ?seatIncumbencyEndDate ; :incumbencyStartDate ?seatIncumbencyStartDate . ?member a :Person ; :personGivenName ?givenName ; :personFamilyName ?familyName ; :memberHasMemberImage ?image ; <http://example.com/F31CBD81AD8343898B49DC65743F0BDF> ?displayAs ; :partyMemberHasPartyMembership ?partyMembership . ?image a :MemberImage . ?partyMembership a :PartyMembership ; :partyMembershipHasParty ?party . ?party a :Party ; :partyName ?partyName . } WHERE { BIND(@constituency_id AS ?constituencyGroup) SERVICE <http://data.ordnancesurvey.co.uk/datasets/os-linked-data/apis/sparql> { ?ordnanceSurveyConstituency admingeo:gssCode ?onsCode ; admingeo:inEuropeanRegion ?region . ?region a admingeo:EuropeanRegion ; admingeo:gssCode ?regionCode ; skos:prefLabel ?regionName . } ?constituencyGroup :constituencyGroupName ?name ; :constituencyGroupOnsCode ?onsCode ; :constituencyGroupStartDate ?startDate . OPTIONAL { ?constituencyGroup :constituencyGroupEndDate ?endDate . } OPTIONAL { ?constituencyGroup :constituencyGroupHasHouseSeat ?houseSeat . ?houseSeat :houseSeatHasSeatIncumbency ?seatIncumbency . ?seatIncumbency a :SeatIncumbency ; OPTIONAL { ?seatIncumbency :incumbencyEndDate ?seatIncumbencyEndDate . } OPTIONAL { ?seatIncumbency :incumbencyStartDate ?seatIncumbencyStartDate . } OPTIONAL { ?seatIncumbency :incumbencyHasMember ?member . OPTIONAL { ?member :personGivenName ?givenName . } OPTIONAL { ?member :personOtherName ?personOtherName . } OPTIONAL { ?member <http://example.com/F31CBD81AD8343898B49DC65743F0BDF> ?displayAs } . OPTIONAL { ?member :memberHasMemberImage ?image . } OPTIONAL { ?member :partyMemberHasPartyMembership ?partyMembership . FILTER NOT EXISTS { ?partyMembership a :PastPartyMembership . } OPTIONAL { ?partyMembership :partyMembershipHasParty ?party . OPTIONAL { ?party :partyName ?partyName . } } } } } } SPARQL query for the constituencies page
  • 11. Collaboration – organizational VSTS and public GitHub
  • 12. Constituency data on the API – Content-negotiation
  • 15. R&D – Photo background removal for member portraits
  • 16. R&D – Data Toolkit (Power Apps)
  • 17. People • Chris Alcock – developer • Matthieu Bosquet – automation engineer • Raphael Leung – developer • Mike Marcus – operations engineer • Kunal Patel – operations engineer • Wojciech Stawiarski – developer • Jianhan Zhu – developer

Editor's Notes

  1. Current process cumbersome Moving to DevOps Accreditation, security
  2. Current process cumbersome Moving to DevOps Accreditation, security
  3. Inferencing: domain, range, subClass, subProperty, functional, inverseFunctional