• Non ci sono risultati.

OWL ed il semantic web

N/A
N/A
Protected

Academic year: 2021

Condividi "OWL ed il semantic web"

Copied!
27
0
0

Testo completo

(1)
(2)

Sommario

Predicati one-of e lls

Motivazioni

Verso il semantic web

(3)

Descrizioni con nomi di individui:

one-of

set o one-of si scrive

{a

1

, . . . , a

n

}

dove

a

1

, . . . , a

n

sono individui

{a

1

, . . . , a

n

}

I

=

{a

I

1

, . . . , a

I

n

}

Esempio:

{CHIN A, F RAN CE, RU SSIA, U K, U SA}

.

(4)

Descrizioni con nomi di individui:

lls

R : a,

R

è un ruolo e

a

un individuo.

(R : a)

I

=

{d ∈ ∆

I

| (d, a

I

)

∈ R

I

}

R : a

è la classe di individui che hanno

a

come 

R

-ller

R : a

e

∃R.{a}

sono equivalenti

Fills consente di esprimere asserzioni sui ruoli:

(5)

Idea del semantic web

The World Wide Web, while wildly successful in growth, may

be viewed as being limited by its reliance on languages such

as HTML that are focused on presentation (i.e., text

for-matting) rather than content. Languages such as Xml do

add some support for capturing the meaning of Web content

(instead of simply how to render it in a browser).

[

...

]

[

The Semantic Web

]

is to be achieved by augmenting the existing layout information with semantic annotations that

add descriptive terms to Web content, with the meaning of

(6)

Idea del semantic web

L'idea di documenti comprensibili dalle macchine non richiede

alcuna magica intelligenza articiale che permetta alle

mac-chine di comprendere le rimuginazioni degli umani. Indica

solamente l'abilità delle macchine di risolvere problemi ben

deniti attuando operazioni ben denite su ben deniti dati

esistenti. Invece di chiedere alle macchine di comprendere il

linguaggio della gente, ciò signica chiedere alla gente di fare

uno sforzo extra

Tim Berners-Lee, What the Semantic Web can represent,

(7)

Obiettivi

migliorare l'ecienza e la precisione dei motori di ricerca.

realizzare sistemi di catalogazione dei contenuti e delle relazioni tra le pagine di un particolare sito web.

favorire la condivisione e lo scambio di informazioni tra agenti software intelligenti.

aumentare l'accessibilità dell'informazione e l'integrazione di informazioni provenienti da sorgenti diverse.

riunire in un unico documento logico collezioni di pagine web semanticamente correlate ma distribuite su pi siti.

semplicare l'automazione di transazioni di tipo commer-ciale, aumentandone la sicurezza.

(8)

The

AL

family of DL

Construct Name Syntax Semantics

AL

...

C

concept negation

¬C

I

\ C

I

transitive role

R

R

+

R

I

= (R

I

)

+

Si denisce

S

la famiglia

ALC

+ transitive roles.

Si indica con

(D)

la possibilità di gestire datatypes, cioè al-cuni tipi standard come int, char,string...

Esempio:

codicef iscale(GIU SEP P E,

(9)

La famiglia

S

: costruttori di concetti

Construct Name Syntax Semantics

N

number restrictions

>

n P

6

n P

{x | ]{y.hx, yi ∈ P

I

}

>

n}

{x | ]{y.hx, yi ∈ P

I

}

6

n}

Esempio:Mamma con molti gli:

F emale

u ≥ 3 hasChild

Construct Name Syntax Semantics

Q

qualifying number restrictions

>

n P.C

6

n P.C

{x | ]{y.hx, yi ∈ P

I

and

y

∈ C

I

}

>

n

}

{x | ]{y.hx, yi ∈ P

I

and

y

∈ C

I

}

6

n

}

Esempio:Mamma con almeno due gli ingegneri:

(10)

La famiglia

S

: costruttori di concetti

Construct Name Syntax Semantics

O

nominal

o

o

I

⊆ ∆

I

with

]{o

I

} = 1

Esempio:Chi lavora di lunedì:

P erson

u ∃ works.M ON DAY

Construct Name Syntax Semantics

F

feature (dis)agreement

u

1

= u

.

2

u

1

6= u

˙

2

{x | ∃b ∈ ∆

I

.u

I

1

(x) = b = u

I

2

(x)}

{x | ∃b

1

, b

2

∈ ∆

I

.u

1

I

(x) = b

1

6= b

2

= u

I

2

(x)}

Gli

u

i

sono un sottoinsieme dei ruoli detti funzionali, cioè per cui vale la regola:

∀a, b, c . ha, bi ∈ R

I

∧ ha, ci ∈ R

I

→ b = c

Esempio:Gli autoctoni:

P erson

