topic maps and rdf(s)

42
CS3352 Topic Maps and RDF(S) Topic Maps and RDF(S) CS3352

Upload: tamah

Post on 25-Feb-2016

61 views

Category:

Documents


0 download

DESCRIPTION

Topic Maps and RDF(S). CS3352. Topic Maps. From the document mark up community A n ISO Standard (ISO13250) describing knowledge structures. Aim: to enable information resources to be classified and navigated in a consistent manner by representing knowledge structures for indexes - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Topic Maps and RDF(S)

CS3352

Topic Maps and RDF(S)Topic Maps and RDF(S)

CS3352

Page 2: Topic Maps and RDF(S)

CS3352

Topic MapsTopic Maps From the document mark up community An ISO Standard (ISO13250) describing knowledge

structures. Aim: to enable information resources to be classified

and navigated in a consistent manner by representing knowledge structures for indexes

Extended to other forms of navigation aid: – The electronic equivalent of table of contents, glossaries,

thesauri, cross references The concepts or topics that underlie a set of

information objects exposed to those people or applications processing the information.

Seen by the document community as providing a new organising principle for information.

Page 3: Topic Maps and RDF(S)

CS3352

Topic Map basicsTopic Map basics Based on Semantic Nets and Indexes Implemented using XML and XLL (XLink,

XPointer) Topics, Associations and Occurrences

– typed to form groups – – types are defined in the standard as topics– Topic - Tosca is of type opera– Occurrence - Picture X plays role of portrait– Association - Written-by is a type of association

Topics and Occurrences play roles in relationships

Page 4: Topic Maps and RDF(S)

CS3352

Topic Maps: TopicsTopic Maps: Topics Topics – a resource

surrogate or proxies for Subjects– Tosca, Madam

Butterfly, Rome, Puccini, Italy

Represent any concept helpful to the meaningful description of information objects.

Page 5: Topic Maps and RDF(S)

CS3352

Topic Maps: OccurrencesTopic Maps: OccurrencesProvide a route between a topic

and an information object. Occurrences - addressable

information resources that are linked to the topic – usually electronic– Picture, commentary, article etc

Occurrences are outside the topic map document and are pointed to by the topic (using XLL – XLink and XPointer)

A layer of topics and a layer of occurrences

Page 6: Topic Maps and RDF(S)

CS3352

Topic Maps: AssociationsTopic Maps: Associations Allow more to be said about topics by

establishing relationships between topics. Associations between topics – bi-directional

– Tosca was written by Puccini, Rome is in Italy

Page 7: Topic Maps and RDF(S)

CS3352

Topic Maps: other conceptsTopic Maps: other concepts Scope and Themes:

– Used to describe the limits of the validity of a topic characteristic assignment. I.e. provides CONTEXT

– Topics can have different names for different scopes Facets:

– Provide a mechanism for assigning properties to groups of information objects. E.g. language, security

Subject descriptors: – Establishing subject identity between topics within

and across topic maps, e.g. when merging them.– Italia and Italy refer to the same subject.– Activity to develop directories of public subjects

Page 8: Topic Maps and RDF(S)

CS3352

Page 9: Topic Maps and RDF(S)

CS3352

Page 10: Topic Maps and RDF(S)

CS3352

Topic Map Topic Map ImplementatioImplementatio

nnXML Topic Maps (XTM) 1.0XML Topic Maps (XTM) 1.0

<topicmap topic="simpletm"> <topic id="defocc" identity="net.ontopia.topicmaps.psd.iso13250.occurrence-

type.default"><topic id="produces"> <topname> <basename>producer of</basename> <sortname>~producer of</sortname> </topname> <topname scope="product"> <basename>product of</basename> <sortname>~product of</sortname> </topname> </topic> <topic id="simpletm"> <topname> <basename>Simple topic map</basename> </topname> <occurs type="website" href="http://www.ontopia.net/topicmaps/examples/ontopia/simple.htm"/> </topic> <assoc type="produces"> <assocrl type="vendor" href="ontopia"/> <assocrl type="product" href="oks"/> </assoc></topicmap>

Page 11: Topic Maps and RDF(S)

CS3352

Topic MapsTopic Maps Each map is self-describing, carrying its own ontology

defined as a topic map Topic maps also used for defining control information Work started on

– schema language– TQML – query language– Upper topic model

XML Topic Maps (XTM) 1.0– an abstract model and XML grammar for interchanging Web-

based topic maps, written by the members of the TopicMaps.Org Authoring Group.

Semantic Networks circa 1985? What happened to the last 20 years of knowledge

representation? Scale? Change? Semantics? Rigour? Inference?

Page 12: Topic Maps and RDF(S)

