- doag.org · semantische technologien findet statt am/um 16. november 2011 um 9 uhr . die...

45

Upload: ngotram

Post on 17-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =
Page 2: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

<Insert Picture Here>

Ontologien und Semantische Netze aus Sicht der Oracle Datenbank

Karin Patenge | Oracle Deutschland B.V. & Co. KG | [email protected]

DOAG Konferenz 2011 | 16. November 2011 | Nürnberg

Page 3: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

<Insert Picture Here>

Agenda

• Motivation

• Semantische Netze: Warum eigentlich ...?

• Die W3C-Standards: RDF, OWL und andere

• Die RDF Engine in der Oracle-Datenbank

• Semantische Technologie nutzen

• Setup

• Daten laden

• Rulebases erstellen

• Abfragen

• Fragen & Antworten

• Weiterführende Informationen

Page 4: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Motivation und Konzepte

Page 5: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

“Semantic technologies include software standards

and methodologies that are aimed at providing more

explicit meaning from the information that’s at our

disposal.”

• The CIO’s Guide to Semantics • Dave McComb, Semantic Arts, Inc.

Page 6: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Herausforderungen in Bezug auf

Informationen in Unternehmen

Quelle: Oracle Kunde

Page 7: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Die Vision semantisch vernetzter Daten Kollaboratives Wissen

Netz von Informationen, welches von Maschinen intelligent verarbeitet werden kann.

•Intelligent

•Relevant

•Contextual

•Interconnected

•Solves Problems

•Answers Questions

•Easily Searchable

•Let Information follow you

Page 8: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Semantische Netze

• Warum also?

Page 9: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Semantische Netze Wozu eigentlich?

• Speicherung von "Experten-Wissen"

• Vielzahl verschiedener "Objekte"

• Ständige Erweiterungen/Veränderungen

• Hinterlegung von Folgerungen durch "Regeln"

• Ergänzung zu relationalen Tabellen

• Flexible Speicherung von Aussagen

• Nutzung automatischer Schlußfolgerungen

• Erweiterung von Abfragemöglichkeiten

Page 10: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Arbeit mit semantischen Netzen Typischer Workflow

• Entity Extraction & Transformation

• Modellierung der Ontologie

• Skripting (ETL)

Daten vorbereiten

Laden, Abfragen &

Schlußfolgern

Applikationen & Analyse

•Bulk Loader

•Rulebases erstellen

•Inferencing

•SQL & SPARQL Abfragen

•Skalierbarkeit & Sicherheit

•Semantischer Index

•Visualisierung

•Social Network Analyse

•Data Mining

•Link-Analyse

•Metadaten Registrierung

OLTP

Dokumente

RSS, Mail

andere

QUELLEN

Partner Werkzeuge

Partner / Oracle Werkzeuge

Page 11: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Semantische Netze Warum nun in der Datenbank ...?

• Kombination mit strukturierten Daten

• Expertenwissen im semantischen Netz

• Relationale Daten in Tabellen

• Beispiel:

• Semantisches Netz speichert Beziehungen zwischen

Personen (z.B. soziale Netze)

• Tabellen speichern die Kontaktdaten der Personen

In der Datenbank können die (semantischen)

Abfragemöglichkeiten einer Ontologie mit relationalen Tabellen kombiniert werden.

Semantische Netze lassen sich so noch besser nutzen.

Page 12: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Grundlegende Konzepte

• Alles, was beschrieben werden kann durch eine einzigartige

Beziehung zu etwas anderem

• Ulrike Schwinn ist auf der

DOAG Konferenz

• Die DOAG Konferenz findet statt

in Nürnberg

• Karin Patenge hält einen Vortrag

zu Semantischen Technologien

• S-P-O wird “Triple”

genannt

• Triples müssen eindeutig

sein

• Sichergestellt über

Uniform Resource Identifier (URI)

Subjekt (S) Prädikat (P) Objekt (O)

Ulrike

Schwinn

ist auf DOAG Konferenz

DOAG

Konferenz

findet statt in Nürnberg

DOAG Ist Veranstalter

der

DOAG Konferenz

Karin

Patenge

hält einen

Vortrag zu

Semantischen

Technologien

Hans Klein ist angemeldet

für Vortrag zu

Semantischen

Technologien

Semantische

Technologien

findet statt

am/um

16. November

2011 um 9 Uhr

Page 13: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Die W3C-Standards

