SlideShare una empresa de Scribd logo
1 de 23
Validation of Europeana data:
application profile, OWL ontology, or else?
Antoine Isaac
Application Profiles as an alternative to OWL Ontologies
Dublin Core Conference
5 September 2013
EDM basic pattern
 A data provider submits to Europeana a “bundle” of an object
and its digital representation(s)
For a general presentation on Europeana and EDM rationale see http://pro.europeana.eu/edm-documentation
Europeana Data Model: an example
Provided Cultural Heritage Object (CHO)
and descriptive metadata
Web Resources – digital representations
Aggregations – Bundling it all together
EDM Specs
http://pro.europeana.eu/edm-documentation
- EDM Definition:
- Mapping Guidelines and templates
- XML Schema
- OWL ontology
EDM Definitions
High level definition of classes and properties
edm:aggregatedCHO
- Definition: This property associates an ORE aggregation with the cultural
heritage object(s) (CHO for short) it is about.
- Subproperty of: ore:aggregates, dc:subject, P129_is_about
- Domain: ore:Aggregation
- Range: edm:ProvidedCHO
EDM Definitions
 Avoids adding semantics to re-used classes and properties
Except for mapping purposes, hierarchies of classes and properties for inference
dc:contributor rdfs:subPropertyOf edm:hasMet .
 Borderline case of axioms not in formal version of original specs
ore:proxyIn
- Obligation & Occurrence: A proxy may be in 1 to many aggregations,
and an aggregation may have 0 to many proxies in it
EDM Definitions
First hints at data constraints
edm:dataProvider
- Obligation & Occurrence: Mandatory for Europeana (Minimum: 1,
Maximum: 1)
edm:currentLocation
- Domain: The set of cultural heritage objects that Europeana collects
descriptions about, represented in the EDM by ProvidedCHOs and ORE
proxies for these CHOs.
edm:aggregatedCHO
- Obligation & Occurrence: In Europeana, an aggregation aggregates
exactly one CHO
Data validation: Europeana requirements
EDM is RDF-oriented: unbounded web of information, etc.
But Europeana needs to enforce constraints on the data it receives
 Data that meets basic Europeana function requirements
• An Aggregation should always have an edm:aggregatedCHO
• There must be exactly one edm:type -- the value must be TEXT, VIDEO,
SOUND, IMAGE or 3D
 Data quality criteria
• A ProvidedCHO should have at least a dc:title or a dc:description
We need specs for validation that are easily shareable, both for
humans and machines
EDM Mapping Guidelines
 Document written after the EDM Definitions
 Tries to formulate clearer instructions for Europeana providers
 Template-based, e.g. for provider’s Aggregation:
property value type cardinality
Machine-readable specs as OWL ontologies?
OWL is good for writing constraints, but not for validation!
Quite OK
 “Value types” via owl:ObjectProperty owl:DatatypeProperty in
OWL(DL)
 Data ranges (TEXT-VIDEO-SOUND-IMAGE-3D)
Less ok:
 Object domain and ranges
 (qualified) cardinality axioms
Including combinations: (either isShownBy OR isShownAt is mandatory)
We’ve created an OWL version of EDM
[…]
<owl:equivalentClass>
<owl:Restriction>
<owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
<owl:onProperty rdf:resource="&edm;aggregatedCHO"/>
</owl:Restriction>
</owl:equivalentClass>
[…]
OWL?
https://github.com/europeana/corelib/blob/master/c
orelib-solr-definitions/src/main/resources/eu/rdf/
But these are not really validation axioms
And it’s bad practice to add semantics to classes and properties that
already exist, such as ore:Aggregation
(let’s be honest: we were not ready for full RDF/OWL compatibility
anyway…)
EDM is implemented by an XML Schema (for RDF data!)
[…]
<sequence>
<element ref="edm:aggregatedCHO" maxOccurs="1" minOccurs="1"/>
<element ref="edm:dataProvider" maxOccurs="1" minOccurs="1"/>
<element ref="edm:isShownAt" maxOccurs="1" minOccurs="0"/>
<element ref="edm:isShownBy" maxOccurs="1" minOccurs="0"/>
<element ref="edm:object" maxOccurs="1" minOccurs="0"/>
<element ref="edm:provider" maxOccurs="1" minOccurs="1"/>
<element ref="dc:rights" maxOccurs="unbounded" minOccurs="0"/>
<element ref="edm:rights" maxOccurs="1" minOccurs="1"/>
</sequence>
[…]
XML Schema
And Schematron rules:
[…]
<sch:pattern name="Either Is shownby or is shownat should be present">
<sch:rule context="ore:Aggregation">
<sch:assert test="edm:isShownAt or edm:isShownBy">
[Error message]
</sch:assert>
</sch:rule>
</sch:pattern>
XML Schema
XML Schema: not ideal!
 Specific to a syntax
 Document-centric approach to validation
