• Keine Ergebnisse gefunden

Semantic Web Sprachen I

N/A
N/A
Protected

Academic year: 2022

Aktie "Semantic Web Sprachen I "

Copied!
90
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Tutorial

Grundlagen des Semantic Web

Robert Tolksdorf, Elena Paslaru Bontas AG Netzbasierte Informationssysteme

http://nbi.inf.fu-berlin.de/lehre/0506/P_SW/

(2)

Terminkalender

Termin Thema Beschreibung 02.11 Semantic Web

Sprachen I RDF, RDFS Syntax und Semantik mit Beispielen

09.11

16.11 RDF(S)- Werkzeuge

„Programmierwerkzeuge: Jena API

„Anfragesprachen: SPARQL, RDQL

„Validatoren, Editoren, RDF-Datenbanken 23.11 Semantic Web

Sprachen II

OWL, SWRL Syntax und Semantik mit Beispielen

30.11 OWL/SWRL- Werkzeuge

OWL-Werkzeuge:

„Programmierwerkzeuge: Jena API

„Reasoning in OWL: Pellet, RACER

„Anfragesprachen: OWL-QL, RQL

„Validatoren, Editoren, Datenbanken SWRL-Werkzeuge:

„Reasoning in SWRL

„Editoren

(3)

Semantic Web Sprachen I

RDF und RDFS

(4)
(5)

Übersicht

„

Grundlagen: XML/XML-Schema

„

RDF: Syntax, Semantik, Datenmodell

„

Erweiterung des RDF mit RDFS

„

RDFS: Syntax und Semantik

„

Beispiele

(6)

XML und XML

Schema

(7)

Grundlagen

„ Prinzip

… Trennung zwischen Struktur und Darstellung

„ Namensräume

… Verwendung mehrerer XML Schemata in einem Dokument ohne Namenskonflikte

„ XML DTD und XML Schema

… korrekte Dokumentstrukturen

„ Ersetzung des HTML durch

… Domänenspezifische Auszeichungssprachen (definiert in XML) z.B. MathML

… Abbildung von diesen Sprachen zu HTML (XSL)

(8)

Warum ist XML nicht ausreichend?

„ Trennung zwischen Struktur und Inhalt

… Notwendig weil Domänenwissen unterschiedlich strukturiert werden kann

… Notwendig um externe Dokumentstrukturen zu verstehen

„ Explizite Inhaltsdarstellung

… Notwendig um Wissen maschinen-lesbar darzustellen

(9)

Beispiel

„ Aussage: die Webseite „nbi.inf.fu-berlin.de“ wurde erstellt von Robert Tolksdorf.

Metainfo

nbi.inf.fu-berlin.de hat den Autor

Info

<Autor>

<uri> nbi.inf.fu-berlin.de </uri>

<name>Robert Tolksdorf</name>

</Autor>

<Document uri=“nbi.inf.fu-berlin.de”

<Autor>Robert Tolksdorf</Autor>

</Document>

1 2

<Document uri=“nbi.inf.fu-berlin.de” Creator=“Robert Tolksdorf”/>

3

(10)

RDF

(11)

RDF

„ RDF (Resource Description Framework)

„ Sprache zur Darstellung inhaltlicher Metadaten

„ Wie jede Sprache hat RDF

… Syntax (verschiedene XML Serialisierungsmöglichkeiten)

… Semantik (RDF Datenmodell)

„ Wie jede Web-Sprache hat RDF

… einen Namespace

(12)

Datenmodell

„ Gerichteter Graph: Knoten (Ressourcen), Kanten (Properties)

„ Ressourcen (RDF Resource)

… Alles worüber man Aussagen machen kann

… Identifiziert durch URIs (qualified URIs = URI + fragment identifier)

… Aussagen sind auch Ressourcen

„ Eigenschaften/Beziehungen (RDF Property)

… Verbinden Ressourcen miteinander oder Ressourcen zu Werten (RDF Literal)