RDF, OWL und andere

Page 14: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

RDF Grundlagen

• RDF = Resource Description Framework

• W3C-Standard

• Beziehungen ...

• Subjekt

• Prädikat

• Objekt

Subjekt Prädikat Objekt

Friedrich I. Preussen König von

Page 15: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

RDF Datenmodell Grundlagen

• Datenmodellierung als flexibles Netzwerk

• Knoten und gerichtete Graphen

• Subjekte und Objekt als Knoten

• Prädikate als gerichtete Graphen

Friedrich I. Preussen König von

Friedrich Wilhelm I.

Page 16: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

RDF Datenmodell Auszeichnungssprachen

• XML: RDF Schema

• N-Triples

(Flat files)

Page 17: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

RDF ... ist nicht alles Technologie-Stack für das Semantic Web

• RDF: Grundliegende

Beschreibungssprache

• Aussagen (Triples)

• Subject, Predicate, Object

• OWL: Modellierungssprache

für semantische Netze

• Klassendefinitionen

• Kardinalitäten

Page 18: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

OWL: Ontology Web Language

• Erweiterung von RDF

• Modellierung von ...

• Klassen

• Eigenschaften

• Domänen

• Vererbung

• Synonyme

• ...

Page 19: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Die RDF Engine in der Oracle-Datenbank

Page 20: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

RDF und die Oracle-Datenbank

• Implementierung ab Oracle10gR2

• Bestandteil der Spatial Option

• OWL-Unterstützung ab Oracle11g

• Grundlage: Spatial Network Data Model

• Datenspeicherung als

Netzwerk

• Nutzung der

Netzwerkalgorithmen

Page 21: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Begriffe

• RDF Network

• RDF Model

• RDF Query

• Rulebase (Inferencing)

• Rules Index (Entailment)

Page 22: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

RDF-Daten in der Oracle Datenbank Speicherung von "Triples"

• Netzwerk-Datenmodell • Subjekt und Objekt = Knoten im Netzwerk

• Prädikate = Graphen im Netzwerk

• Erlaubte Knotentypen ... • URI's

• Einfache Literale, 'typed'-Literale

• Leere Knoten

• Voraussetzung zur Speicherung eines Triples • Subjekt = URI oder Leerer Knoten

• Prädikat = URI

• Objekt = Beliebig: URI, Literal, Leerer Knoten

Page 23: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Daten-Layout

• Datenspeicherung in Systemtabellen

• Erzeugt durch

• SEM_APIS.CREATE_SEM_NETWORK (Oracle11g)

• SDO_RDF.CREATE_RDF_NETWORK (Oracle10g)

• Eigentümer: MDSYS

• Zugriff über "Referenzen-Tabelle" im User-Schema

Tablespace RDFDATA Tablespace USERS

Subjekt

Prädikat

Objekt

Referenzen-Tabelle

Page 24: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Semantische Technologien nutzen

Page 25: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle RDF-Engine Am Beispiel „Hohenzollern Familie"

Friedrich I. Elisabeth Henriette von Hessen-Kassel

Sophie Charlotte von Hannover

Luise Dorothee

Friedrich Wilhelm I.

Bruder von

Sophie Dorothea von Hannover

... Elisabeth Christine von Braunschweig-Bevern

Preussen

Männlich

Friedrich II.

Friedrich August

Weiblich Vater von Mutter von

Friedrich Wilhelm II.

König von

Onkel von

verheiratet mit

Friedrich Ludwig

Page 26: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Schritt 1

• Erstellen des RDF Netzwerks

• Als DBA und als einmalige Aktion

• Eigene Tablespace empfohlen -- 1. Default Tablespace einrichten

drop tablespace rdf_data including contents and datafiles;

create tablespace rdf_data

datafile '/oracle/u02/ORCL/rdf_data01.dbf' size 128M reuse

autoextend on next 64M maxsize unlimited

segment space management auto;

-- 2. Temp Tablespace einrichten

drop tablespace rdf_temp including contents and datafiles;

create temporary tablespace rdf_temp

tempfile '/oracle/u02/ORCL/rdf_temp01.dbf' size 128M reuse

autoextend on next 32M maxsize unlimited;

begin

execute sem_apis.create_sem_network(tablespace_name => 'rdf_data');

end;

Page 27: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Schritt 2

• Tabelle erstellen

• Speicherung von Referenzen auf die RDF-Daten