Back to square one: records!
 Forces us to enumerate the attributes with extra constraints, especially
order of elements
It’s really a super-closed world
 Schematron does slightly better, but then we have two constraint
languages co-existing in a same implementation
EDM as a “real” application profile?
 It is an application profile, already: mixing several vocabularies,
adding specific constraints
 Documentation includes definitions with constraints and
examples
 Interpretation of constraint in APs fit quite well
• AP constraints are expressed on the data
• Europeana needs dataset-level validation, mostly
EDM as a real application profile?
A fragment in DSP XML
<DescriptionTemplate ID=”aggregation" standalone=”yes">
<ResourceClass>ore:Aggregation</ResourceClass>
<StatementTemplate minOccurs="1" maxOccurs="1”>
<Property>edm:aggregatedCHO</Property>
</StatementTemplate>
<StatementTemplate minOccurs="1”>
<Property>edm:isShownBy</Property>
<Property>edm:isShownAt</Property>
</StatementTemplate>
</DescriptionTemplate>
http://dublincore.org/documents/dc-dsp/
Could be converted to other constraint
checking formalisms (1/2): SPIN
SPARQL Inferencing Notation http://spinrdf.org
ore:Aggregation
spin:constraint
[ a sp:Ask ;
sp:text """
# either isShownBy or isShownAt must be present
ASK WHERE {
{?this isShownBy ?image } UNION {?this isShownBy ?page }
}"""
] .
Issue: still looks like adding semantics to ore:Aggregation in general…
Could be converted to other constraint
checking formalisms (1/2): Stardog ICV
Integrity Constraint Validation http://stardog.com/docs/sdp/
Class: ore:Aggregation
SubClassOf: exactly 1 edm:aggregatedCHO
Class: ore:Aggregation
SubClassOf: min 1 edm:isShownBy or min 1 edm:isShownAt
Note: this is OWL2’s ‘Manchester Syntax’
Stardog accepts OWL, SWRL and SPARQL, uses SPARQL as back-end
Issue: still looks like adding semantics to ore:Aggregation in general…
Conclusions
Europeana requirements seem to be met by the AP approach, if this AP
approach is matched with SPARQL constraints
Much better than to try to partially catch constraints in OWL and
XML+Schematron as isolated machine-readable specs
Needs further testing
incl. trying to express all constraints with DSP and SPARQL queries
(with or without the help of a higher-level language)
An area that needs maturation
Maintainers (like us) may have validation specs in various forms
DSP is not flying, RDF validation still worthy of workshops!
https://www.w3.org/2012/12/rdf-val/
Thank you!
aisaac@few.vu.nl

Más contenido relacionado

La actualidad más candente

W3C Library Linked Data Incubator Group - 2011
W3C Library Linked Data Incubator Group  - 2011W3C Library Linked Data Incubator Group  - 2011
W3C Library Linked Data Incubator Group - 2011Antoine Isaac
 
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...DeVonne Parks, CEM
 
Eun lre brussels_winer20100616
Eun lre brussels_winer20100616Eun lre brussels_winer20100616
Eun lre brussels_winer20100616Dov Winer
 
Entity Management at Europeana - DCMI 2021
Entity Management at Europeana - DCMI 2021Entity Management at Europeana - DCMI 2021
Entity Management at Europeana - DCMI 2021Antoine Isaac
 
Multilingual challenges and ongoing work to tackle them at Europeana
Multilingual challenges and ongoing work to tackle them at EuropeanaMultilingual challenges and ongoing work to tackle them at Europeana
Multilingual challenges and ongoing work to tackle them at EuropeanaAntoine Isaac
 
The Europeana Data Model Principles, community and innovation
The Europeana Data Model  Principles, community and innovationThe Europeana Data Model  Principles, community and innovation
The Europeana Data Model Principles, community and innovationAntoine Isaac
 
Europeana as a Linked Data (Quality) case
Europeana as a Linked Data (Quality) caseEuropeana as a Linked Data (Quality) case
Europeana as a Linked Data (Quality) caseAntoine Isaac
 
