the semantic web: means many things to many people

15
The Semantic Web: Means Many Things to Many People

Post on 19-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Semantic Web: Means Many Things to Many People

The Semantic Web:Means Many Things to Many People

Page 2: The Semantic Web: Means Many Things to Many People

What is the Semantic Web?

The Semantic Web is an evolving extension of the World Wide Webin which web content can be expressed not only in natural language,but also in a form that can be understood, interpreted and used bysoftware agents, thus permitting them to find, share and integrateinformation more easily.

It derives from W3C director Tim Berners-Lee's vision of the Web asa universal medium for data, information, and knowledge exchange.

Page 3: The Semantic Web: Means Many Things to Many People

The Story

Page 4: The Semantic Web: Means Many Things to Many People

The Layer Cakeof the Semantic Web

Page 5: The Semantic Web: Means Many Things to Many People

Ontology Language ~ OSM/OWL<owl:Ontology>…<owl:Class rdf:ID=“Italian”> <owl:unionOf rdf:parseType=“owl:collection”> <owl:Class ref:resource=“#Lazy”/> <owl:Class ref:resource=“#Mafioso”/> <owl:Class ref:resource=“#LatinLover”/> … <owl:Restriction> <owl:onProperty rdf:resource=“#hasName”/> <owl:minCardinality> <rdf:datatype=“&xsd:#nonNegativeInteger”>1</…> </owl:minCardinality> <owl:maxCardinality> …<owl:Class rdf:ID=“LatinLover”> <rdfs:subClassOf rdf:resource=“#Italian”/> <owl:disjointWith rdf:resource=“#Lazy”/> <owl:disjointWith rdf:resource=“#Mafioso”/>…<owl:ObjectProperty rdf:ID=“hasName”> <rdfs:domain rdf:resource=“#Italian”/> <rdfs:range rdf:resource=“#Name”/>...

Name Italian ItalianProf

Lazy LatinLoverMafioso

Lazy(x) => not ItalianProf(x)ItalianProf(x) => not Lazy(x)Mafioso(x) => not ItalianProf(x)ItalianProf(x) => not Mafioso(x)

1:*

has

1Name Italian ItalianProf

Lazy LatinLoverMafioso

Lazy(x) => not ItalianProf(x)ItalianProf(x) => not Lazy(x)Mafioso(x) => not ItalianProf(x)ItalianProf(x) => not Mafioso(x)

1:*

has

1

Page 6: The Semantic Web: Means Many Things to Many People

OSM/OWL & Logic and Proof

• Allow modeling to be done ontologically (high level of abstraction)

• Then, systematically transform the application model into predicate calculus for use in reasoning.

Page 7: The Semantic Web: Means Many Things to Many People

Transformation toPredicate Calculus: Example

Page 8: The Semantic Web: Means Many Things to Many People

Generated Predicates

Object Sets

Relationship Sets

Room(x), Room Nr(x), Cost(x), Date(x), Guest(x), Guest Nr(x),Current Guest(x), Future Guest(x), Guarantee Nr(x)

Room(x) has Room Nr(y),Room(x) has Cost(y),Guest(x) has reservation for Room(y) on Date(z),Guest(x) has Guest Nr(y)Future Guest(x) has Guarantee Nr(y)

Page 9: The Semantic Web: Means Many Things to Many People

Generated RulesReferential-Integrity Constraints

xy(Room(x) has Room Nr(y) Room(x) Room Nr(y))...

Generalization/Specialization Constraintsx(Current Guest(x) Future Guest(x) Guest(x))

