Transcript
Page 1: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

DCMI RDF Application Profile Task GroupStefanie RühleKIM WS 201531. März 2015

Page 2: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Overview

• Ausgangslage und Ziele der RDF AP Task Group

• Use Case Database

• Beispiel CS-6 Use of EDM in DDB

Page 3: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Exkurs: Was ist ein AP?

• Ein Metadatenprofil/Anwendungsprofil hält fest,– Was für Ressourcen beschrieben werden– Was für ein Vokabular dafür verwendet wird– Was für Regeln für dieses Vokabular gelten -> constraints

• Unterstützt die Nachnutzung von Metadaten einer lokalen Anwendung (closed world) außerhalb dieser Anwendung (open world)

– menschenlesbar -> Mapping -> pdf, xls– maschinenlesbar -> Validierung und Verarbeitung -> xsd

• „… all metadata is dirty, but you can do something about it.“– Source: Seth van Hooland and Ruben Verborgh 2014: Linked Data for Libraries,

Archives and Museums, p. 71

Page 4: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

DCMI RDF-Application Profile Task Group

• Wir wollen:– RDF Daten validieren– Vokabulare “maschinenlesbar” veröffentlichen– Regeln definieren, die für die Verwendung des Vokabulars in meiner lokalen

Anwendung gelten -> constraints, extensions, variations

• Wir brauchen:– Eine menschen- und maschinenlesbare Dokumentation

• Wir fragen uns:– Wie lassen sich validierbare Regeln für RDF definieren und was für Werkzeuge

und Prozesse können helfen?

Page 5: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

DCMI RDF AP TG – W3C RDF Data Shapes WG

• DCMI RDF Application Profile Task Group– wiki.dublincore.org/index.php/RDF_Application_Profiles

• RDF Validation Workshop 10-11 September 2013– www.w3.org/2012/12/rdf-val

• W3C RDF Data Shapes Working Group– „… produce a language for defining structural constraints on RDF graphs.“– „… will enable the definition of graph topologies for interface specification, code

development, and data verification.“– www.w3.org/2014/data-shapes

Page 6: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Aufgaben der RDF AP TG

• Case Studies -> verschiedene Projekte und Experten, die RDF-Daten (nach)nutzen

• Use Cases -> konkrete Anwendungsfälle aus diesen Case Studies

• Requirements -> konkrete Anforderungen an ein RDF AP, die sich aus den Use Cases ergeben

• Best Practices -> – prüfen, was für Lösungen bereits vorhanden sind– Lücken ausmachen und ggf. füllen– Prüfen anhand von eigenen Anwendungsprofilen

Page 7: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Database of Requirements on RDF Constraint Formulation and Validation

• lelystad.informatik.uni-mannheim.de/rdf-validation/

• Case Studies -> lelystad.informatik.uni-mannheim.de/rdf-validation/?q=case-studies

– CS-1 DPLA RDF Application Profile– CS-3 Digitised Manuscripts To Europeana (DM2E)– CS-4 Europeana Data Model (EDM)– CS-5 DINI AG KIM RDF Representation of Bibliographic Data– CS-6 Use of EDM in the Deutsche Digitale Bibliothek (DDB)– CS-18 OER World Map

• DC use cases -> lelystad.informatik.uni-mannheim.de/rdf-validation/?q=use-cases/dc-use-cases

• DC requirements -> lelystad.informatik.uni-mannheim.de/rdf-validation/?q=requirements/dc-requirements

Page 9: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

DDB-EDM vs. Europeana EDM

• Verwendung – Anwendung DDB– Anwendung Europeana

• DDB schränkt die Nutzung von Europeana properties ein– Z. B. in Europeana darf dcterms:provenance mit literal oder non-literal values

verwendet werden– In der DDB darf dcterms:provenance nur mit non-literal values verwendet

werden, die Instanzen der Klasse dcterms:ProvenanceStatement• Verwendet Dublin Core properties und classes, die in EDM nicht genutzt

werden– Z. B. in Europeana darf dc:subject mit literal or non-literal values verwendet

werden, dcterms:subject ist nicht erlaubt– In DDB darf dc:subject nur mit literal values verwendet werden und für non-literal

values muss dcterms:subject verwendet werden• Spezifische DDB properties und Werte für die Beschreibung der Hierarchien

Page 10: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Anwendung und Anwendungsprofil