Exploiting vocabularies and Linked Data: in practice
Exploiting vocabularies and Linked Data: in practiceExploiting vocabularies and Linked Data: in practice
Exploiting vocabularies and Linked Data: in practiceCARARE
 
Harmony project - JISC Synthesis meeting 2001
Harmony project - JISC Synthesis meeting 2001Harmony project - JISC Synthesis meeting 2001
Harmony project - JISC Synthesis meeting 2001Dan Brickley
 
The Europeana Data Model - TPDL2018
The Europeana Data Model - TPDL2018The Europeana Data Model - TPDL2018
The Europeana Data Model - TPDL2018Antoine Isaac
 
Europeana bergen may2010_dovwiner
Europeana bergen may2010_dovwinerEuropeana bergen may2010_dovwiner
Europeana bergen may2010_dovwinerDov Winer
 
EuropeanaConnect - Enhancing User Access to European Digital Heritage
EuropeanaConnect - Enhancing User Access to European Digital HeritageEuropeanaConnect - Enhancing User Access to European Digital Heritage
EuropeanaConnect - Enhancing User Access to European Digital HeritageMax Kaiser
 
LIBER and its EU projects
LIBER and its EU projectsLIBER and its EU projects
LIBER and its EU projectsLIBER Europe
 
Linked Open Europeana: Semantics for the Citizen
Linked Open Europeana: Semantics for the CitizenLinked Open Europeana: Semantics for the Citizen
Linked Open Europeana: Semantics for the CitizenStefan Gradmann
 
Calames :: CERL seminar (Paris, 2008)
Calames :: CERL seminar (Paris, 2008)Calames :: CERL seminar (Paris, 2008)
Calames :: CERL seminar (Paris, 2008)Y. Nicolas
 
Uniting Digitization & Heritage Metadata : Calames Plus & other tracks
Uniting  Digitization & Heritage Metadata : Calames Plus & other tracksUniting  Digitization & Heritage Metadata : Calames Plus & other tracks
Uniting Digitization & Heritage Metadata : Calames Plus & other tracksABES
 
The Hellenic Aggregator - Overview, procedures & the cooperation with Europeana
The Hellenic Aggregator - Overview, procedures & the cooperation with EuropeanaThe Hellenic Aggregator - Overview, procedures & the cooperation with Europeana
The Hellenic Aggregator - Overview, procedures & the cooperation with EuropeanaVangelis Banos
 

La actualidad más candente (17)

W3C Library Linked Data Incubator Group - 2011
W3C Library Linked Data Incubator Group  - 2011W3C Library Linked Data Incubator Group  - 2011
W3C Library Linked Data Incubator Group - 2011
 
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...
 
Eun lre brussels_winer20100616
Eun lre brussels_winer20100616Eun lre brussels_winer20100616
Eun lre brussels_winer20100616
 
Entity Management at Europeana - DCMI 2021
Entity Management at Europeana - DCMI 2021Entity Management at Europeana - DCMI 2021
Entity Management at Europeana - DCMI 2021
 
Multilingual challenges and ongoing work to tackle them at Europeana
Multilingual challenges and ongoing work to tackle them at EuropeanaMultilingual challenges and ongoing work to tackle them at Europeana
Multilingual challenges and ongoing work to tackle them at Europeana
 
The Europeana Data Model Principles, community and innovation
The Europeana Data Model  Principles, community and innovationThe Europeana Data Model  Principles, community and innovation
The Europeana Data Model Principles, community and innovation
 
Europeana as a Linked Data (Quality) case
Europeana as a Linked Data (Quality) caseEuropeana as a Linked Data (Quality) case
Europeana as a Linked Data (Quality) case
 
Exploiting vocabularies and Linked Data: in practice
Exploiting vocabularies and Linked Data: in practiceExploiting vocabularies and Linked Data: in practice
Exploiting vocabularies and Linked Data: in practice
 
Harmony project - JISC Synthesis meeting 2001
Harmony project - JISC Synthesis meeting 2001Harmony project - JISC Synthesis meeting 2001
Harmony project - JISC Synthesis meeting 2001
 
The Europeana Data Model - TPDL2018
The Europeana Data Model - TPDL2018The Europeana Data Model - TPDL2018
The Europeana Data Model - TPDL2018
 
Europeana bergen may2010_dovwiner
Europeana bergen may2010_dovwinerEuropeana bergen may2010_dovwiner
Europeana bergen may2010_dovwiner
 