u (bornIn

.

(11)

La famiglia

S

: Costruttori di ruolo

Construct Name Syntax Semantics

I

inverse role

R

{hx, yi | hy, xi ∈ R

I

}

Esempio: I gli degli ingegneri

∃ hasChild

.Engineer

Construct Name Syntax Semantics

H

role hierarchy

R

v S

R

I

⊆ S

I

Esempio: Nei gra, dato il concetto

N odo

e i ruoli

arco

e

raggiungibile

di tipo

N odo

× N odo

si ha

(12)

Verso il Semantic Web: RDFS

RDFS: Resource Description Framework (w3c)

- RDF è una specica in XML per rappresentare

contenu-ti (risorse) sul web con semantica (cioè che portano

signicato)

- RDFS: XML Schema è un vocabolario di termini per

(13)

Linguaggi per ontologie: DAML+OIL

OIL realizzò (1999) il primo linguaggio basato su Descrition

Logics per la rappresentazione di contenuti sul web. DAML

nello stesso periodo realizzò un linguaggio per agenti usando

RDFS.

La loro fusione (DAML+OIL) costituisce il primo esempio di

linguaggio per il semantic web. La capacità espressiva

equiv-ale a

SHIQ(D)

.

Construct Name Syntax Semantics

H

role hierarchy

R

v S

R

I

⊆ S

I

I

inverse role

R

{hx, yi | hy, xi ∈ R

I

}

(14)

Influenze nel design di OWL

Il progetto w3c OWL (Ontology Web Language) risente

del-l'inuenza di

formalismi già consolidati per la rappresentazione della conoscenza (DL)

precendenti linguaggi per le ontologie (DAML+OIL)

precenti linguaggi per il web semantico (RDFS)

(15)

OWL DL

Specica W3C per OWL

http://www.w3.org/TR/owl-guide/

http://www.w3.org/TR/owl-features/

Non ha l'Unique Name Assumption.

Equivalente a

SHOIN (

D

)

. Ragionamento nel caso peg-giore in NExpTime.

Construct Name Syntax Semantics

H

role hierarchy

R

v S

R

I

⊆ S

I

O

nominal

o

o

I

⊆ ∆

I

with

]

{o

I

} = 1

I

inverse role

R

{hx, yi | hy, xi ∈ R

I

}

N

number

>

n P

n P

{x | ]{y.hx, yi ∈ P

I

}

>

n}

{x | ]{y.hx, yi ∈ P

I

}

n}

(16)

Sintassi OWL DL

Abstract Syntax DL Syntax

Descriptions (

C

)

A

A

owl:Thing

>

owl:Nothing

intersectionOf(

C

1

. . . C

n

)

C

1

u . . . u C

n

unionOf(

C

1

. . . C

n

)

C

1

t . . . t C

n

complementOf(

C

)

¬C

oneOf(

o

1

. . . o

n

)

{o

1

} t . . . t {o

n

}

restriction(

R

someValuesFrom(

C

))

∃R.C

restriction(

R

allValuesFrom(

C

))

∀R.C

restriction(

R

hasValue(

o

))

R : o

restriction(

R

minCardinality(

n

))

>

n R

restriction(

R

minCardinality(

n

))

6

n R

(17)

restriction(

U

someValuesFrom(

D

))

∃U.D

restriction(

U

allValuesFrom(

D

))

∀U.D

restriction(

U

hasValue(

v

))

U : v

restriction(

U

minCardinality(

n

))

>

n U

restriction(

U

maxCardinality(

n

))

6

n U

Data Ranges (

D

)

D

D

oneOf(

v

1

. . . v

n

)

{v

1

} t . . . t {v

n

}

Object Properties (

R

)

R

R

inv(

R

)

R

Datatype Properties (

U

)

U

U

Individuals (

o

)

o

o

Data Values (

v

)

(18)

Sintassi OWL DL 2

Abstract Syntax DL Syntax

Class(

A

partial

C

1

. . . C

n

)

A

v C

1

u . . . u C

n

Class(

A

complete

C

1

. . . C

n

)

A

≡ C

1

u . . . u C

n

EnumeratedClass(

A o

1

. . . o

n

)

A

≡ {o

1

} t . . . t {o

n

}

SubClassOf(

C

1

C

2

)

C

1

v C

2

EquivalentClasses(

C

1

. . . C

n

)

C

1

≡ . . . ≡ C

n

DisjointClasses(

C

1

. . . C

n

)

C

i

u C

j

⊆ ⊥, i 6= j

Datatype(

D

)

ObjectProperty(

R

super(

R

1

)...super(

R

n

)

R

v R

i

domain(

C

1

)...domain(

C

m

)

>

1 R

v C

i

range(

C

1

)...range(

C

`

)

> v ∀R.C

i

[inverseOf(

R

0

)]

R

≡ R

0

[Symmetric]

R

≡ R

[Functional]

> v

6

1 R

[InverseFunctional]

> v

6

1 R

[Transitive])

T r(R)

(19)

SubPropertyOf(

R

1

R

2

)

R

1

v R

2

EquivalentProperties(

R

1

. . . R

n

)

R

1

≡ . . . ≡ R

n

DatatypeProperty(

U

super(

U

1

)...super(

U

n

)

U

v U

i

domain(

C

1

)...domain(

C

m

)

>

1 U

v C

i

range(

D

1

)...range(

D

`

)

> v ∀U.D

i

[Functional])