Datentyp SDO_RDF_TRIPLE_S

• ID-Spalte (Primary Key) empfohlen

-- Tabelle für Triples anlegen

create table hohenzollern_rdf_data (

id number,

triple sdo_rdf_triple_s,

constraint pk_hohenzollern_triple primary key (id)

);

Page 28: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Schritt 3

• RDF Modell erstellen

• Angabe der "Referenzen-Tabelle"

-- Tabelle für Triples anlegen

create table hohenzollern_rdf_data (

id number,

triple sdo_rdf_triple_s,

constraint pk_hohenzollern_triple primary key (id)

);

-- RDF Modell erstellen

begin

sem_apis.create_sem_model(

model_name => 'hohenzollern',

table_name => 'hohenzollern_rdf_data',

column_name => 'triple');

end;

Page 29: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Schritt 4

• Daten laden

• 1. Variante: SQL Insert

• 2. Variante: N-Triple*-Loader

• 3. Variante: SQL*Loader (Bulk load)

„Friedrich I" (http://www.example.org/hohenzollern/Friedrich_I) ist Vater (http://www.example.org/hohenzollern/fatherOf) von „Friedrich Wilhelm I" (http://www.example.org/hohenzollern/Friedrich_Wilhelm_I)

INSERT INTO hohenzollern_rdf_data (id, triple) VALUES (1,

SDO_RDF_TRIPLE_S('hohenzollern',

'http://www.example.org/hohenzollern/Friedrich_I', -- Subjekt

'http://www.example.org/hohenzollern/fatherOf', -- Prädikat

'http://www.example.org/hohenzollern/Friedrich_Wilhelm_I')); -- Objekt

* http://www.w3.org/TR/rdftestcases/#ntrip_grammar

-- Laden über SQL*Loader

sqlldr userid=nciuser/nciuser

control=%ORACLE_HOME%/md/demo/network/rdf_demos/bulkload.ctl

data=nci_z.nt direct=true skip=0 load=1000000 discardmax=0 bad=d0.bad

discard=d0.rej log=d0.log errors=100000000

Page 30: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Daten laden über Bulk Loader

• 3. Variante: Empfohlen • Daten in Staging Tabelle laden (bspw. SQL*Loader)

• SEM_APIS.BULK_LOAD_FROM_STAGING_TABLE

-- Daten laden in Staging Tabelle

drop table stable;

create table stable (

RDF$STC_sub varchar2(4000) not null,

RDF$STC_pred varchar2(4000) not null,

RDF$STC_obj varchar2(4000) not null,

RDF$STC_sub_ext varchar2(64),

RDF$STC_pred_ext varchar2(64),

RDF$STC_obj_ext varchar2(64),

RDF$STC_canon_ext varchar2(64)

);

-- National Cancer Institute (NCI) Daten aus Staging in RDF Tabelle

begin

sem_apis.bulk_load_from_staging_table(

'nci', -- Model name

'nciuser', -- Table owner

'stable'); -- Table name

end;

Page 31: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Ergebnis Daten laden über Bulk Loader

Page 32: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Schritt 5

• Geladene Daten ansehen

• Abfrage mit SQL ...

• GET_TRIPLE()

• GET_SUBJECT()

• GET_PROPERTY()

• GET_OBJECT()

-- Einfache Abfragen

select sem_apis.get_model_id('nci') as model_id from dual;

select a.triple.get_triple() AS triple FROM nci_rdf_data a;

select distinct s.triple.get_subject() AS subject FROM nci_rdf_data s;

select distinct p.triple.get_property() AS property FROM nci_rdf_data p;

select distinct o.triple.get_object() AS obj FROM nci_rdf_data o;

Page 33: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Schritt 6

• Schlußfolgerungen erstellen (Inferencing)

• Rulebase = Hinterlegte logische Folgerungen

• Indizierbar ...

Friedrich I. Friedrich Wilhelm I.

Friedrich II. Vater von Vater von

Wenn

Dann

Friedrich I. Friedrich II. Großvater von

Page 34: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Rulebase erstellen

-- General inferencing im Hohenzollern Modell

begin

sem_apis.create_rulebase(

rulebase_name => 'hohenzollern_rb');

end;

insert into mdsys.semr_hohenzollern_rb values (

'grandparent_rule',

'(?x :fatherOf ?y) (?y :fatherOf ?z)',

NULL,

'(?x :grandParentOf ?z)',

sem_aliases(sem_alias('','http://www.example.org/hohenzollern/')));

insert into mdsys.semr_hohenzollern_rb values (

'uncle_rule',

'(?x :brotherOf> ?y)(?y :fatherOf ?z)',

NULL,

'(?x :uncleOf ?z)',

sem_aliases(sem_alias('','http://www.example.org/hohenzollern/')));

Page 35: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Oracle Spatial RDF Schritt 7

• Rulebase indizieren

• Vorberechnung der schlußgefolgerten Triple

• 11g: SEM_APIS.CREATE_ENTAILMENT

• 10g: SDO_RDF.CREATE_RULES_INDEX

-- Rulebase indizieren

begin

sem_apis.create_entailment(

'hohenzollern_rb_idx',

sem_models('hohenzollern'),

sem_rulebases('RDFS','hohenzollern_rb'));

-- RDFS inferencing

sem_apis.create_entailment(

'hohenzollern_rdfs_idx',

sem_models('hohenzollern'),

sem_rulebases('RDFS'));

end;

Page 36: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Abfragen im RDF Modell Ein Beispiel

• Table-Funktionen • 11g: SEM_MATCH

• 10g: SDO_RDF_MATCH

• Beispiel: Selektiere alle Großväter und deren Enkel

-- Select all grandfathers and their grandchildren from the family model.

-- Use inferencing from both the RDFS and family_rb rulebases.

SELECT

x grandfather,

y grandchild

FROM

TABLE(

SEM_MATCH(

'(?x :grandParentOf ?y) (?x rdf:type :Male)',

SEM_Models('hohenzollern'),

SEM_Rulebases('RDFS', 'hohenzollern_rb'),

SEM_ALIASES(SEM_ALIAS('','http://www.example.org/hohenzollern/')),

NULL));

Page 37: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Abfragen im RDF Modell Allgemein

Mit oder ohne Rulebases

– Berücksichtigung hinterlegter "Folgerungen"

Enge Integration mit SQL

– Verknüpfung/Join mit relationalen Daten

– Zusätzliche Filter per SQL

– Weiterverarbeitung der Ergebnisse

Page 38: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Ontologie-unterstützte Anfragen

• Semantische Abfragen

• ... auf relationalen Datenbeständen

• ... unter Nutzung einer Ontologie

• Anwendungsbeispiel:

• "Gib mir alle Patienten mit Knochenbrüchen"

• Die Tabelle enthält aber:

Oberschenkelbruch, Ellenbruch, etc.

• SQL-Operatoren

• SEM_RELATED

• SEM_DISTANCE

Page 39: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Ontologie-unterstützte Anfragen NCI Thesaurus

Tabelle mit Patientendaten

Ontologie

Page 40: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Ontologie-unterstützte Anfragen Abfrage und Ergebnis

select

id, name, round(age) as age,

diagnosis, SEM_DISTANCE(123)

from patients_data

where sem_related(

diagnosis,

'<http://www.w3.org/2000/01/rdf-schema#subClassOf>',

'<http://www.mindswap.org/2003/nciOncology.owl#Upper_Extremity_Fracture>',

sem_models('nci'), sem_rulebases('owlprime'), 123) = 1

ORDER BY SEM_DISTANCE(123) asc;

-- Semantischen Index auf Patienten-Tabelle

create index nciIndex on patients_data(diagnosis)

indextype is mdsys.sem_indextype parameters

('ONTOLOGY_MODEL(NCI), RULEBASE(owlprime)');

50 Zeilen abgerufen

-- Im Vergleich dazu:

select * from patients_data where diagnosis like '%Upper_Extremity_Fracture%';

-- 14 records

Page 41: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Zusammenfassung

• Oracle RDF Engine • Speicherung und Abfrage von Ontologien

• Folgerungen (Inference) durch indizierbare Regeln

• Flexibles Datenmodell: Ontologien können dynamisch wachsen

• Nutzen der Oracle-Datenbank • Einheitliche Administration

• Zugriff mit SQL

• Kombination mit relationalen Daten möglich

• Skalierbarkeit / Hochverfügbarkeit

Page 42: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =
Page 43: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =

Weiterführende Informationen

Page 45: - doag.org · Semantische Technologien findet statt am/um 16. November 2011 um 9 Uhr . Die W3C-Standards RDF, OWL und andere . RDF Grundlagen •RDF =