EuropeanaConnect - Enhancing User Access to European Digital Heritage
EuropeanaConnect - Enhancing User Access to European Digital HeritageEuropeanaConnect - Enhancing User Access to European Digital Heritage
EuropeanaConnect - Enhancing User Access to European Digital Heritage
 
LIBER and its EU projects
LIBER and its EU projectsLIBER and its EU projects
LIBER and its EU projects
 
Linked Open Europeana: Semantics for the Citizen
Linked Open Europeana: Semantics for the CitizenLinked Open Europeana: Semantics for the Citizen
Linked Open Europeana: Semantics for the Citizen
 
Calames :: CERL seminar (Paris, 2008)
Calames :: CERL seminar (Paris, 2008)Calames :: CERL seminar (Paris, 2008)
Calames :: CERL seminar (Paris, 2008)
 
Uniting Digitization & Heritage Metadata : Calames Plus & other tracks
Uniting  Digitization & Heritage Metadata : Calames Plus & other tracksUniting  Digitization & Heritage Metadata : Calames Plus & other tracks
Uniting Digitization & Heritage Metadata : Calames Plus & other tracks
 
The Hellenic Aggregator - Overview, procedures & the cooperation with Europeana
The Hellenic Aggregator - Overview, procedures & the cooperation with EuropeanaThe Hellenic Aggregator - Overview, procedures & the cooperation with Europeana
The Hellenic Aggregator - Overview, procedures & the cooperation with Europeana
 

Similar a Validation of Europeana data: application profile, OWL ontology, or else?

Report on Work of Joint DCMI/IEEE LTSC Task Force
Report on Work of Joint DCMI/IEEE LTSC Task ForceReport on Work of Joint DCMI/IEEE LTSC Task Force
Report on Work of Joint DCMI/IEEE LTSC Task ForceEduserv Foundation
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsSteve Speicher
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Igor Moochnick
 
RESTful Services
RESTful ServicesRESTful Services
RESTful ServicesKurt Cagle
 
Facilitating Busines Interoperability from the Semantic Web
Facilitating Busines Interoperability from the Semantic WebFacilitating Busines Interoperability from the Semantic Web
Facilitating Busines Interoperability from the Semantic WebRoberto García
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaLucas Jellema
 
Euclid Data Model 101 - Episode 01: Overview
Euclid Data Model 101 - Episode 01: OverviewEuclid Data Model 101 - Episode 01: Overview
Euclid Data Model 101 - Episode 01: Overvieweuc-dm-test
 
The JISC DC Application Profiles: Some thoughts on requirements and scope
The JISC DC Application Profiles: Some thoughts on requirements and scopeThe JISC DC Application Profiles: Some thoughts on requirements and scope
The JISC DC Application Profiles: Some thoughts on requirements and scopeEduserv Foundation
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworksbrendonschwartz
 
Runtime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreRuntime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreEsha Yadav
 
Eclipse Modeling Framework
Eclipse Modeling FrameworkEclipse Modeling Framework
Eclipse Modeling FrameworkAjay K
 
DC-2008 Architecture Forum Open session
DC-2008 Architecture Forum Open sessionDC-2008 Architecture Forum Open session
DC-2008 Architecture Forum Open sessionMikael Nilsson
 
Description Set profiles
Description Set profilesDescription Set profiles
Description Set profilesMikael Nilsson
 
Entity framework 4.0
Entity framework 4.0Entity framework 4.0
Entity framework 4.0Abhishek Sur
 

Similar a Validation of Europeana data: application profile, OWL ontology, or else? (20)

Report on Work of Joint DCMI/IEEE LTSC Task Force
Report on Work of Joint DCMI/IEEE LTSC Task ForceReport on Work of Joint DCMI/IEEE LTSC Task Force
Report on Work of Joint DCMI/IEEE LTSC Task Force
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC Integrations
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
 
EDM for Europeana Sounds
EDM for Europeana SoundsEDM for Europeana Sounds
EDM for Europeana Sounds
 
RESTful Services
RESTful ServicesRESTful Services
RESTful Services
 
Facilitating Busines Interoperability from the Semantic Web
Facilitating Busines Interoperability from the Semantic WebFacilitating Busines Interoperability from the Semantic Web
Facilitating Busines Interoperability from the Semantic Web
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas Jellema
 
EDM for sounds
EDM for soundsEDM for sounds
EDM for sounds
 
oodb.ppt
oodb.pptoodb.ppt
oodb.ppt
 