> v

6

1 U

SubPropertyOf(

U

1

U

2

)

U

1

v U

2

EquivalentProperties(

U

1

. . . U

n

)

U

1

≡ . . . ≡ U

n

AnnotationProperty(

S

)

OntologyProperty(

S

)

Individual(

o

type(

C

1

)...type(

C

n

)

o

∈ C

i

value(

R

1

o

1

)...value(

R

n

o

n

)

ho, o

i

i ∈ R

i

value(

U

1

v

1

)...value(

U

n

v

n

))

ho, v

i

i ∈ U

i

SameIndividual(

o

1

. . . o

n

)

{o

1

} ≡ . . . ≡ {o

n

}

DifferentIndividuals(

o

1

. . . o

n

)

{o

i

} v ¬{o

j

}, i 6= j

(20)

Verbosity of OWL

Description Logic syntax:

Student

Person

u

>

1

enrolledIn OWL syntax: <owl:Class rdf:ID="Student"> <owl:intersectionOf rdf:parsetype="Collection"> <owl:Class rdfs:about="Person" /> <owl:Restriction> <owl:onProperty rdf:resource="enrolledIn" /> <owl:minCardinality rdfs:datatype="&xsd;Integer"> 1 </owl:minCardinality> </owl:Restriction> </owl:intersectionOf> </owl:Class>

(21)

OWL Lite

Le principali limitazioni di OWL Lite sono di non permettere:

- Vincoli di cardinalità diversi da 0-1.

- Creazione di concetti enumerati (oneof).

- Specifica di concetti basati sull'esistenza di un

partico-lare slot-filler.

- Creazione di concetti definiti.

OWL Lite appartiene a

SHIF (

D

)

. Ragionamento nel caso peggiore in ExpTime

Construct Name Syntax Semantics

H

role hierarchy

R

v S

R

I

⊆ S

I

I

inverse role

R

{hx, yi | hy, xi ∈ R

I

}

(22)

OWL Full

OWL Full contiene OWL DL ma esce al di fuori degli standard di DL.

La principale introduzione è la possibilità di trattare un concetto come un individuo di un altro concetto.

Le interrogazioni su un'ontologia OWL Full sono in gen-erale indecidibili.

(23)

Ragionatori

DIG Interface: Description Logics Implementers Group

Interfaccia (API) basata su XML per comunicazione tra

ra-gionatore e denizione di basi di conoscenza basata su

De-scription Logics.

Questo permette di strutturare il ragionatore come un server

(24)

I piu comuni ragionatori

Pellet

- basato su java

- open source

- forti problemi di memoria

- http://pellet.owldl.com/

Racer

- basato su lisp

- commercial (con licenza d'uso per scopi di ricerca)

- ottime prestazioni

(25)

Kaon2

- basato su java

- free for non commercial use

- non supporta datatype

(ruoli basati su tipi standard - int, char ...)

- buon funzionamento

- Supporta OWL DL (parzialmente) e SWRL

- http://kaon2.semanticweb.org

Fact++

- basato su c++

- free for non commercial use

(26)

Note all’utilizzo di Protege

Protege è l'editor di ontologie più diuso (usa ver.3.1.1)

http://protege.stanford.edu/download/registered.html

Controllare che la porta del ragionatore (in Pellet è stam-pata all'avvio) sia la stessa di quella dell'editor OWL

(Protegé)

In Protegé si imposta dal menu OWL selezionando p

ref-erences

(ver.3.2.1) Percorso per la creazione di una ontologia che utilizza le description logics

New Project -> OWL/RDF Files -> Next -> Next ->

OWL DL -> Logic View e impostare

(27)

Riferimenti

Documenti correlati

Recentemente la nostra attenzione si è focalizzata sulla capacità della L-Arginina di modificare la storia ostetrica delle donne affette da ipertensione cronica che, come è

Come valutiamo le norme sociali e più in generale le allocazioni (risultato delle.

Oltre a queste presenze da tutta Italia, un rinnovato impegno è pervenuto anche dalla gran parte dei volontari della Caritas diocesana de L’Aquila che, nono- stante le difficoltà

Accompagnamento e sostegno alle comunità par- rocchiali nella ripresa della normale attività pasto- rale (sostegno all’attività di catechesi e animazione, col lega mento tra

LOMBARE • a) Lavorazioni svolte in modo non occasionale con imbarcazioni per pesca professionale costiera e d’altura. • b) Lavorazioni di movimentazione manuale dei carichi

Il design negli ultimi anni si concentra proprio nell’individuare e nel sopprimere il ‘germe’ del non adattamento dello spazio urbano verso la gente, molti sono i progetti

Uno studio comparativo di specie di Thymus herba barona, condotto su campioni raccolti in Sardegna ed in Corsica [1], ha evidenziato notevoli differenze di composizione

Tuttavia, se negli anni ‘60 e ‘70 era maggiore la presenza di pubblicità rivolte agli anziani, ma queste avevano per protagonisti per lo più “giovani”, anche