• Funktionen, die meine Anforderung unterstützt– Finde alle Romane von Lew Tolstoi– Zeige mir alle Berichte über die letzte WM– …

• Funktionen, die mein Anwendungsprofil unterstützt– closed world

• Dokumenation für Design/Implementierung meiner Anwendung• Leitfaden für die Dateneingabe• Schema, um bei der Dateneingabe zu validieren

– open World• Dokumentation, die Aggregatoren informiert, was sie erwartet• Erleichtert Konversion/Mapping meiner Daten auf das „Aggregatorenformat“• Schema, um beim Datenimport zu validieren

• Application Profile -> Validation -> Application = Metadata Quality

Page 11: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Beispiel 1 – meine Anwendung

Use Case:Die Trefferliste zeigt die Titel meiner Ressourcen

Requirement:Ein edm:ProvidedCHO muss einen und nur einen dc:title haben

Page 12: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Beispiel 1 – mein Anwendungsprofil

• Requirement: Ein edm:ProvidedCHO muss ein dc:title haben

• AP Use Case UC-DDB-4: Domain Dependent Mandatory Properties– Abhängig von dem Subjekt eines Triple sind Properties verpflichtend. Z. B.

müssen Werke einen Titel haben oder Organisationen einen Namen.– http://lelystad.informatik.uni-mannheim.de/rdf-validation/?q=node/385

• AP Requirement R-68: Required Properties– Es muss möglich sein, zu prüfen, ob die Properties, die für eine bestimmte Art

von Subjekten verpflichtend sind, vorhanden sind. – http://lelystad.informatik.uni-mannheim.de/rdf-validation/?q=node/75

Page 13: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Beispiel 1 – mein Anwendungsprofil

• … one and only one …

• AP Use Case UC-DDB-5: Domain Dependent Non-repeatable Properties– Abhängig von dem Subjekt eines Triples sind properties nicht wiederholbar. Z. B.

dere Titel eines Werkes oder die Entstehungszeit– http://lelystad.informatik.uni-mannheim.de/rdf-validation/?q=node/388

• AP Requirement R-211: Cardinality constraints– Minimum, maximum. Es muss möglich sein, zu prüfen, ob Properties mehr als

einmal vorkommen.– http://lelystad.informatik.uni-mannheim.de/rdf-validation/?q=node/424

Page 14: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Beispiel 1 – mein Description Set Profile

Ein edm:ProvidedCHO braucht einen und nur einen Titel:

:pchoDescriptionTemplatea dsp:DescriptionTemplate ;dsp:minOccur "1" ;dsp:maxOccur "infinity" ;dsp:resourceClass edm:ProvidedCHO ;dsp:statementTemplate [

a dsp:LiteralStatementTemplate ;dsp:minOccur "1" ;dsp:maxOccur "1" ;dsp:property dc:title ] .

Page 15: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Beispiel 2 – meine Anwendung

Use Case:Wir verlinken Personen Entitäten mit Werken von diesen Personen

Requirements:•ein edm:Agent kann einen oder mehre edm:wasPresentAt haben•Das rdf:object von edm:wasPresentAt muss eine Instanz der Klasse edm:Event sein

Page 16: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Beispiel 2 – mein Anwendungsprofil

• Requirement: Ein edm:Agent kann ein oder mehr edm:wasPresentAt haben

• AP Use Case UC-Europeana-21: Recommended Properties– Abhängig vom Subjekt des Triple wird die Verwendung bestimmter Properties

empfohlen, um dadurch die Qualität der Daten zu verbessern. Z. B. sollte eine Buchbeschreibung auch Verlagsangaben enthalten

– http://lelystad.informatik.uni-mannheim.de/rdf-validation/?q=node/399

• AP Requirement R-72: Recommended Properties– Es muss möglich sein zu prüfen, ob empfohlene Properties vorhanden sind. – http://lelystad.informatik.uni-mannheim.de/rdf-validation/?q=node/79

Page 17: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Beispiel 2 – mein Anwendungsprofil

• … das Objekt des Triple muss eine Instanz der Klasse edm:Event sein.

• AP Use Case UC-12: Object Property Range– Abhängig von der Property muss das Objekt des Triples die Instanz einer

bestimmten Klasse sein, z. B, muss das Objekt der Property edm:wasPresentAt eine Instanz der Klasse edm:Event sein, das Objekt der Property dm2e:painter eine Instanz der Klasse foaf:Person.