Euclid Data Model 101 - Episode 01: Overview
Euclid Data Model 101 - Episode 01: OverviewEuclid Data Model 101 - Episode 01: Overview
Euclid Data Model 101 - Episode 01: Overview
 
The JISC DC Application Profiles: Some thoughts on requirements and scope
The JISC DC Application Profiles: Some thoughts on requirements and scopeThe JISC DC Application Profiles: Some thoughts on requirements and scope
The JISC DC Application Profiles: Some thoughts on requirements and scope
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
 
Oodb
OodbOodb
Oodb
 
Metadata Cloud
Metadata CloudMetadata Cloud
Metadata Cloud
 
Runtime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreRuntime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya Rathore
 
Eclipse Modeling Framework
Eclipse Modeling FrameworkEclipse Modeling Framework
Eclipse Modeling Framework
 
DC-2008 Architecture Forum Open session
DC-2008 Architecture Forum Open sessionDC-2008 Architecture Forum Open session
DC-2008 Architecture Forum Open session
 
Description Set profiles
Description Set profilesDescription Set profiles
Description Set profiles
 
Entity framework 4.0
Entity framework 4.0Entity framework 4.0
Entity framework 4.0
 

Más de Antoine Isaac

Addressing multilingual challenges at Europeana: An update - DCMI 2021
Addressing multilingual challenges at Europeana: An update - DCMI 2021Addressing multilingual challenges at Europeana: An update - DCMI 2021
Addressing multilingual challenges at Europeana: An update - DCMI 2021Antoine Isaac
 
Le Cadre de publication d'Europeana
Le Cadre de publication d'EuropeanaLe Cadre de publication d'Europeana
Le Cadre de publication d'EuropeanaAntoine Isaac
 
Metadata aggregation of IIIF Resources at Europeana: status and plans
Metadata aggregation of IIIF Resources at Europeana: status and plansMetadata aggregation of IIIF Resources at Europeana: status and plans
Metadata aggregation of IIIF Resources at Europeana: status and plansAntoine Isaac
 
IIIF and the Europeana mission
IIIF and the Europeana missionIIIF and the Europeana mission
IIIF and the Europeana missionAntoine Isaac
 
Semantic Interoperability at Europeana - MultilingualDSIs2018
Semantic Interoperability at Europeana - MultilingualDSIs2018Semantic Interoperability at Europeana - MultilingualDSIs2018
Semantic Interoperability at Europeana - MultilingualDSIs2018Antoine Isaac
 
Lightweight rights modeling and linked data publication for online cultural h...
Lightweight rights modeling and linked data publication for online cultural h...Lightweight rights modeling and linked data publication for online cultural h...
Lightweight rights modeling and linked data publication for online cultural h...Antoine Isaac
 
Designing a multilingual knowledge graph - DCMI2018
Designing a multilingual knowledge graph - DCMI2018Designing a multilingual knowledge graph - DCMI2018
Designing a multilingual knowledge graph - DCMI2018Antoine Isaac
 
Data scale and diversity issues at Europeana
Data scale and diversity issues at EuropeanaData scale and diversity issues at Europeana
Data scale and diversity issues at EuropeanaAntoine Isaac
 
Isaac - W3C Data on the Web Best Practices - Data Vocabularies
Isaac - W3C Data on the Web Best Practices - Data VocabulariesIsaac - W3C Data on the Web Best Practices - Data Vocabularies
Isaac - W3C Data on the Web Best Practices - Data VocabulariesAntoine Isaac
 
Enriching Cultural Heritage Data with DBpedia
Enriching Cultural Heritage Data with DBpediaEnriching Cultural Heritage Data with DBpedia
Enriching Cultural Heritage Data with DBpediaAntoine Isaac
 
Modelling and exchanging annotations
Modelling and exchanging annotationsModelling and exchanging annotations
Modelling and exchanging annotationsAntoine Isaac
 
EuropeanaTech update - Europeana AGM 2015
EuropeanaTech update - Europeana AGM 2015EuropeanaTech update - Europeana AGM 2015
EuropeanaTech update - Europeana AGM 2015Antoine Isaac
 
Modelling annotations for Europeana and related projects - DARIAH-EU WS
Modelling annotations for Europeana and related projects - DARIAH-EU WSModelling annotations for Europeana and related projects - DARIAH-EU WS
Modelling annotations for Europeana and related projects - DARIAH-EU WSAntoine Isaac
 
