Foundations of linked data - Cheatsheet
Definition und Bedeutung von Linked Data
Definition:
Verknüpfte Daten, wobei Daten so veröffentlicht werden, dass sie maschinenlesbar und miteinander verknüpfbar sind.
Details:
- Nutzung des RDF-Standards (Resource Description Framework)
- Jeder Datenpunkt erhält eine eindeutige URI
- Fördert die Interoperabilität und Wiederverwendbarkeit von Daten
- Unterstützt das Semantic Web
- Basiert auf vier Prinzipien von Tim Berners-Lee
Best Practices und Prinzipien von Linked Data
Definition:
Leitlinien für die Erstellung und Veröffentlichung verknüpfter Daten im Web zur Maximierung ihrer Auffindbarkeit und Nutzbarkeit.
Details:
- Nutze URI als Bezeichner für entitäten.
- Mache Daten über HTTP-URIs zugänglich.
- Stelle nützliche Informationen bereit, wenn URIs aufgelöst werden.
- Verlinke zu anderen URIs, um das Netz der Daten zu erweitern.
- Halte an RDF und SPARQL als grundlegenden Standards fest.
Grundlegende Struktur von RDF-Triplets (Subjekt, Prädikat, Objekt)
Definition:
RDF-Triplets bestehen aus Subjekt, Prädikat und Objekt, die zusammen eine Aussage in einer Wissensdatenbank repräsentieren.
Details:
- Subjekt: Das Subjekt ist die Entität, über die eine Aussage gemacht wird. Es wird durch eine URI repräsentiert.
- Prädikat: Das Prädikat definiert die Art der Beziehung oder Eigenschaft zwischen Subjekt und Objekt. Auch durch eine URI repräsentiert.
- Objekt: Das Objekt ist die Entität oder der Wert, der mit dem Subjekt verbunden ist. Kann eine URI oder ein Literal (z.B. String, Zahl) sein.
- Beispieltriplet:
(, , )
Syntaxen für RDF: Turtle, RDF/XML, JSON-LD
Definition:
Syntaxen für RDF: Turtle, RDF/XML, JSON-LD
Details:
- Turtle: Textform, lesbar, schreibt Subjekte und Prädikate für mehrere Tripel einmal, Präfixe möglich
- RDF/XML: XML-basierte Syntax, maschinenlesbar, schwerer manuell zu lesen
- JSON-LD: JSON-basiert, kompatibel mit existierenden JSON-Anwendungen, lesbar, strukturiert
- Triple: \(Subjekt, Prädikat, Objekt\)
- Präfixe: Erlauben kürzere Darstellung von URIs
- Anwendungsbeispiel Turtle: \(@prefix foaf: . \)
Grundlagen und Syntax von SPARQL-Abfragen
Definition:
SPARQL (SPARQL Protocol and RDF Query Language) ist eine Abfragesprache und ein Protokoll für RDF (Resource Description Framework) Daten.
Details:
- SPARQL-Abfragen bestehen aus einer Kopfzeile und einem WHERE-Block.
- SELECT: Liste der zurückzugebenden Variablen.
- WHERE: Muster, das auf die RDF-Datenbank angewendet wird.
- FILTER: Bedingungen, die Ergebnisse einschränken oder filtern.
- Beispielabfrage: \[ \text{SELECT ?name WHERE { ?person ?name } } \]
- Bindungen: Variablen erhalten Werte aus den RDF-Triple.
- Aggregate-Funktionen: SUM, AVG, MAX, MIN, COUNT.
Modelierung von Wissen mittels Ontologien
Definition:
Methodik zur Darstellung komplexer Wissensstrukturen durch Definition von Entitäten, deren Eigenschaften und Beziehungen zueinander.
Details:
- Grundlegende Bausteine: Klassen (Konzepttypen), Instanzen (konkrete Objekte), Eigenschaften (Attribute und Beziehungen)
- Nutzen: Ermöglichung von Datenintegration, Interoperabilität und semantischer Datenverknüpfung
- Sprachen und Standards: RDF, OWL, SPARQL
- Wichtige Konzepte: Taxonomien, Klassenhierarchien, Regelwerke und Beschränkungen
- Anwendungsbereiche: Wissensmanagement, Semantic Web, natürliche Sprachverarbeitung (NLP)
Tools und Plattformen zur Ontologieentwicklung: Protege und OWL
Definition:
Werkzeuge und Plattformen zur Erstellung und Verwaltung von Ontologien innerhalb des Kontexts verknüpfter Daten.
Details:
- Protege: Open-Source-Ontologie-Editor, unterstützt Entwicklung, Visualisierung und Verwaltung von Ontologien.
- Ermöglicht Arbeiten mit RDF, RDFS und OWL.
- Beinhaltet Plug-Ins für Erweiterbarkeit.
- OWL (Web Ontology Language): Standard für die Erstellung von Ontologien im Web.
- Basierend auf RDF (Resource Description Framework).
- 3 Varianten: OWL Lite, OWL DL, OWL Full, jeweils unterschiedliche Komplexität und Ausdruckskraft.
- Nutzung zur Formulierung komplexer Klassen- und Attributrelationen.
Leistungsoptimierung und Skalierbarkeit von SPARQL-Abfragen
Definition:
Techniken und Strategien zur Verbesserung der Geschwindigkeit und Effizienz von SPARQL-Abfragen sowie deren Fähigkeit, mit wachsender Datenmenge umzugehen.
Details:
- Verwende Indizes, um den Zugriff auf Daten zu beschleunigen.
- Nutze Query Rewriting und Optimierungen wie Join-Optimierungen und Filterpushdowns.
- Setze Caching-Techniken ein, um häufige Abfragen schneller zu beantworten.
- Skalierungsstrategien: Verteile Daten horizontal (Sharding) und nutze parallele Verarbeitung.
- Vermeide unnötige Muster und Einschränkungen in Abfragen.
- Überwache und analysiere Abfrageperformanz mit Monitoring-Tools.
- Nutze spezialisierte SPARQL-Endpunkte und Triple Stores für bessere Leistung.