„ Aussagen (RDF Statement)

… (Subjekt, Prädikat, Objekt)

… “Resource has Property with Value”

(13)

Beispiel

„ Aussage: die Webseite „nbi.inf.fu-berlin.de“ wurde erstellt von Robert Tolksdorf

Metainfo

nbi.inf.fu-berlin.de hat den Autor

Info

"nbi.inf.fu-berlin.de" Subjekt (Ressource) hat den Autor Prädikat (Ressource) Robert Tolksdorf Objekt (Wert oder

Ressource)

(14)

Beispiel (2)

nbi.inf.fu-berlin.de www.robert-tolksdorf.de/Robert

25

"RT"

Name

Alter

Semantic Web Geeignet für

eBusiness

Gesagt von Autor

RDF Ressourcen

RDF Literal

(15)

RDF Blank Nodes

„ Anonyme Ressourcen (haben keine URI)

„ Platzhalter für komplexe Objekte

„ Ressourcen von unbekannten Typ

„ Aussage: die Webseite „nbi.inf.fu-berlin.de“ wurde erstellt von jemanden/etwas mit dem Namen „RT“

und der Email-Adresse „rt@inf“

nbi.inf.fu-berlin.de x:_1

rt@inf

"RT"

Name

Email Autor

Blank Node

(16)

RDF Containers

„ Mengenobjekte (geordnet, ungeordnet, mit Duplikaten, ohne Duplikaten, offen)

„ Ermöglichen Aussagen über mehrere Ressourcen

„ Platzhalter für komplexe Mengenobjekte (vs. Blank Node)

(17)

Container-Typen

„ 3 Typen von Containern

… Bag ungeordnete Liste rdf:Bag

… Sequence geordnete Liste rdf:Seq

… Alternative eindeutiger Wert rdf:Alt

„ Containers sind auch RDF Ressourcen

„ Semantik: offene Mengen

… unbekannt ob weitere Elemente zu der Menge gehören

(18)

Beispiel

„ Aussage: die Webseite „nbi.inf.fu-berlin.de“ wurde erstellt von Robert Tolksdorf und Elena Paslaru und …

nbi.inf.fu-berlin.de

Autor-Container-URI

Autor

rdf:Bag

Elena Paslaru URI

www.robert-tolksdorf.de/Robert

rdf:type rdf:_1 rdf:_2

rdf:_3

(19)

Alternative Modellierung

nbi.inf.fu-berlin.de

Elena Paslaru URI

www.robert-tolksdorf.de/Robert

Autor Autor

Autor

(20)

Nutzung von RDF Containern

„ Bag

… Mitglieder einer Gruppe, Dateien in einem Verzeichnis

„ Seq

… Buch/Artikelautoren, Punkte in einer Tagesordnung

„ Alt

… document home and mirrors, mailing-list moderators

(21)

RDF Collections

„ Ähnlich zu Containern, aber geschlossen:

… Alle Elemente einer Menge sind spezifiziert

„ Zugriff auf einzelne Mengenelemente

… rekursiv

… first (erstes Element)

… rest (restliche Elemente)

… nil (leere Menge)

(22)

Beispiel

„ Aussage: Das Projekt „Semantic Web“ wird veranstaltet von Robert Tolksdorf und Elena Paslaru.

SWProjekt-URI

_x:1

Veranstalter

www.robert-tolksdorf.de/Robert

Elena Paslaru URI _x:2

rdf:nil

rdf:first

rdf:rest

Blank Node

Blank Node

rdf:first rdf:rest

(23)

Reifizierte Aussagen

„

Aussagen über Aussagen

„

Spezieller Konstrukt ( RDF Statement )

… Identifiziert explizit das Subjekt, Prädikat, Objekt einer Aussage

… Hat URI

(24)

Beispiel

„ Aussage: Robert Tolksdorf hat folgendes gesagt:

„Semantic Web ist geeignet für eBussiness“.

www.robert-tolksdorf.de/Robert

25

"RT"

Name

Alter

Semantic Web Geeignet für

eBusiness

Gesagt

RDF Statement

von

RDF Subject

(25)

RDF about

„ about

… direkte Angabe des URI

„ aboutEach

… URI eines Container

… Property auf alle Elemente angewendet

„ aboutEachPrefix

… URI Präfix

… Property auf alle Ressourcen mit dem Präfix angewendet

(26)

RDF ID

„ Fragment identifier (eindeutig im Dokument)

„ Abkürzung der vollständigen URI einer Ressource

„ Vollständiger Name zusammengesetzt aus:

… Base URI (xml:base = …)

… #

„ Beispiel

… Wert von rdf:ID

http://www.example.com/products#item123

rdf:ID

xml:base

(27)

RDF Datatype

„ spezifiziert den Datentyp eines Literals

„ XML-Schema Datentypen unterstützt

„ Spezieller Typ von RDF Literal

„ Beispiel (RDF/XML Syntax)

<name rdf:datatype="&xsd;string>RT</name>

(28)

RDF Syntax

„

Datenmodell

… Graphenstruktur: Knoten (Ressourcen, Werte), Kanten (Properties)

„

Verschiedene syntaktische Formate

… RDF/XML Syntax

… N3

…

(29)

Beispiel XML/RDF

<rdf:RDF>

<rdf:Description

about="http://nbi.inf.fu-berlin.de">

<Autor

rdf:resource=“http://robert.tolksdorf.de /Robert” />

</rdf:Description>

</rdf:RDF>

nbi.inf.fu-berlin.de www.robert-tolksdorf.de/Robert

Autor

Dokument-Header

(30)

Alternative

<rdf:RDF>

<rdf:Description about="http://nbi.inf.fu-berlin.de">

<Autor>

<NBIMitarbeiter

rdf:resource=“http://robert.tolksdorf.de/Robert”/>

</Autor>

</rdf:Description>

</rdf:RDF>

nbi.inf.fu-berlin.de www.robert-tolksdorf.de/Robert

Autor

NBIMitarbeiter

rdf:type_

(31)

Das gleiche in N3

nbi.inf.fu-berlin.de ns:Autor

www.robert-tolksdorf.de/Robert www.robert-tolksdorf.de/Robert

rdf:type ns:NBIMitarbeiter

nbi.inf.fu-berlin.de www.robert-tolksdorf.de/Robert

Autor

NBIMitarbeiter

rdf:type_

(32)

Warum ist RDF nicht ausreichend?

„ RDF

… Sprache für die Darstellung von Aussagen im Web

… definiert ein Datenmodel:

„ Ressourcen minimal typisiert

„ Semantik der Ressourcen minimal spezifiziert

„ Notwendig

… Erweiterung von RDF für die Beschreibung von semantisch komplexere Vokabularien

(33)

RDFS

(34)

Wichtige Konstrukte

„ Klassen

… Root-Class rdfs:Resource

… MetaClass rdfs:Class

… Literals rdfs:Literal

„ Properties

… rdfs:subclassOf

… rdfs:domain, rdfs:range

… rdf:type

… rdfs:label, rdfs:comment

(35)

Beispiel

rdfs:Resource

xyz:MotorVehicle rdfs:Class

s t s

t

xyz:Truck s

t

xyz:PassengerVehicle s = rdfs:subClassOf

t = rdf:type

xyz:Van

s

s

xyz:MiniVan s

s

t t

t

(36)

Bemerkungen

„ RDFS unterscheidet nicht zwischen

… Klassen und Properties

… Object und DatatypeProperties

… Klassen und Instanzen

„ RDFS ordnet RDF-Konstrukte weitere Typen zu

… rdfs:Class, rdfs:Property etc.

„ Beispiele