Classification schemes, thesauri and other Knowledge Organization Systems - a...
Classification schemes, thesauri and other Knowledge Organization Systems - a...Classification schemes, thesauri and other Knowledge Organization Systems - a...
Classification schemes, thesauri and other Knowledge Organization Systems - a...Antoine Isaac
 
Multilingual challenges for accessing digitized culture online - Riga Summit 15
Multilingual challenges for accessing digitized culture online - Riga Summit 15Multilingual challenges for accessing digitized culture online - Riga Summit 15
Multilingual challenges for accessing digitized culture online - Riga Summit 15Antoine Isaac
 
Wikidata, a target for Europeana's semantic strategy - GLAM-WIKI 2015
Wikidata, a target for Europeana's semantic strategy - GLAM-WIKI 2015Wikidata, a target for Europeana's semantic strategy - GLAM-WIKI 2015
Wikidata, a target for Europeana's semantic strategy - GLAM-WIKI 2015Antoine Isaac
 
AAC Education Session
AAC Education Session AAC Education Session
AAC Education Session Antoine Isaac
 
Europeana and the relevance of the DM2E results
Europeana and the relevance of the DM2E resultsEuropeana and the relevance of the DM2E results
Europeana and the relevance of the DM2E resultsAntoine Isaac
 

Más de Antoine Isaac (20)

Addressing multilingual challenges at Europeana: An update - DCMI 2021
Addressing multilingual challenges at Europeana: An update - DCMI 2021Addressing multilingual challenges at Europeana: An update - DCMI 2021
Addressing multilingual challenges at Europeana: An update - DCMI 2021
 
Le Cadre de publication d'Europeana
Le Cadre de publication d'EuropeanaLe Cadre de publication d'Europeana
Le Cadre de publication d'Europeana
 
Metadata aggregation of IIIF Resources at Europeana: status and plans
Metadata aggregation of IIIF Resources at Europeana: status and plansMetadata aggregation of IIIF Resources at Europeana: status and plans
Metadata aggregation of IIIF Resources at Europeana: status and plans
 
IIIF and the Europeana mission
IIIF and the Europeana missionIIIF and the Europeana mission
IIIF and the Europeana mission
 
Semantic Interoperability at Europeana - MultilingualDSIs2018
Semantic Interoperability at Europeana - MultilingualDSIs2018Semantic Interoperability at Europeana - MultilingualDSIs2018
Semantic Interoperability at Europeana - MultilingualDSIs2018
 
Lightweight rights modeling and linked data publication for online cultural h...
Lightweight rights modeling and linked data publication for online cultural h...Lightweight rights modeling and linked data publication for online cultural h...
Lightweight rights modeling and linked data publication for online cultural h...
 
Designing a multilingual knowledge graph - DCMI2018
Designing a multilingual knowledge graph - DCMI2018Designing a multilingual knowledge graph - DCMI2018
Designing a multilingual knowledge graph - DCMI2018
 
Europeana et IIIF
Europeana et IIIFEuropeana et IIIF
Europeana et IIIF
 
Data scale and diversity issues at Europeana
Data scale and diversity issues at EuropeanaData scale and diversity issues at Europeana
Data scale and diversity issues at Europeana
 
Isaac - W3C Data on the Web Best Practices - Data Vocabularies
Isaac - W3C Data on the Web Best Practices - Data VocabulariesIsaac - W3C Data on the Web Best Practices - Data Vocabularies
Isaac - W3C Data on the Web Best Practices - Data Vocabularies
 
Europeana APIs
Europeana APIsEuropeana APIs
Europeana APIs
 
Enriching Cultural Heritage Data with DBpedia
Enriching Cultural Heritage Data with DBpediaEnriching Cultural Heritage Data with DBpedia
Enriching Cultural Heritage Data with DBpedia
 
Modelling and exchanging annotations
Modelling and exchanging annotationsModelling and exchanging annotations
Modelling and exchanging annotations
 
EuropeanaTech update - Europeana AGM 2015
EuropeanaTech update - Europeana AGM 2015EuropeanaTech update - Europeana AGM 2015
EuropeanaTech update - Europeana AGM 2015
 
Modelling annotations for Europeana and related projects - DARIAH-EU WS
Modelling annotations for Europeana and related projects - DARIAH-EU WSModelling annotations for Europeana and related projects - DARIAH-EU WS
Modelling annotations for Europeana and related projects - DARIAH-EU WS
 
