1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

55
1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10

description

3 The Semantic Web Current web –HTML pages for human consumption (reading) –Not machine processable –Simple text searching only Semantic Web –“…allows software agents to analyze the Web on our behalf, making smart inferences that go beyond the simple linguistic analyses performed by today’s search engines.” Alesso, H. Peter. Developing Semantic Web Services, p.182 –E.g. “find me biographies for friends of Chris Greenhalgh”

Transcript of 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

Page 1: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

1

G52IWS: The Semantic Web

Chris Greenhalgh2007-11-10

Page 2: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

2

Contents

• Introduction to the Semantic Web• Semantic Web technologies

– Overview– RDF– OWL

• Semantic Web Services• Concluding comments

See “Developing Semantic Web Services”, Alesso et al. 2004. (eBook)And W3C semantic web activities

Page 3: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

3

The Semantic Web• Current web

– HTML pages for human consumption (reading)– Not machine processable– Simple text searching only

• Semantic Web– “…allows software agents to analyze the Web on our

behalf, making smart inferences that go beyond the simple linguistic analyses performed by today’s search engines.”

• Alesso, H. Peter. Developing Semantic Web Services, p.182– E.g. “find me biographies for friends of Chris

Greenhalgh”

Page 4: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

4

Semantic web elements• “For the Semantic Web to function, computers must

have access to structured collections of information and sets of inference rules that they can use to conduct automated reasoning. … The objective of the Semantic Web, therefore, is to provide a framework that expresses both data and rules for reasoning from a Web based knowledge representation.”– Ibid. pp39-40

• “The goal of the Semantic Web is to provide a machine-readable intelligence that would come from hyperlinked vocabularies that Web authors would use to explicitly define their words and concepts.” – Ibid. p166

Page 5: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

5

Semantic Web Services• Current Web services

– XML documents as inputs and outputs– Syntax specified by XML Schema & WSDL– Still not directly “meaningful” to an application

• Programmer has the semantics in their head and writes the code to manipulate the information appropriately, e.g. what to use an “<address>” element for

• Semantic Web Services– Allow web services to interoperate at a semantic level

even if their detailed syntax/types differ– Allow software agents to (a) find and (b) make use of

web services with no prior knowledge of their particular syntax/types

Page 6: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

6

Semantic Web technologies

http://en.wikipedia.org/wiki/Image:W3c-semantic-web-layers.svgWikimedia commons. C.f. “Developing Semantic Web Services”, fig 6-1

Page 7: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

7

Latest semantic web “layer cake”

http://www.w3.org/2007/03/layerCake.png

Page 8: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

8

Computational reasoning using semantic web technologies

• RDF encodes statements comparable to propositions in first order logic which can be reasoned about

• The ontology establishes the “meaning” (in some sense) of the statement elements

• The ontology may allow further statements to be inferred (are entailed by the ontology), e.g. class membership

• Equivalence relationships allow concepts in different ontologies to be related, supporting reasoning against new ontologies

“Developing Semantic Web Services”, chapter 9

Page 9: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

9

Resource Description Framework (RDF)

• W3C standard, Feb. 2004– http://www.w3.org/TR/rdf-syntax-grammar/– “The Resource Description Framework (RDF)

is a general-purpose language for representing information in the Web.”

• Existed since 1997

“Developing Semantic Web Services”, chapter 7, p 187-

Page 10: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

10

XML and meaning

• E.g.– <book> <title>War and Peace</title></book>

• May well mean– “the book has the title ‘War and Peace’” – But this is not inherent in the XML or the XML schema

• A computational agent would not be able to work this out by itself

• and what is a “book” or a “title”, in any case

Page 11: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

11

XML and structure

• Tree-structured document– Named elements– Optional cross-references

• Only syntactic relationships possible between element definitions– i.e. containment and specific type

relationships

Page 12: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

12

RDF model

• RDF is a simple knowledge representation language

• Comprising statements with exactly one– Subject – the resource about which the statement is

made, which is identified by a URI or blank node ID– Predicate – identifies the property of the subject about

