semantic web course computer engineering department sharif univ. of technology fall 2005 1 rdf ...
DESCRIPTION
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall Semantic Web: Problems Too much Web information –around 1,000,000,000 (1 10 9 ) resources –Many different types of resources text, images, graphics, audio, video, multimedia, databases, Web applications, …TRANSCRIPT
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 1Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 1
RDF & RDF SchemaMachine Understandable Metadata for the Web
Semantic Web - Fall 2005Computer Engineering Department
Sharif University of Technology
2
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 2Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 2
Outline
• Metadata• RDF• RDFS• RDF(S) Tools
3
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 3Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 3
Semantic Web: Problems
• Too much Web information– around 1,000,000,000 (1109) resources– Many different types of resources
• text, images, graphics,• audio, video, multimedia, • databases, Web applications, …
4
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 4Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 4
Semantic Web: Problems (2)
• Information not indexable– No common “scheme” for doing so– Short-lived, dynamic resources– Differing relationships between authors, publishers, info
intermediaries, users• Each community uses their own approach
5
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 5Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 5
Semantic Web: Problems (3)
• Information not shareable– Difficult to share information– Difficult to share information about information
• no common cataloging schemes
6
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 6Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 6
Main Issues:
• Metadata – Information about information– Structured data about data
• Many types/forms of metadata, dependent on role:
7
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 7Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 7
Types of Metadata:
Web Resource discovery
Content ratings (PICS)
Product &ServicesDescriptions
Document management administration
Security & Userauthentication
(Intellectual)property rightsmanagement
Database / data schemas
Archivalinformation /status
Process description &control
8
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 8Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 8
Second Issue:
• Language for expressing metadata must be:– universal (so all can understand)– flexible (to incorporate different types) – extensible (flexible to custom types)– simple (to encourage adoption)– modular (so that schemes can be mixed, extended)
9
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 9Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 9
RDF
• RDF stands for Resource Description Framework
• It is a machine understandable metadata• RDF is graphical formalism ( + XML syntax
+ semantics)– for representing metadata– for describing the semantics of information in a
machine- accessible way
10
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 10Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 10
RDF in SW Architecture
11
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 11Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 11
Example (generated by RDFPic)
12
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 12Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 12
RDF Model
• A model is a collection of statements• Statement := (predicate,subject,object)• Predicate is a resource• Subject is a resource• Object is either a resource or a literal
Subject Object
Predicate
Statement
13
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 13Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 13
Example shown in triples view
14
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 14Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 14
RDF model and natural language
• Subject. In grammar, this is the noun or noun phrase that is the doer of the action. In the sentence “The company sells batteries,” the subject is “the company.”
• Predicate. In grammar, this is the part of a sentence that modifies the subject and includes the verb phrase. In our sentence, the predicate is the phrase “sells”
• Object. In grammar this is a noun that is acted upon by the verb. In our sentence, the object is the noun “batteries.”
15
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 15Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 15
XML vs. RDF
• RDF is not just an XML dialect.– XML:
• Has a tree structure data model.• Only nodes are labeled.
– RDF:• Has a graph structure data model.• Both edges (properties) and nodes (subjects/objects) are
labeled.
16
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 16Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 16
Linking Statements
• The subject of one statement can be the object of another
• Such collections of statements form a directed, labeled graph
Ganji CEstudentOF
Sharif http://ce.sharif.edu
departmentOF hasHomePage
17
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 17Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 17
RDF Graph: ‘anonymous’ nodes
Person12345
Jonathan
Borden
person.name
first
last
value
value
PersonName LiteralPerson
18
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 18Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 18
Using XPointer to name
Person12345
/1/1/1/1/1
/1/1/2
Jonathan
Borden
person.name
first
last
value
value
PersonName LiteralPerson
19
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 19Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 19
How can RDF be implemented
• Usually RDF/XML syntax• However other notations are possible
– e.g. Notation3:• Buddy Belden owns a business.• The business has a Web site accessible at
http://www.c2i2.com/~budstv.• Buddy is the father of Lynne.
• <#Buddy> <#owns> <#business>.• <#business> <#has-website>
<http://www.c2i2.com/~budstv>.• <#Buddy> <#father-of> <#Lynne>.
20
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 20Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 20
Converting N3 to RDF
• Jena toolkit can do such conversion
21
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 21Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 21
XML Syntax for RDF• RDF has an XML syntax that has a specific meaning:• Every Description element describes a resource• Every attribute or nested element inside a Description is a
property of that Resource• We can refer to resources by using URIs
<rdf:Description about="some.uri/person/ganji"> <studentOf resource="some.uri/Sharif/CE"/></Description><Description about="some.uri/Sharif/CE"> <hasHomePage>http://ce.sharif.edu</hasHomePage>
<departmentOf resource="some.uri/~Sharif"/></rdf:Description>
22
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 22Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 22
RDF type• RDF predifined property• Its value – a resource that represent a category or class• Its subject – Instance of that category or class
prefix ex: URI: http://www.example.org/terms
23
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 23Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 23
Containers
• 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
• It is also possible to create collections based on URI patterns– for example, all files in a particular web site
24
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 24Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 24
RDF containers
• Bag: (A resource having type rdf:Bag)– Represents an unordered list of resources or
literals– Duplicated values are prermitted
• Sequence: (A resource having type rdf:Seq)– Represents ordered list of resources or literal– Duplicated values are permitted
• Alternatives: (A resource having type rdf:Alt)– Represents group of resources or literals that are
alternatives
25
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 25Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 25
Sequence example
http://www.w3.org/TR/REC-rdf-syntax
“Ora Lassila”
rdf:_1
rdf:Seq
dc:Creator
rdf:Type
“Ralph Swick”
rdf:_2
26
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 26Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 26
Bag example
27
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 27Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 27
RDF reification
• association of a statement and a specific resource representing the statement• used to make statements about statements• Vocabulary:
• type rdf:asserts• properties
• rdf:subject• rdf:predicate• rdf:object
28
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 28Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 28
Reification example
• In N3:
29
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 29Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 29
Reification example (cont.)
• In RDF:
30
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 30Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 30
Reification example (cont.)
• RDF Graph (by IsaViz):
31
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 31Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 31
RDF Schema (RDFS)
• RDF gives a formalism for meta data annotation, and a way to write it down in XML, but it does not give any special meaning to vocabulary such as subClassOf or type– Interpretation is an arbitrary binary relation
• RDF Schema allows you to define vocabulary terms and the relations between those terms– it gives “extra meaning” to particular RDF predicates and
resources– this “extra meaning”, or semantics, specifies how a term should
be interpreted
32
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 32Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 32
Core Classes & Properties
Core Classes
Core Properties
rdfs:Resource
rdfs:Literal
rdfs:XMLLiteral
rdfs:Class
rdfs:Property
rdfs:Type
rdfs:SubClassOf
rdfs:SubPropertyOf
rdfs:Domain
rdfs:Range
rdfs:Label
rdfs:Comment
33
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 33Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 33
RDFS Examples
<Person,type,Class><hasColleague,type,Property><Professor,subClassOf,Person><Carole,type,Professor><hasColleague,range,Person><hasColleague,domain,Person>
34
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 34Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 34
RDF/RDFS “Liberality”• No distinction between classes and instances
(individuals)<Species,type,Class><Lion,type,Species><Leo,type,Lion>
• Properties can themselves have properties<hasDaughter,subPropertyOf,hasChild><hasDaughter,type,familyProperty>
• No distinction between language constructors and ontology vocabulary, so constructors can be applied to themselves/each other<type,range,Class><Property,type,Class><type,subPropertyOf,subClassOf>
35
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 35Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 35
Problems with RDFS• RDFS too weak to describe resources in sufficient detail
– No localised range and domain constraints• Can’t say that the range of hasChild is person when applied to
persons and elephant when applied to elephants– No existence/cardinality constraints
• Can’t say that all instances of person have a mother that is also a person, or that persons have exactly 2 parents
– No transitive, inverse or symmetrical properties• Can’t say that isPartOf is a transitive property, that hasPart is
the inverse of isPartOf or that touches is symmetrical– …
• Difficult to provide reasoning support– No “native” reasoners for non-standard semantics– May be possible to reason via FO axiomatisation
36
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 36Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 36
RDF(S) tools• Read RDF data
– Parsers: Jena, Redland, SWI-Prolog– Validators: W3C RDF validation service– Editors: IsaViz, RDF Author, RDFEd, InferEd
• Store RDF data (XML format, tripples or relational/oo DB)– Sesame, RSSDB, RDFLib
• Use RDF data (applications, RSS news, etc.)• Manipulate RDF data (inference, query, etc.)
– Jena RDQL, etc.– Example:
SELECT ?person, ?knowsWHERE (?x <http://xmlns.com/foap/knows> ?z),(?x <http://xmlns.com/foap/name> ?person), (?z <http://xmlns.com/foap/name> ?knows)
37
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 37Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 37
RDF Validators
• RDF Validation Service– http://www.w3.org/RDF/Validator/
• In general all the RDF parsers do some kind of validation
38
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 38Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall 2005 38
References
• RDF Resource Guide:– http://www.ilrt.bris.ac.uk/discovery/rdf/resources/
• http://www.w3.org/RDF• http://www.w3.org/RDF/Validator/• Chapter 5 of the book