Participation Constraintsx(Room(x) 1y(Room(x) has Cost(y))x(Cost(x) 1y(Room(y) has Cost(x))...

Co-occurrence Constraints<x, y>(z(Guest(z) has reservation for Room(x) on Date(y)) 1w(Guest(w) has reservation for Room(x) on Date(y)))

Page 10: The Semantic Web: Means Many Things to Many People

A Valid InterpretationObject-Set Relations

Relationship-Set Relations

Constraints

RoomR1R2

Room Nr12

Cost9080

Room has Room NrR1 1R2 2

x(Room(x) 1y(Room(x) has Room Nr(y))...

...

...

Page 11: The Semantic Web: Means Many Things to Many People

Logic and Proof

Prove: ItalianProf(x) LatinLover(x) Proof (by contradiction):

1. LatinLover(x) negation of conclusion2. ItalianProf(x) premise3. ItalianProf(x) Italian(x) ontologically given4. Italian(x) modus ponens (2&3)5. Italian(x) Lazy(x) Mafioso(x) LatinLover(x) ontologically given6. Lazy(x) Mafioso(x) LatinLover(x) modus ponens (4&5)7. Lazy(x) Mafioso(x) resolution (1&6)8. ItalianProf(x) Lazy(x) ontologically given9. Lazy(x) modus ponens (2&8)10. Mafioso(x) resolution (7&9)11. Mafioso(x) ItalianProf(x) ontologically given12. ItalianProf(x) modus ponens (10&11)13. F contradiction (2&12)

Name Italian ItalianProf

Lazy LatinLoverMafioso

Lazy(x) => not ItalianProf(x)ItalianProf(x) => not Lazy(x)Mafioso(x) => not ItalianProf(x)ItalianProf(x) => not Mafioso(x)

1:*

has

1Name Italian ItalianProf

Lazy LatinLoverMafioso

Lazy(x) => not ItalianProf(x)ItalianProf(x) => not Lazy(x)Mafioso(x) => not ItalianProf(x)ItalianProf(x) => not Mafioso(x)

1:*

has

1

Page 12: The Semantic Web: Means Many Things to Many People

RDF & RDFS ~ the Heart of OWL

• RDF (Resource Description Framework)– A triple model where every assertion is decomposed in three parts: (subject,

predicate, object) for instance (tutorial.php, author, "Fabien").– The subject is a URI identifying a resource. The predicate is a binary relation

identified by a URI. The object is either a URI identifying a resource or a literal value.

– Each triple can be seen as a labeled arc and joining these arcs one obtains a graph that describes URI-identified resources and their relations.

• RDFS (RDF Schema)– RDFS is a set of primitives to describe lightweight ontologies– RDFS allows us to:

• name and declare a vocabulary (name resource types and binary relation types called properties);

• specify the signature of properties (type of the domain i.e. type of the subject and type of the range i.e. type of the object);

• specify the (multiple)-inheritance links between the types of classes (subClassOf); • specify the (multiple)-inheritance links between the types of properties (subPropertyOf);

Page 13: The Semantic Web: Means Many Things to Many People

RDF Graph(How to think about RDF)

“Samuel /Baker/”

“M”

gc:name

gc:gender

#samuel

#sarah

#birthOfSamuelgc:born

gc:gaveBirth

“April 17, 1873”

“Chicago”

gc:date

gc:place

“Sarah /Baker/”

gc:name

#mark#marriagegc:married gc:married

“December 22, 1868”

“Boston”

gc:date

gc:place

gc:fathered

“Mark /Baker/”

gc:namerdf:type

gc:Marriage

rdf:typegc:Birth

rdf:type

gc:Individual

rdf:type

rdf:type

Page 14: The Semantic Web: Means Many Things to Many People

SPARQL

• Specifies queries over an RDF triple store

• Triple stores have an OWL/RDF schema

• Example: get names and, if available, gender and birthdate of people born in the 1870’s.

(An RDF Query Language)

SELECT ?Name ?Gender ?BirthDateWHERE { ?IndividualURI gc:name ?Name . OPTIONAL { ?IndividualURI gc:gender ?Gender ; gc:born ?Birth . ?Birth gc:date ?BirthDate } . FILTER REGEX(?BirthDate, "187\\d") }

Page 15: The Semantic Web: Means Many Things to Many People

Genesis