26
Semantic Web Technologies

Semantic Web Technologies

  • Upload
    ziazan

  • View
    35

  • Download
    1

Embed Size (px)

DESCRIPTION

Semantic Web Technologies. 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 Web in which web content can be expressed not only in natural language, - PowerPoint PPT Presentation

Citation preview

Page 1: Semantic Web Technologies

Semantic Web Technologies

Page 2: Semantic Web Technologies

The Semantic Web:Means Many Things to Many People

Page 3: Semantic Web Technologies

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 4: Semantic Web Technologies

The Story

Page 5: Semantic Web Technologies

The Story Analyzed

• Agent finds hospitals based on attributes:

– Compatible insurance plan

– Compatible location

– Available appointment times

– Available services

– Required quality rating

• Requires:

– Access to hospital data

– Access to personal data (query, calendar, location)

– Data includes all attribute values

– Compare hospitals’ and query’s attribute values (unified rep)

– Explain decisions and inferences

Page 6: Semantic Web Technologies

Challenges

• Missing data

• Extra data

• Different representations of data (vocabulary):

– Different units of measure

– Different names for same entities, attributes, values

– Same names for different entities, attributes, values

– Different granularity of entity classes

Page 7: Semantic Web Technologies

Solutions

• Missing data Infer from available data.

• Extra data Filter using relevance.

• Different representations of data Unify representations by mapping between sources.

• Summary: Inference based on unified (general) knowledge representation.

Page 8: Semantic Web Technologies

Inference

• What is inference?

– Process of deriving new facts from old facts. “Reasoning”.

• What is a proof?

– A demonstration that a deductive inference is sound (= true, assuming logic is correct).

• What is logic?

– The rules used to perform deductive inference.

Page 9: Semantic Web Technologies

The Layer Cakeof the Semantic Web

Page 10: Semantic Web Technologies

OSM/OWL & Logic and Proof

• Model the application domain ontologically (high level of abstraction).

• Systematically transform application model into predicate calculus.

• Perform reasoning on predicates.

Page 11: Semantic Web Technologies

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 12: Semantic Web Technologies

Transformation toPredicate Calculus: Example

Page 13: Semantic Web Technologies

Generated Predicates

1. Object Sets

2. 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 14: Semantic Web Technologies

3. Generated Rules

Referential-Integrity Constraintsxy(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 15: Semantic Web Technologies

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 16: Semantic Web Technologies

Logic and Proof

Prove: ItalianProf(x) LatinLover(x)

Proof (by contradiction):1. LatinLover(x) negation of conclusion

2. ItalianProf(x) premise

3. ItalianProf(x) Italian(x) ontologically given

4. Italian(x) modus ponens (2&3)

5. Italian(x) Lazy(x) Mafioso(x) LatinLover(x) ontologically given

6. Lazy(x) Mafioso(x) LatinLover(x) modus ponens (4&5)

7. Lazy(x) Mafioso(x) resolution (1&6)

8. ItalianProf(x) Lazy(x) ontologically given

9. Lazy(x) modus ponens (2&8)

10. Mafioso(x) resolution (7&9)

11. Mafioso(x) ItalianProf(x) ontologically given

12. 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 17: Semantic Web Technologies

OWL Foundation: RDF (Resource Description Framework)

• A triple model:– 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 illustrated as a labeled arc.

• A set of statements/arcs is a graph of relations and attributes of URI resources.

Page 18: Semantic Web Technologies

RDFS (RDF Schema)

• A set of primitives to describe lightweight ontologies, allowing us to:

• Name the resource types and binary relation (property) types.

• Specify signature of properties:– Type of domain = type of subject

– Type of range = type of object

• Specify inheritance between classes (subClassOf);

• Specify inheritance between properties (subPropertyOf);

• Includes multiple inheritance.

Page 19: Semantic Web Technologies

RDF Graph

“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 20: Semantic Web Technologies

RDF vs. RDBMS/SQL

• Similarities:– Based on relational models

– Knowledge representations

– Integrity constraint / inference engines

• Differences:– Different relational models (e.g. only binary relations in RDF)

– In RDBMS, a missing tuple means that statement is false (closed-world assumption)

– In RDF, a missing tuple means unknown (open-world assumption)

• Links:– http://www.rdfabout.com/comparisons.xpd

Page 21: Semantic Web Technologies

N-ary Relation in RDF

• John buys a "Lenny the Lion" book from books.example.com for $15 as a birthday gift.

• There is a relation, in which individual John, entity books.example.com and the book Lenny_the_Lion participate.

• This relation has other components as well such as the purpose (birthday_gift) and the amount ($15).

Page 22: Semantic Web Technologies

N-ary Relation in RDF (Reification)

http://www.w3.org/TR/swbp-n-aryRelations/#example3

Page 23: Semantic Web Technologies

Querying RDF Data

• RDF data is a graph.– Resources/entities and attributes values are nodes.

– Relationships and properties are edges.

• Queries specify constraints on sub-graphs.

• Executing queries returns matching sub-graphs.

Page 24: Semantic Web Technologies

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 25: Semantic Web Technologies

Genesis

Page 26: Semantic Web Technologies

Querying RDF Data

• Links:– http://www.youtube.com/watch?v=3kdDKILwna0

– http://www.dailymotion.com/video/xewx1o_scribo-workbench-sparql-query-edito_tech

– http://www.youtube.com/watch?v=8F-gT02ZyDs