which the statement is made by a URI– Object, which may be a

• Literal value, such as an simple XSD datatype value or • another resource, identified by URI or Blank node ID

Page 13: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

13

RDF statements

• E.g. – “A thing [subject] has property [predicate] with a

specific value [object]”– “[subject] has [predicate] [object]”– (subject, predicate, object)

• Specific example:– “A thing <the book> has property <title> with a

specific value ‘War and Peace’”– “<the book> has <title> ‘War and Peace’”– (<the book>, <title>, ‘War and Peace’)

Page 14: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

14

RDF graph structure

• A set of RDF statements describe an information graph:– Nodes are subjects or objects, and are

therefore• URIs• Blank (anonymous) nodes or• Literal values (which are never subjects)

– Arcs are statements, which are labelled by the predicate

Page 15: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

15

Example

The book ‘War and Peace’title

Page 16: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

16

More examples

Page 17: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

17

RDF/XML• RDF/XML is an XML serialisation of RDF

– Valid XML– Encodes a set of RDF statement

• E.g.– <?xml version=“1.0”?><rdf:RDF xmlns:rdf= "http://www.w3.org/1999/02/22rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description

rdf:about="http://www.amazon.com/books?">

<dc:title> War and Peace </dc: title>

</rdf:Description></rdf:RDF>

• Alesso, H. Peter. Developing Semantic Web Services, p.211

Subject

Predicate

Object

Page 18: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

18

Other RDF serialisations

• Notations3• N3• N-triples• E.g.

– <#book> <#title> “War and Peace”.

Page 19: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

19

rdf:type Property

