OWL og Protege

Download Report

Transcript OWL og Protege

XML Schema og RDF
Costanza Navarretta
Center for Sprogteknologi, Københavns
Universitet
[email protected]
Indhold
• Fra sidst:
• URI, DTD’er og validering
•
•
•
•
XML Schema, Namespaces og validering
hvad er RDF?
RDFs grundsten
RDF som logiske udsagn
2
Namespaces
•
•
skelne mellem elementer og attributter fra forskellige
vokabularer som har samme navn
samle elementer og attributter fra en XML-applikationer,
således at programmer kan genkende dem.
I nogle dokumenter er der brug for at kombinere opmærkning
fra flere domæner defineret i forskellige XMLapplikationer, fx har man brug for at referere til to typer
adresser: web-adresser og almindelige adresser (vej+by)
3
Namespaces - syntaks
xmlns:prefiks = "uri " (både URL og URN)
Nogle navne-konventioner:
• Prefiks må ikke indeholde ":" og må ikke
begynde med strengen xml uafhængigt af
tegnstørrelse (xml, XML, Xml, ol.)
• URN må heller ikke indeholde ":"
4
Namespaces: virkefelt
Prefikset kan defineres på et element (også roden). Det
virker på det element det erklæres på og på alle dets
underordnede elementer,fx
<rdf:RDF xmlns:rdf="http://www.w3.org/TR/RECrdf-syntax#">
<rdf:Description>….
</rdf:Description>
….
</rdf:RDF>
5
XML Schema
Et XML-dokument beskrevet af et skema kaldes et
instansdokument. Det er gyldigt (schema valid) hvis
det følger skemaet.
Et XML skema bindes til et instansdokument ved et
attribut i rodelementet. To mulige attributter:
• xsi:schemaLocation: har som værdi en liste af de
namespaces der anvendes i dokumentet samt URLs
for de skemaer som validerer elementerne i de
angivne namespaces
• xsi:noNamespaceSchemaLocation: har som værdi
URL for skemaet (uden namespaces)
6
Et eksempel: poem.xml
<?xml version="1.0" ?>
<poem xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
xsi:noNamespaceSchemaLocation="poet.xsd"
publisher="Boni and Liveright" pubyear="1922">
<title>The Waste Land</title>
<picture href="pic1.gif"/>
<verse>April is the cruellest month, breeding</verse>
<verse>Lilacs out of the dead land</verse>
</poem>
7
poem.xsd
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="poem">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:element ref="picture"/>
<xs:element ref="verse" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="publisher" type="xs:string"/>
<xs:attribute name="pubyear" type="xs:NMTOKEN"/>
</xs:complexType>
</xs:element>
<xs:element name="title" type="xs:string"/>
<xs:element name="verse" type="xs:string"/>
<xs:element name="picture">
<xs:complexType>
<xs:attribute name="href" use="required"
type="xs:anyURI"/>
</xs:complexType>
</xs:element>
</xs:schema>
8
Typer: simple
Elementer der kun må indeholde tekst er af simpel type.
Simple typer kan ikke have attributter.
<xs:element name="elementname" type="elementtype">
eksempler af simple typer:
• strenge
<xs:element name="personnavn" type="xs:string"/>
<personnavn> Costanza Navarretta </personnavn>
• decimaltal
<xs:element name="personhøjde" type="xs:decimal"/>
<personhøjde>1.68</personhøjde>
9
Simple typer
Predefinerede datatyper (built-in)
http://www.w3.org/TR/xmlschema-2/#built-invs-user-derived
10
Udledte typer
fx typer der er mere specifikke end de predefinerede simple typer:
<xs:simpleType name="nameType">
<xs:restriction base="xs:string">
<xs:maxLength value="32"/>
<xs:minLength value="2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="name2Type">
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]*"/>
<xs:minLength value="2"/>
</xs:restriction>
</xs:simpleType>
11
Komplekse typer
Komplekse typer kan indeholde flere elementer af simpel eller kompleks type, samt
attributter. Nye elementtyper kan skabes ved at kombinere flere eksisterende
elementtyper eller ved at lave variationer af eksisterende typer.
<xs:complexType name="poemtype">
<xs:sequence>
…
<xs:element ref=“picture"/>
</xs:sequence>
<xs:attribute name="publisher" type="xs:string"/>
</xs:complexType>
<xs:element name="picture">
<xs:complexType>
<xs:attribute name="href" use="required" type="xs:anyURI"/>
</xs:complexType>
</xs:element>
12
komplekse typer - fortsat
<xs:complexType name="poemtype">
<xs:sequence>
……
<xs:element name="picture">
<xs:complexType>
<xs:attribute name="href" use="required"
type="xs:anyURI"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="publisher" type="xs:string"/>
</xs:complexType>
13
En online-validator
http://www.w3.org/2001/03/webdata/xsv
Valider poem.xml på adressen:
http://cst.dk/costanza/course/informasoeg/eksempler/poem.xml
Man kan validere dokumenter på lokale kataloger, men de skal
være bundet et skema der findes på internettet.
Øvelse: gem filen hos jer og rediger værdien på rodens
attributtet xsi:noNamespaceSchemaLocation. Værdien skal
være URL for poem.xsd.
14
Ekstra øvelse
Dokumentet firma.xml på adressen
http://cst.dk/costanza/course/informasoeg/eksempler/firma.
xml er bundet skema firma:xsd på adressen
http://cst.dk/costanza/course/informasoeg/eksempler/firma.xsd
1. Gem dokumentet firma.xml på jeres katalog og bind det til
firma.xsd på internettet.
2. gennemgå dokumentet i forhold til skemaet.
3. Tilføj til XML-dokumentet et ansat Lene Kristensen som
arbejder i afdelingen ”afdeling2”.
4. Valider dokumentet
(http://www.w3.org/2001/03/webdata/xsv)
15
Hvad er RDF?
• RDF (Resource Description Framework)
er et sprog til at repræsentere information
om resurser på internettet i form af
udsagn om resurserne.
• RDF er udviklet af W3C, uafhængigt af
XML, men kan udtrykkes med XMLsyntaks.
16
Hvad er RDF? - fortsat
• RDF giver mulighed for at beskrive
data gennem simple udsagn, som fx:
’Bogen hedder How to think like a
computer scientist’, ’Forfatterne til
bogen er Downey, Elkner & Meyers’.
• RDF-beskrivelser omkring de samme
resurser danner en graf.
17
RDFs grundsten
• En resurse (resource): ethvert objekt der kan
identificeres på internettet fx en hjemmeside, et
billede, et program, et element i et XML-dokument.
• En egenskab (property): en resurse som har et navn
og kan anvendes som egenskab, fx kan et kursus
have egenskaber som et navn, lærere.
• En egenskabsværdi (value): kan være en streng eller
en resurse.
• En sætning (statement): sammensætning af en
resurse, en egenskab og en værdi.
18
RDF-tripler
RDF-tripel:
• resursen kaldes for subjektet;
• egenskaben kaldes for prædikatet;
• værdien kaldes for objektet;
objekt
subjekt
prædikat
19
Eksempler
• En resurse, fx dette kursus (med en link til
dets hjemmeside
http://isis.ku.dk/kurser/index.aspx?kursusid=25076
&xslt=simple6&param8=false&param1=116674)
• En egenskab, fx have_navn
• En værdie, fx IT og informationssøgning
• En sætning: kursets titel er IT og
informationssøgning
20
Et eksempel
Sætningen: “Navnet på kurset med adressen
http://isis.ku.dk/kurser/index.aspx?kursusid=
25076&xslt=simple6&param8=false&param
1=116674 er IT og informationssøgning”.
Vi kan tilføje at kurset finder sted i lokalerne
22.1.62 og 25.1.40.
21
Grafisk repræsentation
25.1.40
finder-sted
22.1.62
http://isis.ku.dk/kurs
er/index.aspx?ku
rsusid=25076&xsl
t=simple6&para
m8=false&param
1=116674
finder-sted
IT og informationssøgning
har_navn
22
RDF og logiske udsagn
• RDF-sætninger kaldes også for
logiske udsagn. Logiske udsagn kan
bruges til automatisk at uddrage ny
viden, gennem logisk inferens.
23
Udsagn og inferens
Alle lokaler som indeholder mere end 6 pc’er, er edblokaler.
Alle lokaler som har navn i listen [20.0.50,…,22.1.62,
…24.0.33,…], er undervisningslokaler.
lokalet har navn ”22.1.62”.
lokalet 22.1.62 indeholder 15 pc’er.
Vi kan slutte ”logisk” at lokalet 22.1.62 er et
undervisningslokale og et edb-lokale.
24
1. opgave om RDF
1. Hent Laudrups ontologi fra syvende
undervisningsgang og definer enkelte RDFtripler for klassen mand, fx “Michael
Laudrup” er_bror_til XX.
2. Hvad kunne være en resurse for Michael
Laudrup?
25
RDF og XML - specifikationer
http://www.w3.org/RDF/#specs
• RDF/XML Syntax Specification (Revised)
• RDF Vocabulary Description Language: RDF
Schema
• RDF Primer
• Resource Description Framework (RDF): Concepts
and Abstract Syntax
• RDF Semantics
• RDF Test Cases
26
RDF i XML
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdfsyntax-ns#"
xmlns:a="http://description.org/schema/">
<rdf:Description rdf:about="…. ">
…..
</rdf:Description>
</rdf:RDF>
27
RDF og XML eksempler
Elementet rdf:RDF angiver Namespaces (rdf).
rdf:Description indeholder en eller flere predikatobjekt par for en resurse.
Resursen kan være identificeret med attributtet
rdf:about.
<rdf:Description
rdf:about="http://www.cst.dk/patrizia/dikucst06/Mi
chael_Laudrup.html">
28