… rdf:Statement ist vom Typ rdfs:Class

… Die Property rdf:type ist eine Subklasse der Klasse rdfs:Property

(37)

rdf:type

„

spezifiziert Typzugehörigkeit

„

Wert ist immer eine Ressource, die einen Typen definiert

… Vordefinierte Typen (z. B. RDF Statements)

… Nutzerdefinierte Typen (z. B.

NBIMitarbeiter)

„

Nicht mit rdfs:subClassOf zu

verwechseln…

(38)

rdfs:subClassOf

„ spezifiziert

Spezialisierung und

Generalisierung zwischen Klassen

„ Nicht mit

rdf:type zu verwechseln…

rdfs:Resource

xyz:MotorVehicle rdfs:Class

s t s

t

xyz:Truck s

t

xyz:PassengerVehicle s = rdfs:subClassOf

t = rdf:type

xyz:Van

s

s

xyz:MiniVan s

s

t t

t

(39)

rdfs:Class

<rdfs:Class id=“MiniVan1”>

<rdfs:label>MiniVan</rdfs:label>

<rdfs:subClassOf

rdf:resource=„xyz:Van“/>

<rdfs:subClassOf

rdf:resource=„xyz:PassengerVehicle“/

>

</rdfs:Class>

(40)

Wichtige Klassen

„

rdfs:Resource (alle Ressourcen)

„

rdfs:Literal (alle Strings)

„

rdfs:Class (alle Klassen)

… ist eine rdfs:Resource, da RDFS in RDF definiert ist

„

rdfs:Property (alle Properties)

„

rdf:Statement (alle reifizierten

Aussagen)

(41)

rdfs:Property

<rdfs:Property id=“Autor”>

<rdfs:domain rdf:resource=“#Person”/>

<rdfs:range rdf:resource=“#Webseite”/>

<rdfs:Property>

Webseite Person

Autor

(42)

Wichtige Properties

„

rdfs:subClassOf

… Verbindet Unterklassen zu Klassen

„

rdfs:subPropertyOf

… Verbindet Unterproperty zu Property

„

rdfs:label

… Verbindet Ressource zu Name

„

rdfs:comment

… Verbindet Ressource zu Kommentar

(43)

Erweitertes Beispiel

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<rdfs:Class rdf:ID="Person">

<rdfs:comment>Person Class</rdfs:comment>

<rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax- ns#Resource"/>

</rdfs:Class>

<rdfs:Class rdf:ID="Student">

<rdfs:comment>Student Class</rdfs:comment>

<rdfs:subClassOf rdf:resource="#Person"/>

</rdfs:Class>

<rdfs:Class rdf:ID="Teacher">

<rdfs:comment>Teacher Class</rdfs:comment>

<rdfs:subClassOf rdf:resource="#Person"/>

</rdfs:Class>

<rdfs:Class rdf:ID="Course">

<rdfs:comment>Course Class</rdfs:comment>

<rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax- ns#Resource"/>

</rdfs:Class>

<rdf:Property rdf:ID="teacher">

<rdfs:comment>Teacher of a course</rdfs:comment>

<rdfs:domain rdf:resource="#Course"/>

<rdfs:range rdf:resource="#Teacher"/>

</rdf:Property>

<rdf:Property rdf:ID="name">

<rdfs:comment>Name of a Person or Course</rdfs:comment>

<rdfs:domain rdf:resource="#Person"/>

<rdfs:domain rdf:resource="#Course"/>

<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal"/>

</rdf:Property>

</rdf:RDF>

(44)

RDF(S) und das Semantic Web

Instance Data

Ontologie- sprache

RDFS RDF

zDaten sind formalisiert in einer Ontologiesprache

zRDFS ist eine Ontologiesprache

zAlle anderen Ontologiesprachen erweitern RDFS

zAlle Sprachen nutzen das RDF Datenmodell

(45)

Zusammenfassung

„ XML und XML-Schema