• RDF defines a standard property rdf:type• (rdf: is the namespace http://www.w3.org/1999/02/22-rdf-syntax-ns#)

– It’s subject is any node– It’s object is the node which represents the

class of the subject node• E.g.

– <book1> <rdf:type> <Book>.=> <book1> is a member of the class <Book>, i.e. <book1> is a <Book>

Page 20: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

20

Vocabulary

• A set of agreed URIs to be used as predicates and classes in RDF

• E.g. Dublin core, a set of predicates for describing publication-related metadata– E.g. dc:title, dc:creator, dc:subject, dc:description,

dc:public, dc:contributor, dc:type, dc:format, dc:identifier, dc:source, dc:language, dc:relation, dc:coverage, dc:rights

– Unique namespace makes predicates unique• xmlns:dc="http://purl.org/dc/elements/1.1/"

Page 21: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

21

RDF Schema

• RDF encoding of definitions of classes and properties in terms of their relationships– rdfs:Class is the class of classes

• i.e. anything with <rdf:type> of <rdfs:Class> is a class– rdf:Property is the class of properties– rdfs:subClassOf is the property which relates a

sub-class to its super-class (see over)– rdfs:subPropertyOf is the property which relates

a sub-property to super-property

Page 22: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

22

Sub-class example

• E.g.– <my:Computer> <rdf:type> <rdfs:Class>

• i.e. Computer is a Class– <my:Laptop> <rdfs:subClassOf>

<my:Computer>• i.e. Laptop is a subclass of Computer• I.e. every thing which is a Laptop is also a

Computer• i.e. every Laptop is a Computer• E.g. <my:PC1> <rdf:type> <my:Laptop>

=> <my:PC1> <rdf:type> <my:Computer>

Page 23: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

23

Sub-property example

• E.g.– <my:Size> <rdf:type> <rdf:Property>

• i.e. Size is a Property– <my:Length> <rdfs:subPropertyOf>

<my:Size>• i.e. Length is a sub-property of Size• i.e. every Length value is also a Size value

– E.g. <my:PC1> <my:Length> “10cm”=> <my:PC1> <my:Size> “10cm”

Page 24: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

24

Reification• In RDF a statement can be re-ified, i.e. made

into a thing in itself• All the usual RDF facilities can then be used to

describe this statement– E.g. <the book> <title> ‘War and Peace’ =>

<statement1> <subject> <the book><statement1> <predicate> <title><statement1> <object> ‘War and Peace’

– And hence (for example):<statement1> <author> <bob.jones><statement1> <created> ‘20071110T211300Z’

Page 25: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

25

RDF capabilities and limitations

• Syntax for representing semantics of data• Means to describe relationships between

resources• Limited expressive power, e.g.

– No properties of properties– No necessary & sufficient conditions for class

membership– No equivalence or disjointness of classes

Page 26: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

26

Web Ontology Language (OWL)

• W3C standard, Feb 2004– http://www.w3.org/TR/owl-ref/– “The Web Ontology Language OWL is a semantic

markup language for publishing and sharing ontologies on the World Wide Web. OWL is developed as a vocabulary extension of RDF (the Resource Description Framework) and is derived from the DAML+OIL Web Ontology Language.”

• i.e. builds on RDF Schema but has more expressiveness

“Developing Semantic Web Services”, chapter 8, p 221-

Page 27: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

27

Ontologies• “An ontology defines the terms used to describe

and represent concepts. Ontologies are used to describe concepts as well as their inter-relationships… For example…

A paperback is a type of book.A book is a written document.Documents have writers.Writers are humans.Humans read paperbacks.

– Alesso, H. Peter. Developing Semantic Web Services, p. 241.

Page 28: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

28

Ontology concepts

• Classes• Relationships between classes• Properties of classes• Constraints on relationships between

classes and the properties of the classes

Page 29: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

29

Information in an OWL document

• Class hierarchy – defines class/subclass relationships

• Synonym – identifies equivalent classes and equivalent properties

• Class association – maps classes to one another through use of a property (domain/range)

• Property metadata • Class definition – specifies the composition of a

class

Page 30: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

30

OWL versions• OWL Lite

– Classification hierarchy and simple constraints, e.g. 0 or 1 cardinality

• OWL DL (Description Logic)– All constructs, but with some restrictions– Maximum expressiveness with computational

completeness & decidability• OWL Full

– Maximum expressiveness but no guarantees of decidability

– E.g. a class can be both a collection of individuals and an individual in its own right

Page 31: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

31

OWL class descriptions

• Describe a class as one of– a class identifier (a URI reference)

• (the only option in OWL Lite)– an exhaustive enumeration of individuals that

together form the instances of a class – a property restriction – the intersection of two or more class

descriptions – the union of two or more class descriptions – the complement of a class description

Page 32: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

32

OWL and RDFS

• Share some common concepts– Classes, subclass relationships, properties

• OWL Lite/DL have some restrictions compared to RDFS– owl:Class is not rdfs:Class except in OWL Full

• OWL has extra expressiveness supporting additional reasoning– E.g. boolean combination of class expressions,

property restrictions, property types (e.g. transitive, inverse)

Page 33: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

33

Other semantic web technologies

• SPARQL– Query language for RDF

• Rules Interchange Format– Specifying inference rules for RDF

Page 34: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

34

Semantic Web Services• = Using ontologies and computational

reasoning to support automated use of web services– In particular…

“Developing Semantic Web Services”, chapter 10

Page 35: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

35

Semantic web servicepossibilities for automation

– Discovery - Locating Web Services.– Invocation - Execution of service by an agent or other

service.– Interoperation - Breaking down interoperability

barriers and automatic insertion of message parameter translations.

– Composition - New services through automatic selection, composition and interoperation of existing services.

– Verification - Verify service properties.– Execution Monitoring - Tracking the execution of

composite tasks and identifying failure cases of different execution traces.

• Alesso, H. Peter. Developing Semantic Web Services. p.280

Page 36: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

36

Semantic web service requirements

• Metadata in service descriptions that is sufficient and computational useful to e.g.– Map between semantically equivalent data

types– Map between semantically equivalent

operations– Map between semantically equivalent

services– Manipulate and exploit descriptions of

composite services

Page 37: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

37

OWL-S

• OWL-S (Service): Semantic Markup for Web Services

• Submitted to W3C Nov 2004 but not standardised– http://www.w3.org/Submission/OWL-S/

• Provides an ontology for this service-describing metadata

Page 38: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

38

OWL-S top-level ontology of services

http://www.w3.org/Submission/OWL-S/

Page 39: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

39

Service profile

• High-level description of service and provider• Used to request advertise services• Includes:

– Human-readable description– Link to service provider– Specification of functionalities

• Process IOPEs (see later)

– Functional attributes• E.g. geographical location, quality, service type

Page 40: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

40

Service profile

http://www.w3.org/Submission/OWL-S/

Page 41: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

41

Process modelling

• Found in profile (for discovery) and model (for interaction)

• Has information transformation element:– Inputs– Outputs – both parameters

• Has state change element– Preconditions (NB not parameters as in text)– Effects

• Together referred to as “IOPEs”

Page 42: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

42

Service Model

• Detailed view of service as a process• Including option of decomposition through

expanding composite (multi-part) services into their component parts– With various concurrency/choice structures

Page 43: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

43

http://www.w3.org/Submission/OWL-S/

Page 44: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

44

Notes

• Atomic processes typically correspond to single Web Service operations– See following notes

• Composite processes correspond to possible sequences of related operations– E.g. in an extended business process such as

placing and tracking an order

Page 45: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

45

Service Grounding

• Maps abstract service profile and model to protocol-specific details– E.g. to WSDL services, operations and

messages, and to XML schema types and elements

Page 46: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

46

Mapping between OWL-S and WSDL

http://www.w3.org/Submission/OWL-S/

Page 47: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

47

Example: book ordering web service

• Suggested ontology development process:– Describe individual operations as atomic

processes– Describe the groundings for each– Describe their composition as a composite

book ordering process– Describe it as a simple overall process

(optional, for profile)– Provide a declarative description for the

profile“Developing Semantic Web Services”, chapter 11

Page 48: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

48

Uses

• Service profile– Supports automatic discovery

• Service model– Supports automatic composition

• Service grounding– Supports automatic invocation

Page 49: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

49

Example service composite process model

“Developing Semantic Web Services”Figure 11-3

Page 50: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

50

Semantic Annotations for WSDL and XML Schema (SAWSDL)

• W3C recommendation, August 2007– http://www.w3.org/TR/sawsdl/– “defines a set of extension attributes for the Web

Services Description Language and XML Schema definition language that allows description of additional semantics of WSDL components…using references to semantic models, e.g. ontologies. …does not specify a language for representing the semantic models.”

• (subsequent to the text and OWL-S)

Page 51: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

51

Notes• SAWSDL

– gives mechanisms to associate semantic annotations (e.g. ontology classes) with WSDL elements

– Allows XML schema data elements/types to be mapped to/from an more abstract “semantic” layer

• Sidesteps use of any particular ontology or ontology technology– Such as OWL or OWL-S– Presumes “less ambitious” local establishment of

ontologies for specific purposes?!– And/or human-in-the-loop resolution of (e.g.) conflicts

Page 52: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

52

General Note

• The “Developing Semantic Web Services” text presents a stongly “evangelistic” case for machine intelligence and semantic web services

• Practically achievable and useful automated support in relation to web services may be much simpler– see SAWSDL

Page 53: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

53

Simpler examples of the semantic web…

• Without attempting to support extensive automated reasoning Semantic web technologies still allow useful distributed data integration– Ontologies are more easily extended and

distributed than (e.g.) relational database schemas

– RDF allows more flexible graph-oriented queries (and inference) than (e.g.) relational queries (such as SQL)

Page 54: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

54

E.g. the Gene Ontology

• a simple (but large) ontology of concepts connected with gene products– Allows new levels of consistency and

interoperability between gene-related biology databases

Page 55: 1 G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10.

55

E.g. RDFa• = “RDF attributes”• W3C working draft

– http://www.w3.org/TR/xhtml-rdfa-primer/• Approach to dual-purposing XHTML pages to

also present an RDF interpretation of their contents– Achieved by including additional XML attributes in the

page elements– Which add the “semantics” to the raw structure and

information already present in an XHTML page by linking to ontology classes & properties