Presentation at 1st Linked Data Quality Workshop, Leipzig, 2nd Sept. 2014
Author: Jose Emilio Labra Gayo
Applies Shapes Expressions to validate the WebIndex linked data portal
Towards an RDF Validation Language based on Regular Expression DerivativesJose Emilio Labra Gayo
Towards an RDF Validation Language based on Regular Expression Derivatives
Author: Jose Emilio Labra Gayo
Slides presented at: Linked Web Data Management Workshop
Brussels, 27th March, 2015
Although RDF is a corner stone of semantic web and knowledge graphs, it has not been embraced by everyday programmers and software architects who need to safely create and access well-structured data. There is a lack of common tools and methodologies that are available in more conventional settings to improve data quality by defining schemas that can later be validated. Two technologies have recently been proposed for RDF validation: Shape Expressions (ShEx) and Shapes Constraint Language (SHACL). In the talk, we will review the history and motivation of both technologies. We will also and enumerate some challenges and future work with regards to RDF validation.
Although RDF can be considered the corner stone of semantic web and knowledge graphs, it has not been embraced by everyday programmers and software architects who want to safely create and access well-structured data. There is a lack of common tools and methodologies that are available in more conventional settings to improve data quality by defining schemas that can later be validated. Two technologies have recently been proposed for RDF validation: Shape Expressions (ShEx) and Shapes Constraint Language (SHACL). In the talk, we will briefly introduce both technologies using some examples and compare them. We will also present some challenges and applications related with RDF data shapes.
Talk given at: KTH Royal Institute of Technology, School of Industrial Engineering and Management, Mechatronics Division, 7th February, 2020
Towards an RDF Validation Language based on Regular Expression DerivativesJose Emilio Labra Gayo
Towards an RDF Validation Language based on Regular Expression Derivatives
Author: Jose Emilio Labra Gayo
Slides presented at: Linked Web Data Management Workshop
Brussels, 27th March, 2015
Although RDF is a corner stone of semantic web and knowledge graphs, it has not been embraced by everyday programmers and software architects who need to safely create and access well-structured data. There is a lack of common tools and methodologies that are available in more conventional settings to improve data quality by defining schemas that can later be validated. Two technologies have recently been proposed for RDF validation: Shape Expressions (ShEx) and Shapes Constraint Language (SHACL). In the talk, we will review the history and motivation of both technologies. We will also and enumerate some challenges and future work with regards to RDF validation.
Although RDF can be considered the corner stone of semantic web and knowledge graphs, it has not been embraced by everyday programmers and software architects who want to safely create and access well-structured data. There is a lack of common tools and methodologies that are available in more conventional settings to improve data quality by defining schemas that can later be validated. Two technologies have recently been proposed for RDF validation: Shape Expressions (ShEx) and Shapes Constraint Language (SHACL). In the talk, we will briefly introduce both technologies using some examples and compare them. We will also present some challenges and applications related with RDF data shapes.
Talk given at: KTH Royal Institute of Technology, School of Industrial Engineering and Management, Mechatronics Division, 7th February, 2020
Comparison of features between ShEx (Shape Expressions) and SHACL (Shapes Constraint Language)
Changelog:
11/06/17
- Removed slides about compositionality
31/May/2017
- Added slide 30 about validation report
- Added slide 32 about stems
- Changed slides 7 and 8 adapting compact syntax to new operator .
23/05/2017:
Slide 14: Repaired typos in typos in sh:entailment, rdfs:range
21/05/2017:
- Slide 8. Changed the example to be an IRI and a datatype
- Added typically in slide 9
- Slide 10: Removed the phrase: "Target declarations can problematic when reusing/importing shapes"
and created slide 27 to talk about reuability
- Added slide 11 to talk about the differences in triggering validation
- Created slide 14 to talk about inference
- Renamed slide 15 as "Inference and triggering mechanism"
- Added slides 27 and 28 to talk about reuability
- Added slide 29 to talk about annotations
18/05/2017
- Slides 9 now includes an example using ShEx RDF vocabulary
- Slide 10 now says that target declarations are optional
- Slide 13 now says that some RDF Schema terms have special treatment in SHACL
- Example in slide 18 now uses sh:or instead of sh:and
- Added slides 22, 23 and 24 which show some features supported by SHACL but not supported by ShEx (property pair constraints, uniqueLang and owl:imports)
Two graph data models : RDF and Property Graphsandyseaborne
Talk given at ApacheConEU Big Data 2015.
This talk describes the two common graph data approaches, RDF and Property Graphs. It concludes with observations about the different emphasis of each and where each is focused.
Lightening talk for Semantic Web in Libraries (SWIB13) conference at 2013-11-27 about another method of expressing RDF data. See http://gbv.github.io/aREF/ for a preliminary specification.
What is Pure Functional Programming, and how it can improve our application t...Luca Molteni
Pure functional programming is helping developers developing more robust and simpler programs, but it also helps them testing the behaviour of their application in a more predictable way. There are many different approaches to testing and verification of code, and we're constantly reconsidering the best approach to make our code solid, by leveraging concepts like referential transparency and purity to help us avoiding bugs. We explore the meaning of testing, by starting from the simple unit test, moving on to the property based testing and encoding our program invariants in types, with an introduction of some advanced type system concepts such as dependent types.
Presentation on the Data Cube vocabulary to support Linked Data publication of statistics and measurement data sets. Given at SemTech 2011, San Francisco.
Comparison of features between ShEx (Shape Expressions) and SHACL (Shapes Constraint Language)
Changelog:
11/06/17
- Removed slides about compositionality
31/May/2017
- Added slide 30 about validation report
- Added slide 32 about stems
- Changed slides 7 and 8 adapting compact syntax to new operator .
23/05/2017:
Slide 14: Repaired typos in typos in sh:entailment, rdfs:range
21/05/2017:
- Slide 8. Changed the example to be an IRI and a datatype
- Added typically in slide 9
- Slide 10: Removed the phrase: "Target declarations can problematic when reusing/importing shapes"
and created slide 27 to talk about reuability
- Added slide 11 to talk about the differences in triggering validation
- Created slide 14 to talk about inference
- Renamed slide 15 as "Inference and triggering mechanism"
- Added slides 27 and 28 to talk about reuability
- Added slide 29 to talk about annotations
18/05/2017
- Slides 9 now includes an example using ShEx RDF vocabulary
- Slide 10 now says that target declarations are optional
- Slide 13 now says that some RDF Schema terms have special treatment in SHACL
- Example in slide 18 now uses sh:or instead of sh:and
- Added slides 22, 23 and 24 which show some features supported by SHACL but not supported by ShEx (property pair constraints, uniqueLang and owl:imports)
Two graph data models : RDF and Property Graphsandyseaborne
Talk given at ApacheConEU Big Data 2015.
This talk describes the two common graph data approaches, RDF and Property Graphs. It concludes with observations about the different emphasis of each and where each is focused.
Lightening talk for Semantic Web in Libraries (SWIB13) conference at 2013-11-27 about another method of expressing RDF data. See http://gbv.github.io/aREF/ for a preliminary specification.
What is Pure Functional Programming, and how it can improve our application t...Luca Molteni
Pure functional programming is helping developers developing more robust and simpler programs, but it also helps them testing the behaviour of their application in a more predictable way. There are many different approaches to testing and verification of code, and we're constantly reconsidering the best approach to make our code solid, by leveraging concepts like referential transparency and purity to help us avoiding bugs. We explore the meaning of testing, by starting from the simple unit test, moving on to the property based testing and encoding our program invariants in types, with an introduction of some advanced type system concepts such as dependent types.
Presentation on the Data Cube vocabulary to support Linked Data publication of statistics and measurement data sets. Given at SemTech 2011, San Francisco.
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4jConnected Data World
Dr. Jesús Barrasa's slides from his talk at Connected Data London. Jesús, who is a senior field engineer at Neo4j presented how semantic web principles can be used in a graph database.
Representing verifiable statistical index computations as linked dataJose Emilio Labra Gayo
Presentation slides at SemStats 2014 Workshop.
In this paper we describe the development of the Web Index linked data portal that represents statistical index data and computations. The Web Index is a multi-dimensional measure of the World Wide Web’s contribution to development and human rights globally. It covers 81 countries and incorporates indicators that assess several areas like universal access; freedom and openness; relevant content; and empowerment.
In order to empower the Web Index transparency, one internal requirement was that every published data could be externally verified. The verification could be that it was just raw data obtained from an external source, in which case, the system must provide a link to the data source or that the value has been internally computed, in which case, the system provides links to those values. The resulting portal contains data that can be tracked to its sources so an external agent
can validate the whole index computation process.
We describe the different aspects on the development of the WebIndex data portal, which also offers new linked data visualization tools. Although in this paper we concentrate on the Web Index development, we consider that this approach can be generalized to other projects which involve the publication of externally verifiable statistical computations.
GraphX: Graph Analytics in Apache Spark (AMPCamp 5, 2014-11-20)Ankur Dave
GraphX is a graph processing framework built into Apache Spark. This talk introduces GraphX, describes key features of its API, and gives an update on its status.
Data integration with a façade. The case of knowledge graph construction.Enrico Daga
"Data integration with a façade.
The case of knowledge graph construction." is an overview of recent research in façade-based data access. The slides introduce core notions of façade-based data access and the design principles of SPARQL Anything, a system that allows querying of many formats (CSV, JSON, XML, HTML, Markdown , Excel, ...) in plain SPARQL.
Linked lists represent a countable number of ordered values, and are among the most important abstract data types in computer science. With the advent of RDF as a highly expressive knowledge representation language for the Web, various implementations for RDF lists have been proposed. Yet, there is no benchmark so far dedicated to evaluate the performance of triple stores and SPARQL query engines on dealing with ordered linked data. Moreover, essential tasks for evaluating RDF lists, like generating datasets containing RDF lists of various sizes, or generating the same RDF list using different modelling choices, are cumbersome and unprincipled. In this paper, we propose List.MID, a systematic benchmark for evaluating systems serving RDF lists. List.MID consists of a dataset generator, which creates RDF list data in various models and of different sizes; and a set of SPARQL queries. The RDF list data is coherently generated from a large, community-curated base collection of Web MIDI files, rich in lists of musical events of arbitrary length. We describe the List.MID benchmark, and discuss its impact and adoption, reusability, design, and availability.
Como publicar los datos: datos abiertos y enlazados
Charla impartida en Jornadas Open Data y Transparencia: Ayuntamiento de Oviedo
11 de septiembre de 2017
Charla Linked data - Datos abiertos enlazados impartida en el IV Foro Distrital Buenas Prácticas en Gestión de la Información Geográfica - Bogotá, Colombia, 14 Diciembre 2015
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Validating and Describing Linked Data Portals using RDF Shape Expressions
1. Validating and Describing
Linked Data Portals using
RDF Shape Expressions
Eric Prud'hommeaux
World Wide Web
Consortium
MIT, Cambridge, MA, USA
eric@w3.org
Jose Emilio Labra Gayo
WESO Research group
University of Oviedo
Spain
labra@uniovi.es
Harold Solbrig
Mayo Clinic
USA
College of Medicine, Rochester,
MN, USA
Jose María Álvarez Rodríguez
Dept. Computer Science
Carlos III University
Spain
josemaria.alvarez@uc3m.es
2. This talk in one slide
Shape Expressions
Simple language to describe and validate RDF
Can be applied to linked data portals
Use case: WebIndex project
3. Web Index
Measure WWW's contribution to development and
human rights by country
Developed by the Web Foundation
81 countries, 116 indicators, 5 years (2007-12)
Linked data portal
http://data.webfoundation.org/webindex/2013
4. Webindex workflow
Data
(Excel)
RDF
Datastore
Visualizations
Linked data portal
Conversion
Excel RDF
Enrichment
5. WebIndex data model
Observations have values by years
Observations refer to indicators and countries
ITU_B 2011 2012 2013 ...
Germany 20.34 35.46 37.12 ...
Spain 19.12 23.78 25.45 ...
France 20.12 21.34 28.34 ...
... ... ... ... ...
ITU_B 2011 2012 2013 ...
Germany 20.34 35.46 37.12 ...
Spain 19.12 23.78 25.45 ...
France 20.12 21.34 28.34 ...
... ... ... ... ...
ITU_B 2010 2011 2012 ...
Germany 20.34 35.46 37.12 ...
Spain 19.12 23.78 25.45 ...
France 20.12 21.34 28.34 ...
... ... ... ... ...
Model based on RDF Data Cube
Main entity = Observation
DataSets are published by Organizations
Datasets contain several slices
Slices group observations
Observation
Indicator Years
% Broadband subscribers
Countries
Slice
DataSet
Indicators are provided by Organizations
Examples
ITU = International Telecommunication Union
UN = United Nations
WB = World bank
...
8. Description and Validation
Lots of constraints
Observations must be linked to some country
Observations have a float value
Observations are related with an indicator, a country
and a year
Dataset contains several slices and slices contain
several observations
....etc.
Q: How can we express those constraints easily?
Our proposal: Shape expressions
9. Shape Expressions
A simple and intuitive language to:
Describe the topology of RDF data
Validate that an RDF graph matches a shape
Two syntaxes
- Compact syntax (inspired by RelaxNG, Turtle and SPARQL)
- RDF
More details about ShEx:
Paper in Semantics-2014 (5th Sept, 10:30h)
http://www.w3.org/2013/ShEx/Primer
10. Country
A <Country> has at least the following properties:
rdf:type with value wf:Country
rdfs:label with value of type xsd:string
wf:iso2 with value of type xsd:string
wf:iso3 with value of type xsd:string
Using shape Expressions:
Label Open shape
<Country> {
rdf:type (wf:Country)
, rdfs:label xsd:string
, wf:iso2 xsd:string
, wf:iso3 xsd:string
}
Conjunction
11. DataSets
A <DataSet> has the shape:
rdf:type with value qb:Dataset
qb:structure with value wf:DSD
Optional rdfs:label with value of type xsd:string
One or more qb:slice with shape <Slice>
<DataSet> {
rdf:type (qb:DataSet)
, qb:structure (wf:DSD)
, dc:publisher @<Organization>
, rdfs:label xsd:string ?
, qb:slice @<Slice>+
}
Cardinality posibilities:
* (0 or more)
? (0 or 1)
+ (1 or more)
{m,n} between m and n
12. Slices
<Slice> has the properties:
rdf:type with value qb:Slice
qb:SliceStructure Whar does with it value mean?
wf:sliceByYear
Several qb:observation with shape <Observation>
cex:indicator with shape <Indicator>
<Slice> {
rdf:type (qb:Slice)
, qb:sliceStructure (wf:sliceByYear)
, qb:observation @<Observation>+
, cex:indicator @<Indicator>
}
15. Current Use of shape expressions
in WebIndex
1. Documentation of linked data portal
Human-readable
Machine processable
2. Team communication
Tell the developers which shapes they must generate
3. Validation
For example: check if a value of type
qb:Observation has shape <Observation>
16. OK, but...why not use SPARQL?
1 CONSTRUCT {
2 ?Organization shex:hasShape <Organization> .
3 } WHERE { SELECT ?Organization {
4 ?Organization a ?o .
5 } GROUP BY ?Organization HAVING (COUNT(*)=1)}
6 { SELECT ?Organization {
7 ?Organization a ?o . FILTER ((?o = org:Organization))
8 } GROUP BY ?Organization HAVING (COUNT(*)=1)}
9 { SELECT ?Organization {
10 ?Organization rdfs:label ?o .
11 } GROUP BY ?Organization HAVING (COUNT(*)=1)}
12 { SELECT ?Organization {
13 ?Organization rdfs:label ?o .
14 FILTER ((isLiteral(?o) && datatype(?o) = xsd:string))
15 } GROUP BY ?Organization HAVING (COUNT(*)=1)}
16 { SELECT ?Organization {
17 ?Organization foaf:homepage ?o .
18 } GROUP BY ?Organization HAVING (COUNT(*)=1)}
19 { SELECT ?Organization {
20 ?Organization foaf:homepage ?o . FILTER (isIRI(?o))
21 } GROUP BY ?Organization HAVING (COUNT(*)=1)}
22 { SELECT ?Organization (COUNT(*) AS ?Organization_c0) {
23 ?Organization org:hasSubOrganization ?o .
24 } GROUP BY ?Organization}
25 { SELECT ?Organization (COUNT(*) AS ?Organization_c1) {
26 ?Organization org:hasSubOrganization ?o .
26 } GROUP BY ?Organization}
28 FILTER (?Organization_c0 = ?Organization_c1)
29 }
SPARQL
Opgnization shape
Shape Expressions
1 <Organization> {
2 rdf:type (org:Organization)
3 , rdfs:label xsd:string
4 , foaf:homepage IRI
5 , org:hasSubOrganization @<Organization>
6 }
Full example of WebIndex:
61 lines ShEx vs 580 lines SPARQL
17. Implementations of
Shape Expressions
Name Main
Developer
Language Features
FancyDemo Eric
Prud'hommeaux
Javascript First implementation
Semantic Actions and Conversion to SPARQL
http://www.w3.org/2013/ShEx/
JsShExTest Jesse van Dam Javascript Supports RDF and Compact syntax
https://github.com/jessevdam/shextest
ShExcala Jose E. Labra Scala Several extensions:
negations, reverse arcs, relations,...
Efficient implementation using Derivatives
http://labra.github.io/ShExcala/
Haws Jose E. Labra Haskell Prototype to check Inference semantics
http://labra.github.io/haws/
18. RDFShape: Online validation tool
RDFShape = online validation tool
Deployed at: http://rdfshape.weso.es
Based on ShExcala
Can validate by:
URI
File
Textarea
SPARQL endpoint
Dereference
19. Shapes ≠ Types
Types oriented to concepts
Inference: RDF Schena, OWL
Shapes oriented to RDF graphs
Interface descriptions
WebIndex
<Observation> {
rdf:type (qb:Observation)
,cex:ref-year xsd:gYear
...other properties from WebIndex
}
LandPortal
<Observation> {
rdf:type (qb:Observation)
, lb:time @<Time>
...other properties from LandPortal
}
RDF Data Cube
qb:Observation a rdfs:Class,
owl:Class;
rdfs:label "Observation"@en;
rdfs:comment "... "@en;
rdfs:subClassOf qb:Attachable;
owl:equivalentClass scovo:Item;
rdfs:isDefinedBy ...
Can be local to a data portal Types are global
However, we can also define generic Shapes templates
20. Extensions & challenges
Shape Expressions language has just been born
It will be affected by W3c Charter group about
RDF Data Shapes
Mailing list: public-rdf-shapes@w3c.org
"The discussion on public-rdf-shapes@w3.org is the
best entertainment since years;
Game of Thrones colors pale." @PaulZH
21. Alternatives, negations, etc.
More expressiveness from regular expressions
Alternatives
Negations
Groupings
<Country> { a (wf:Country)
, rdfs:label xsd:string
, ( wf:iso2 xsd:string | wf:iso3 xsd:string )
, ! dc:creator .
}
22. Open vs Closed shapes
Open shapes allow remaining triples after validation
<User> {
a (foaf:Person)
}
:john a foaf:Person,
foaf:name "John" .
<User> [
a (foaf:Person)
]
:anna a foaf:Person .
Open shape Closed shape
23. Shape inclusions
A shape includes/extends another shape
Example:
<Provider> extends <Organization> {
wf:sourceURI IRI
}
A <Provider> has the same shape as an <Organization>
plus the property wf:sourceURI
24. Reverse and relation arcs
Shape Expressions describe subjects
Can be extended to describe
objects (reverse arcs)
predicates (relation arcs)
<Country> {
rdf:type (wf:Country)
, rdfs:label xsd:string
, wf:iso2 xsd:string
, wf:iso3 xsd:string
, ^ cex:ref-area @<Observation> *
}
Reverse arc: a country has several incoming arcs with property cex:ref-area
from subjects with shape <Observation>
25. Semantic actions
Defines actions to be executed during validation
%lang{ ...actions... %}
Calls lang processor passing it the given actions
<Country> {
...
wf:iso2 xsd:string %js{return /^[A-Z]{2}$/i.test(_.o.lex); %}
, wf:iso3 xsd:string %js{return /^[A-Z]{3}$/i.test(_.o.lex); %}
}
26. Variables and filters
Add variable bindings to matched values
Add FILTER rules similar to SPARQL
<Country> {
wf:iso2 (xsd:string AS ?iso2)
wf:iso3 (xsd:string AS ?iso3)
FILTER (regex(?iso2,"^[A-Z]{2}$","i") &&
regex(?iso3,"^[A-Z]{3}$","i"))
}
27. Conclusions
Shape Expressions:
DSL to describe and validate RDF
Role similar to DTDs or Schema languages for XML
Quality of linked data portals
Shape Expressions as interface descriptions
Publishers: Understand what to publish
Consumers: Check data before processing
28. Future Work
Shape Expressions language
Named graphs
Implementations: Debugging and error messages
Performance
Applications to
Other linked data use cases
User interface generation
Binding: generate parsers/tools from shapes
...