„ RDF

… Vorteile gegenüber XML

… Datenmodell

… RDF/XML und N3 Syntax

„ RDFS

… Vorteile gegenüber RDF

… Datenmodell

… Wichtige Klassen und Properties

„ Erweitertes Beispiel

(46)

Literatur

„

Resource Description Framework (RDF) http://www.w3.org/RDF/

(gesehen am 21.10.2005)

„

RDF Vocabulary Description

Language 1.0: RDF Schema (W3C

Recommendation 10 February 2004), http://www.w3.org/TR/rdf-schema/

(gesehen am 21.10.2005)

(47)

Tutorial

Grundlagen des Semantic Web

Robert Tolksdorf, Elena Paslaru Bontas AG Netzbasierte Informationssysteme

http://nbi.inf.fu-berlin.de/lehre/0506/P_SW/

(48)

Terminkalender

Termin Thema Beschreibung

02.11 Semantic Web

Sprachen I RDF, RDFS Syntax und Semantik mit Beispielen 09.11 Anwendungen des

Semantic Web Präsentation Projekt Reisewissen 16.11 RDF(S)-Werkzeuge „Programmierwerkzeuge: Jena API

„Anfragesprachen: SPARQL, RDQL

„Validatoren, Editoren, RDF-Datenbanken 23.11 Semantic Web

Sprachen II

OWL, SWRL Syntax und Semantik mit Beispielen 30.11 OWL/SWRL-

Werkzeuge

OWL-Werkzeuge:

„Programmierwerkzeuge: Jena API

„Reasoning in OWL: Pellet, RACER

„Anfragesprachen: OWL-QL, RQL

„Validatoren, Editoren, Datenbanken SWRL-Werkzeuge:

„Reasoning in SWRL

„Editoren

(49)

Semantic Web Werkzeuge I

RDF und RDFS

(50)
(51)

Übersicht Werkzeuge

„

Editoren, Validatoren, Parser

„

Automatische Generierung von RDF Daten

„

RDF Speicherung

„

RDF(S) Anfragesprachen

„

APIs

(52)

RDF Editoren IsaViz

„

IsaViz (Xerox)

…RDF/XML, N3, N-triple …

…Graphen-basiert

…Java-basiert

…http://www.w3.org/2001/11/IsaViz/

(53)
(54)

RDF Editoren Protégé-2000

„

Protégé-2000 (Stanford University)

…RDF/XML

…GUI

…Java-basiert

…Unterstützt auch OWL

…http://protege.stanford.edu/overview/

(55)
(56)

RDF Editoren

SemanticWorks

„

SemanticWorks (Altova)

…RDF/XML, N3

…GUI und Visualisierung

…Unterstützt auch OWL

…Kommerziell (free trial verfügbar)

…http://www.altova.com/products_seman ticworks.html

(57)
(58)

RDF Validator

„

W3C RDF(S) Validation Service

…http://www.w3.org/RDF/Validator/

(59)
(60)

RDF Parser

„

Jena2 (Java)

„

Raptor RDF Parser Toolkit (C Bibliothek)

„

RAP (PHP)

„

Drive RDF API for C# (.NET)

„

SWI-Prolog

(61)

PiggyBank

“Piggy Bank is an extension to the Firefox

Web browser that turns it into a Semantic Web browser, letting you make use of

existing information on the Web in more useful and flexible ways”