– http://lelystad.informatik.uni-mannheim.de/rdf-validation/?q=UC-12-OBJECT-PROPERTY-RANGE

• AP Requirement R-28: Object Property Range– Es muss möglich sein zu prüfen, ob das Objekt einer Property eine Instanz einer

bestimmten Klasse ist.– http://lelystad.informatik.uni-mannheim.de/rdf-validation/?q=R-28-OBJECT-

PROPERTY-RANGE .

Page 18: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Beispiel 2: mein Description Set Profile

Ein edm:Agent sollte ein oder mehr edm:wasPresentAt und das Objekt des Triples muss eine Instanz der Klasse edm:Event sein.

:agentDescriptionTemplate a dsp:DescriptionTemplate ;dsp:minOccur 1 ;dsp:maxOccur "infinity" ;dsp:resourceClass edm:Agent ;dsp:statementTemplate [

a dsp:NonLiteralStatementTemplate ;dsp:maxOccur "infinity" ;dsp:property edm:wasPresentAt ;dsp:nonLiteralConstraint [

a dsp:NonLiteralConstraint ;dsp:valueClass edm:Event ] ].

Page 19: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Beispiel 3 – meine Anwendung

Use Case: Wir verlinken die verschiedenen hierarchischen Ebenen einer Ressource miteinander

Requirements:Wenn ein edm:ProvidedCHO die Property dc:type mit dem Wert illustration oder chapter oder volume hat•Muss mindestens ein dcterms:isPartOf vorhanden sein•Das Objekt dieses Triples muss eine Instanz der Klasse edm:ProvidedCHO sein.

Page 20: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Beispiel 3 – mein Anwendungsprofil

• Requirement: Wenn ein edm:ProvidedCHO die Property dc:type mit dem Wert illustration oder chapter oder volume hat, muss mindestens ein dcterms:isPartOf vorhanden sein.

• AP Use Case: – In Abhängigkeit von dem Objekt einer Property ist

eine andere Property verpflichtend

• AP Requirement:– Es muss möglich sein zu prüfen, ob abhängig von

dem Objekt eines Triples ein weiterer Triple mit einer bestimmten Property vorhanden ist.

Page 21: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Beispiel 3 – mein Anwendungsprofil

• das Objekt dieses Triples muss eine Instanz der Klasse edm:ProvidedCHO sein.

• AP Use Case UC-12: Object Property Range– Abhängig von der Property muss das Objekt des Triples

die Instanz einer bestimmten Klasse sein, z. B, muss das Objekt der Property dcterms:isPartOf eine Instanz der Klasse edm:ProvidedCHO sein.

– http://lelystad.informatik.uni-mannheim.de/rdf-validation/?q=UC-12-OBJECT-PROPERTY-RANGE

• AP Requirement R-28: Object Property Range– Es muss möglich sein zu prüfen, ob das Objekt einer

Property eine Instanz einer bestimmten Klasse ist.– http://lelystad.informatik.uni-mannheim.de/rdf-validation/?

q=R-28-OBJECT-PROPERTY-RANGE .

Page 22: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

[Anlass der Präsentation]

Beispiel 3 – mein Description Set Profile

:pchoDescriptionTemplatea dsp:DescriptionTemplate ;dsp:minOccur 1;dsp:maxOccur "infinity" ;dsp:resourceClass edm:ProvidedCHOdsp:statementTemplate [

a dsp:NonLiteralStatementTemplate ;dsp:minOccur "1" ;dsp:maxOccur "1" ;dsp:property dc:type ;dsp:nonLiteralConstraint [

a dsp:NonLiteralConstraint ;dsp:valueClass skos:Concept ;dsp:vocabularyEncodingScheme :volume, :chapter, :illustration, :periodical, :multivolume_work ] ;

dsp:statementTemplate [a dsp:NonLiteralStatementTemplate ;dsp:maxOccur "infinity" ;dsp:property dcterms:isPartOf ;dsp:nonLiteralConstraint [a dsp:NonLiteralConstraint ;dsp:valueClass edm:ProvidedCHO ] ] ] .

Page 23: DCMI RDF Application Profile Task Group Stefanie Rühle KIM WS 2015 31. März 2015

Vielen DankStefanie Rühle sruehle(a)sub.uni-goettingen.de