CS3352

Topic Map Further ReadingTopic Map Further Reading http://www.topicmaps.org/ http://www.topicmaps.com/ http://www.ontopia.net/topicmaps/

learn_more.html Commercial examples using topic maps and

XLink: http://www.empolis.co.uk/products/

Page 13: Topic Maps and RDF(S)

CS3352

Resource Description Resource Description Framework (RDF)Framework (RDF)

W3C metadata technology A model for metadata for describing resources RDF is a data model

– the model is domain-neutral, application-neutral – the model can be viewed as directed, labeled graphs or as an

object-oriented model (object/attribute/value) Makes no assumptions about a particular application

domain Doesn’t define a priori the semantics of any application

domain The specification provides an encoding (in XML) of the

model The syntactic details are secondary, they are largely

handled by using XML (RDF defines a convention of XML usage)

Page 14: Topic Maps and RDF(S)

CS3352

RDF modelRDF model RDF “statements” consist of

resources (= nodes)which have properties which have values (= nodes, strings)

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

author

= subject= predicate= object

predicate(subject, object)

“http://www.w3.org/TR/REC-rdf-syntax/ has the author Ora Lassila”

resource

valueproperty

Page 15: Topic Maps and RDF(S)

CS3352

Basic Model: ResourceBasic Model: Resource 1. A Resource is anything that can have a URI (and

optional anchor ids) includes all the Web's pages, as well as individual

elements of an XML document.– E.g. a document whose URL is

http://www.textuality.com/RDF/Why.html

http://www.w3.org/TR/REC-rdf-syntax/

Page 16: Topic Maps and RDF(S)

CS3352

Basic Model: PropertyBasic Model: Property A Property is a specific aspect, characteristic,

attribute or relation to describe a resource. Can be used as a property – a property needs to be

a resource so that it can have its own properties.

http://www.w3.org/TR/REC-rdf-syntax/author

Page 17: Topic Maps and RDF(S)

CS3352

Basic Model: StatementsBasic Model: Statements A Statement consists of the combination of a

Resource, a Property, and a value. These parts are known as the 'subject', 'predicate' and 'object' of a Statement.

An example Statement is "The Author of http://www.cs.man.ac.uk/cs3362.html

is Carole Goble." The value can just be:

– a string, ( “Carole Goble“) or another resource ("The Home-Page of http://www.textuality.com/RDF/Why.html is http://www.textuality.com.“)

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”author

Page 18: Topic Maps and RDF(S)

CS3352

RDF model (example)RDF model (example)

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

dc:Creator

“1999-02-22”

dc:Date

“W3C”dc:Publisher

Page 19: Topic Maps and RDF(S)

CS3352

Complex valuesComplex values A graph node (corresponding to a resource)

also can be the value of a property– arbitrarily complex tree and graph structures are

possible– syntactically, values can be embedded (i.e.

lexically in-line) or referenced (linked)

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

dc:Creator

[email protected]

p:EMailp:Name

Page 20: Topic Maps and RDF(S)

CS3352

Complex values (continued)Complex values (continued) Corresponding triples

{ “http://www.w3.org/TR/PR-rdf-syntax/”, dc:Creator, x }{ x, p:Name, “Ora Lassila” }{ x, p:EMail, “[email protected]” }

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

dc:Creator

[email protected]

p:EMailp:Name

Page 21: Topic Maps and RDF(S)

CS3352

ContainersContainers Containers are collections

– they allow grouping of resources (or literal values) It is possible to make statements about the container (as a

whole) or about its members individually Different types of containers exist

– bag - unordered collection– seq - ordered collection (= “sequence”)– alt - represents alternatives

It is also possible to create collections based on URI patterns– for example, all files in a particular web site

Duplicate values are permitted– there is no mechanism to enforce unique value constraints

Page 22: Topic Maps and RDF(S)

CS3352

Containers (continued)Containers (continued)

http://www.w3.org/TR/REC-rdf-syntax

“Ora Lassila”

rdf:_1

rdf:Seq

dc:Creator

rdf:Type

“Ralph Swick”

rdf:_2

Page 23: Topic Maps and RDF(S)

CS3352

Containers (continued)Containers (continued)

http://www.w3.org/TR/REC-rdf-syntax

“Ora Lassila”

dc:Creator

“Ralph Swick”

dc:Creator

Page 24: Topic Maps and RDF(S)

CS3352

Containers (continued)Containers (continued) Triples from the first example:

– { “http://www.w3.org/TR/REC-rdf-syntax”, dc:Creator, x }– { x, rdf:_1, “Ora Lassila” }– { x, rdf:_2, “Ralph Swick” }– { x, rdf:type, rdf:Seq }

Triples from the second example:– { “http://www.w3.org/TR/REC-rdf-syntax”, dc:Creator, “Ora

Lassila” }– { “http://www.w3.org/TR/REC-rdf-syntax”, dc:Creator,

“Ralph Swick” } Syntactic shorthand provided (much like HTML lists)

Page 25: Topic Maps and RDF(S)

CS3352

Higher-order statementsHigher-order statements One can make RDF statements about other

RDF statements– example: “Ralph believes that the web contains

one billion documents” Higher-order statements

– allow us to express beliefs (and other modalities)– are important for trust models, digital

signatures,etc.– also: metadata about metadata– are represented by modeling RDF in RDF itself

Page 26: Topic Maps and RDF(S)

CS3352

ReificationReification RDF is not really second-order But it does provide a built-in predicate

vocabulary for reificationhttp://www.w3.org/TR/REC-rdf-syntax “Ora Lassila”dc:Creator

“Library of Congress”

dc:Creator

• The dotted box corresponds to the following statements

• { x, rdf:predicate, “dc:creator” }• { x, rdf:subject, “http://www.w3.org/TR/RED-rdf-syntax }• { x, rdf:object, “Ora Lassila” }• { x, rdf:type, “rdf:statement” }

Page 27: Topic Maps and RDF(S)

CS3352

RDF modelRDF model Graphs can be represented as relational “triples”

– { “http://www.w3.org/TR/REC-rdf-syntax/”, author, “Ora Lassila” }

Any arc in a graph corresponds to one triple, consisting of the arc label itself and the two endpoints

When searching, this is useful only if we know what the meaning of “author” is– e.g., “find all documents where the author is Ora Lassila”– new triple

{ “http://www.w3.org/TR/REC-rdf-syntax/”, dc:Creator, “Ora Lassila” }– “author” replaced by a label which is uniquely qualified (using the XML

namespace mechanism)– Drawn from a consensually pre-established vocabulary

Page 28: Topic Maps and RDF(S)

CS3352

RDF SyntaxRDF Syntax RDF Model and Syntax specification defines

a convention of XML usage to “serialize” RDF– Most of the trouble people have had

understanding RDF is probably caused by the syntax

– The syntax was “designed by a committee”)– Lots of attention diverted onto abbreviated

syntax– redesign of the syntax is possible at some point

Page 29: Topic Maps and RDF(S)

CS3352

RDF Syntax exampleRDF Syntax exampleOra Lassila is the creator of the resource

http://www.w3.org/Home/Lassila.

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://description.org/schema/"> <rdf:Description about="http://www.w3.org/Home/Lassila"> <s:Creator>Ora Lassila</s:Creator> </rdf:Description></rdf:RDF>

Page 30: Topic Maps and RDF(S)

CS3352

Problems with RDFProblems with RDF Syntax is hard

– Fixable but off-putting Modelling is difficult

– Confused simplicity with simple-minded– Confused generality with simplicity– E.g. Quantification?

Page 31: Topic Maps and RDF(S)

CS3352

RDF and RDF SchemaRDF and RDF Schema RDF a small set of modelling primitives + syntax RDF does not commit to a domain vocabulary RDF Schema -- RDF(S)

– Extended set of modeling primitives– Define a domain vocabulary for RDF – Organise this vocabulary in a typed hierarchy– BUT expressive inadequacy and poorly defined semantics

RDFS is the framework for a vocabulary– RDF schema provides an extensible, object-oriented type

system Schema definitions are expressed in RDF itself

Page 32: Topic Maps and RDF(S)

CS3352

RDF Schema ModelRDF Schema ModelProperty-centric

1. resource, class, subClassOf, type2. property, subPropertyOf3. domain, range, constraintResource, constraintProperty

a new class can be defined by extending an existing class– extension reuses (and thus shares) existing definition(s)– a class can have multiple superclasses

schema definitions can include constraints which express validation conditions

– domain constraints link properties with classes– range constraints limit property values– “hook” for new constraints

Page 33: Topic Maps and RDF(S)

CS3352

RDF Schema ModelRDF Schema Model

ClassMotorVehicle

Truck

PersonProperty

registeredTo

ownedByDomain

Range Resource

type

type

subClassOf

subClassOf

subClassOf

type

type type

Page 34: Topic Maps and RDF(S)

CS3352

RDF Data ModelRDF Data Modelrdfs:Resource

rdfs:Class rdf:Property

RD

F/R

DFS

laye

ran

d na

mes

pace

appl

icat

ion

spec

ific

sche

ma

and

nam

espa

ce

appl:Person

appl:Man appl:Woman

appl:firstNameappl:marriedWith

appl:lastName

appl:Organisation

appl

icat

ion

spec

ific

actu

al d

atahttp://www.foo.com/W.Smith

William Smith

appl:lastNameappl:firstName

http://www.foo.com/S.Smith

SmithSusan

appl:firstName appl:lastName

appl:marriedWith

subClassOfinstanceOf

Page 35: Topic Maps and RDF(S)

CS3352

App

licat

ion-

sp

ecifi

cac

tual

dat

a

http://www.foo.com/W.Smith

William Smith

appl:lastNameappl:firstName

http://www.foo.com/S.Smith

SmithSusan

appl:firstName appl:lastName

appl:marriedWith

rdfs:Resource

rdfs:Class rdf:Property RD

F/R

DFS

laye

r and

na

mes

pace

subClassOf

instanceOf

App

licat

ion-

spec

ific

sche

ma

and

nam

espa

ceappl:Person

appl:Man appl:Woman appl:fatherInLaw appl:marriedWithappl:fatherOf

appl:Organisation o:secondComponento:firstComponent

o:composee

o:Relationo:Partition

o:P

artO

fRel

o:is

Inve

rseR

elat

ionO

f

o:Composition

onto

logy

met

a la

yer

and

nam

espa

ce

o:R

efle

xive

o:Irr

efle

xive

o:A

sym

met

ric

o:Tr

ansi

tive

o:S

ymm

etric

o:Partonomic-RolePropagation

Page 36: Topic Maps and RDF(S)

CS3352

RDF and XMLRDF and XML RDF data model is an abstract, conceptual

layer independent of XML– consequently, XML is a transfer syntax for RDF,

not a component of RDF– RDF data might never occur in XML form

it might reside, for example, in an RDB– XML relieves us of syntactic details when

transporting RDF

Page 37: Topic Maps and RDF(S)

CS3352

RDF Schema syntax in XMLRDF Schema syntax in XML<rdf:Description ID="MotorVehicle"> <rdf:type resource="http://www.w3.org/...#Class"/> <rdfs:subClassOf rdf:resource="http://www.w3.org/...#Resource"/> </rdf:Description><rdf:Description ID="Truck"> <rdf:type resource="http://www.w3.org/...#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/></rdf:Description><rdf:Description ID="registeredTo"> <rdf:type resource="http://www.w3.org/...#Property"/> <rdfs:domain rdf:resource="#MotorVehicle"/> <rdfs:range rdf:resource="#Person"/></rdf:Description><rdf:Description ID=”ownedBy"> <rdf:type resource="http://www.w3.org/...#Property"/> <rdfs:subPropertyOf rdf:resource="#registeredTo"/></rdf:Description>

Page 38: Topic Maps and RDF(S)

CS3352

W3C project for shared web W3C project for shared web annotation using RDFannotation using RDF

Comments, notes, explanations, or other types of external remarks that can be attached to any Web document or a selected part of the document without actually needing to touch the document.

Uses an RDF based annotation schema for describing annotations as metadata and XPointer for locating the annotations in the annotated document.

First client implementation of Annotea is an editor/browser

Page 39: Topic Maps and RDF(S)

CS3352

Topic Maps vs RDF(S)Topic Maps vs RDF(S) Both are weak

– Inexpressive– No semantics– Reinventing wheels not terribly effectively

Slightly different perspectives– Topic Maps – topic centric– RDF(S) – property centric

Topic maps have the notion of “aboutness” lacking in RDF, which has the notion of “instance”

Both use XML as a carrier syntax A religious war

Page 40: Topic Maps and RDF(S)

CS3352

Layered LanguagesLayered Languages

XMLHTMLXHTML SMIL RDF(S)

PICS

Declarative Languages(OIL, DAML+OIL)

DC

The W3C hierarchy of languages:

Page 41: Topic Maps and RDF(S)

CS3352

RDF, RDFSOILSemantic web

Building on StandardsBuilding on Standards

Html, HttpBrowsers

1990

DHTML, CSS, Javascript, CGISearch engines

XML, DTDs,

XLink

Static web

Dynamic web

Consistent web

1994 1996 1998 20001992

XSLTXML-QL

Page 42: Topic Maps and RDF(S)

CS3352

RDF(S) Further ReadingRDF(S) Further Reading Tutorials

– http://www.zvon.org/xxl/RDFTutorial/General/book.html– http://www.xml.com/pub/a/98/06/rdf.html

RDF Resource collection– http://www.ilrt.bristol.ac.uk/discovery/rdf/resources/

Why RDF is different to XML– http://www.w3.org/DesignIssues/RDF-XML.html

W3C– http://www.w3.org/RDF/