(Webseite http://simile.mit.edu/piggy- bank/, gesehen November 2005)

(62)

PiggyBank (II)

„

Screen Scrapers

…Software zur Extrahierung von Informationen von Web-Seiten

…Implementierts als XSL templates oder in Javascript

„

Screen Scrapers Bibliothek

(63)
(64)
(65)

RDF Speicherung Sesame

„ Sesame (2.0) (Aduna & Co)

… Repository für RDF(S)-Daten

… Query-Engine (SeRQL, SPARQL, RQL)

… Inference-Engine (OWLIM)

… Sesame API (Java)

… Client/Server Architektur

… http://www.openrdf.org/doc/sesame/users/use rguide.html#chapter-introduction

(66)

RDF Speicherung RDFStore

„

RDFStore

…Repository für RDF(S)-Daten

…Parser (RDF/XML, N3)

…Query-Engine (RDQL)

…API (PHP)

…http://rdfstore.sourceforge.net/

(67)

RDF Speicherung Protégé-2000

„

Protégé-2000 (Stanford University)

…Repository für RDF(S)-Daten

…Query-Engine (RDQL,SPARQL)

…Protégé API (Java)

…http://protege.stanford.edu/overview/

(68)

RDF Speicherung Jena2

„

Jena 2 (HP)

…Repository für RDF(S)-Daten

…Query-Engine (RDQL, SPARQL, RQL)

…API (Java)

…http://jena.sourceforge.net/

(69)

RDF(S) Anfragesprachen

„ RDF-XML Syntax basierend

… in Anlehnung an XQuery: RDF-Query und RQuery

… Beispiel: Suche alle Elemente die den /Autor/Name “RT” haben

„ S-P-O Triple-basierend

… RDQL, Triple, SPARQL

… Beispiel: Suche alle Aussagen wo das Subjekt

"…" und das Objekt "…" ist

(70)

RDF(S) Anfragesprachen (II)

„

RDFS basierend

…RQL, SeRQL

…Beispiel: Finde Ressourcen der Klasse

“Autor"

(71)

RDQL

„ SQL-ähnliche Syntax (SELECT, FROM, WHERE, USING)

… SELECT Variablen der Ergebnismenge

… FROM RDF-Quelle(n) lokal/URL

… WHERE Tripel Muster die erfüllt werden müssen

… AND zusätzlicher Filter für Variablenwerte

… USING Namensraumangaben

„ Ergebnis: Variablen-Feld (Array)

„ Implementiert u.a. in

… Jena, RDFStore, RAP - RDF API for PHP

(72)

RDQL Beispiel

SELECT ?resource

WHERE (?resource ex:alter ?age) AND ?age >= 24

USING ex FOR

<http://example.org/thisexample

.rdf#>

(73)

SPARQL

„

Work in progress bei der W3C (21 July last working draft)

„

Ähnlich zu RDQL

„

Erweiterungen für

…Gleichzeitige Bearbeitung mehrerer RDF-Graphen

…Named Graphs

…Operatoren

(74)

SPARQL Implementierungen

„

Protégé-2000

„

Sesame

„

Jena (ARQ)

(75)

SPARQL Beispiel

(76)

SeRQL

„ Sesame Ressource Query Language

„ Formale Interpretation des RDF Graphen (semantisch)

„ SQL-ähnliche Syntax (SELECT, FROM, WHERE, USING NAMESPACE)

… SELECT (DISTINCT) Variablen der Ergebnismenge (X, $C,

@P,*)

… FROM Liste von Pfad Ausdrücken

… WHERE Bedingungen für Variablen, Vergleiche etc.

… USING NAMESPACE

„ Kombinierte Anfragen über UNION, INTERSECT, MINUS

„ Ergebnis: RDF-XML Syntax

(77)

SeRQL Beispiel

SELECT Datum, Title, Name, Email FROM {Student} DC:date {Datum};

DC:title {Title};

vCard:FN {Name};

vCard:EMAIL {} rdf:value {Email}

WHERE Datum like "2004-11-*"

USING NAMESPACE

vCard = <http://www.w3.org/2001/vcard- rdf/3.0#>,

DC = <http://purl.org/dc/elements/1.1/>

(78)

RDF(S) APIs

„

Jena2

„

Sesame

„

RAP

(79)

Jena2

„ Jena Semantic Web Framework

… Entwicklung und Management von Semantic Web Daten (RDF, RDFS, OWL)

„ Erstellung, Speicherung und Verwaltung von RDF Graphen (genannt RDF Modelle)

„ Persistente Speicherung

„ Reasoning (über DIG Schnittstelle)

„ Anfragesprachen und –engines: RDQL,SPARQL

… De facto die populärste API für Semantic Web

(80)

Das wichtigste für RDF

„

com.hp.hpl.jena.rdf.model:

…Wichtigste Klassen und Methoden für den Umgang mit RDF Daten

„

com.hp.hpl.jena.tutorial

…Beispiele

(81)

com.hp.hpl.jena.rdf.model RDF Modelle

// some definitions

static String personURI =

"http://somewhere/JohnSmith";

static String fullName = "John Smith";

//create an empty Model Model model =

ModelFactory.createDefaultModel();

//create the resource Resource johnSmith =

model.createResource(personURI);

// add the property

johnSmith.addProperty(VCARD.FN, fullName);

(82)

Class Model Factory

„ Modelltypen:

… DefaultModel: RDF

… RDFS Model

… OWL Model

… InfModel

„ Model-Spezifikationen

… Beschreiben die Eigenschaften eines Modells

„ http://jena.sourceforge.net/how- to/model-factory.html

(83)

com.hp.hpl.jena.rdf.model Anfragen

ResIterator iter =

model.listSubjectsWithProperty(

VCARD.FN);

while (iter.hasNext()) { Resource r =

iter.nextResource(); ... }

(84)

Einlesen von RDF Daten

//create an empty model

Model model = ModelFactory.createDefaultModel();

//use the FileManager to find the input file InputStream in = FileManager.get().open(

inputFileName );