Classification schemes, thesauri and other Knowledge Organization Systems - a...
Classification schemes, thesauri and other Knowledge Organization Systems - a...Classification schemes, thesauri and other Knowledge Organization Systems - a...
Classification schemes, thesauri and other Knowledge Organization Systems - a...
 
Multilingual challenges for accessing digitized culture online - Riga Summit 15
Multilingual challenges for accessing digitized culture online - Riga Summit 15Multilingual challenges for accessing digitized culture online - Riga Summit 15
Multilingual challenges for accessing digitized culture online - Riga Summit 15
 
Wikidata, a target for Europeana's semantic strategy - GLAM-WIKI 2015
Wikidata, a target for Europeana's semantic strategy - GLAM-WIKI 2015Wikidata, a target for Europeana's semantic strategy - GLAM-WIKI 2015
Wikidata, a target for Europeana's semantic strategy - GLAM-WIKI 2015
 
AAC Education Session
AAC Education Session AAC Education Session
AAC Education Session
 
Europeana and the relevance of the DM2E results
Europeana and the relevance of the DM2E resultsEuropeana and the relevance of the DM2E results
Europeana and the relevance of the DM2E results
 

Último

Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Último (20)

Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Validation of Europeana data: application profile, OWL ontology, or else?

  • 1. Validation of Europeana data: application profile, OWL ontology, or else? Antoine Isaac Application Profiles as an alternative to OWL Ontologies Dublin Core Conference 5 September 2013
  • 2. EDM basic pattern  A data provider submits to Europeana a “bundle” of an object and its digital representation(s) For a general presentation on Europeana and EDM rationale see http://pro.europeana.eu/edm-documentation
  • 4. Provided Cultural Heritage Object (CHO) and descriptive metadata
  • 5. Web Resources – digital representations
  • 6. Aggregations – Bundling it all together
  • 7. EDM Specs http://pro.europeana.eu/edm-documentation - EDM Definition: - Mapping Guidelines and templates - XML Schema - OWL ontology
  • 8. EDM Definitions High level definition of classes and properties edm:aggregatedCHO - Definition: This property associates an ORE aggregation with the cultural heritage object(s) (CHO for short) it is about. - Subproperty of: ore:aggregates, dc:subject, P129_is_about - Domain: ore:Aggregation - Range: edm:ProvidedCHO
  • 9. EDM Definitions  Avoids adding semantics to re-used classes and properties Except for mapping purposes, hierarchies of classes and properties for inference dc:contributor rdfs:subPropertyOf edm:hasMet .  Borderline case of axioms not in formal version of original specs ore:proxyIn - Obligation & Occurrence: A proxy may be in 1 to many aggregations, and an aggregation may have 0 to many proxies in it
  • 10. EDM Definitions First hints at data constraints edm:dataProvider - Obligation & Occurrence: Mandatory for Europeana (Minimum: 1, Maximum: 1) edm:currentLocation - Domain: The set of cultural heritage objects that Europeana collects descriptions about, represented in the EDM by ProvidedCHOs and ORE proxies for these CHOs. edm:aggregatedCHO - Obligation & Occurrence: In Europeana, an aggregation aggregates exactly one CHO
  • 11. Data validation: Europeana requirements EDM is RDF-oriented: unbounded web of information, etc. But Europeana needs to enforce constraints on the data it receives  Data that meets basic Europeana function requirements • An Aggregation should always have an edm:aggregatedCHO • There must be exactly one edm:type -- the value must be TEXT, VIDEO, SOUND, IMAGE or 3D  Data quality criteria • A ProvidedCHO should have at least a dc:title or a dc:description We need specs for validation that are easily shareable, both for humans and machines
  • 12. EDM Mapping Guidelines  Document written after the EDM Definitions  Tries to formulate clearer instructions for Europeana providers  Template-based, e.g. for provider’s Aggregation: property value type cardinality
  • 13. Machine-readable specs as OWL ontologies? OWL is good for writing constraints, but not for validation! Quite OK  “Value types” via owl:ObjectProperty owl:DatatypeProperty in OWL(DL)  Data ranges (TEXT-VIDEO-SOUND-IMAGE-3D) Less ok:  Object domain and ranges  (qualified) cardinality axioms Including combinations: (either isShownBy OR isShownAt is mandatory)
  • 14. We’ve created an OWL version of EDM […] <owl:equivalentClass> <owl:Restriction> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> <owl:onProperty rdf:resource="&edm;aggregatedCHO"/> </owl:Restriction> </owl:equivalentClass> […] OWL? https://github.com/europeana/corelib/blob/master/c orelib-solr-definitions/src/main/resources/eu/rdf/ But these are not really validation axioms And it’s bad practice to add semantics to classes and properties that already exist, such as ore:Aggregation (let’s be honest: we were not ready for full RDF/OWL compatibility anyway…)
  • 15. EDM is implemented by an XML Schema (for RDF data!) […] <sequence> <element ref="edm:aggregatedCHO" maxOccurs="1" minOccurs="1"/> <element ref="edm:dataProvider" maxOccurs="1" minOccurs="1"/> <element ref="edm:isShownAt" maxOccurs="1" minOccurs="0"/> <element ref="edm:isShownBy" maxOccurs="1" minOccurs="0"/> <element ref="edm:object" maxOccurs="1" minOccurs="0"/> <element ref="edm:provider" maxOccurs="1" minOccurs="1"/> <element ref="dc:rights" maxOccurs="unbounded" minOccurs="0"/> <element ref="edm:rights" maxOccurs="1" minOccurs="1"/> </sequence> […] XML Schema
  • 16. And Schematron rules: […] <sch:pattern name="Either Is shownby or is shownat should be present"> <sch:rule context="ore:Aggregation"> <sch:assert test="edm:isShownAt or edm:isShownBy"> [Error message] </sch:assert> </sch:rule> </sch:pattern> XML Schema
  • 17. XML Schema: not ideal!  Specific to a syntax  Document-centric approach to validation Back to square one: records!  Forces us to enumerate the attributes with extra constraints, especially order of elements It’s really a super-closed world  Schematron does slightly better, but then we have two constraint languages co-existing in a same implementation
  • 18. EDM as a “real” application profile?  It is an application profile, already: mixing several vocabularies, adding specific constraints  Documentation includes definitions with constraints and examples  Interpretation of constraint in APs fit quite well • AP constraints are expressed on the data • Europeana needs dataset-level validation, mostly
  • 19. EDM as a real application profile? A fragment in DSP XML <DescriptionTemplate ID=”aggregation" standalone=”yes"> <ResourceClass>ore:Aggregation</ResourceClass> <StatementTemplate minOccurs="1" maxOccurs="1”> <Property>edm:aggregatedCHO</Property> </StatementTemplate> <StatementTemplate minOccurs="1”> <Property>edm:isShownBy</Property> <Property>edm:isShownAt</Property> </StatementTemplate> </DescriptionTemplate> http://dublincore.org/documents/dc-dsp/
  • 20. Could be converted to other constraint checking formalisms (1/2): SPIN SPARQL Inferencing Notation http://spinrdf.org ore:Aggregation spin:constraint [ a sp:Ask ; sp:text """ # either isShownBy or isShownAt must be present ASK WHERE { {?this isShownBy ?image } UNION {?this isShownBy ?page } }""" ] . Issue: still looks like adding semantics to ore:Aggregation in general…
  • 21. Could be converted to other constraint checking formalisms (1/2): Stardog ICV Integrity Constraint Validation http://stardog.com/docs/sdp/ Class: ore:Aggregation SubClassOf: exactly 1 edm:aggregatedCHO Class: ore:Aggregation SubClassOf: min 1 edm:isShownBy or min 1 edm:isShownAt Note: this is OWL2’s ‘Manchester Syntax’ Stardog accepts OWL, SWRL and SPARQL, uses SPARQL as back-end Issue: still looks like adding semantics to ore:Aggregation in general…
  • 22. Conclusions Europeana requirements seem to be met by the AP approach, if this AP approach is matched with SPARQL constraints Much better than to try to partially catch constraints in OWL and XML+Schematron as isolated machine-readable specs Needs further testing incl. trying to express all constraints with DSP and SPARQL queries (with or without the help of a higher-level language) An area that needs maturation Maintainers (like us) may have validation specs in various forms DSP is not flying, RDF validation still worthy of workshops! https://www.w3.org/2012/12/rdf-val/

Notas del editor

  1. Special session page: http://dcevents.dublincore.org/IntConf/index/pages/view/APaltOO
  2. View the object at: http://www.europeana.eu/portal/record/09102/_CM_0161930.html
  3. &quot;application profile” seen a bit as a binary relation between two vocabularies, ignoring what may happen beside the vocabulary that is being re-used (i.e. whether the AP uses other elements and whether these new elements are re-used from third-party contexts or newly coined).