if (in == null) {

throw new IllegalArgumentException( "File: " + inputFileName + " not found"); }

//read the RDF/XML file model.read(in, "");

//write it to standard out model.write(System.out);

(85)

Speichern von RDF Daten

//now write the model in XML form to a file

model.write(System.out);

(86)

Modell-Management

„ union

model1.read(new

InputStreamReader(in1), "");

model2.read(new

InputStreamReader(in2), "");

model = model1.union(model2);

„ difference

„ intersection

(87)

RDF Statements

Model StmtIterator iter = model.listStatements();

while (iter.hasNext()) {

Statement stmt = iter.nextStatement();

Resource subject = stmt.getSubject();

Property predicate = stmt.getPredicate();

RDFNode object = stmt.getObject();

… }

(88)

RDFS Modelle

„

InfModel/OntModel

„

Zusätzliche Methoden für die Manipulation von Klassen und Properties (domain, range)

„

WICHTIG: Inferenzeigenschaften

(89)

Zusammenfassung

„

Editoren, Validatoren, Parser

„

Automatische Generierung von RDF Daten

„

RDF Speicherung

„

RDF(S) Anfragesprachen

„

APIs

(90)

Literatur

„

W3C Seiten zu RDF und RDFS (vor allem Tools)

„

Seiten der einzelnen Tools

Referenzen

ÄHNLICHE DOKUMENTE

public interface ChatServer extends java.rmi.Remote { public void register(ChatClient aClient, String name)

Robert Tolksdorf Freie Universität Berlin Institut für Informatik.. Netzbasierte Informationssysteme mailto:

public static void main(String args[]) throws java.io.IOException { String message;. Socket socket =

[1]© Robert Tolksdorf,

Robert Tolksdorf Freie Universität Berlin Institut für Informatik?. Netzbasierte Informationssysteme mailto:

Robert Tolksdorf Freie Universität Berlin Institut für Informatik.. Netzbasierte Informationssysteme mailto:

Robert Tolksdorf Freie Universität Berlin Institut für Informatik?. Netzbasierte Informationssysteme mailto:

Das Projekt wird extern begutachtet; als Gutachter werden die Teilnehmer/innen des an der TU Berlin stattfindenden Seminars &#34;XML und Semantic