Download presentation
Presentation is loading. Please wait.
Published byΣταύρος Δελή Modified over 6 years ago
1
RDF & RDF Schema Machine Understandable Metadata for the Web
Semantic Web - Spring 2007 Computer Engineering Department Sharif University of Technology
2
Outline Metadata RDF RDFS RDF(S) Tools
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: 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: Problems (3)
Information not shareable Difficult to share information Difficult to share information about information no common cataloging schemes
6
Main Issues: Metadata Many types/forms of metadata, dependent on role:
Information about information Structured data about data Many types/forms of metadata, dependent on role:
7
Types of Metadata: Web Resource discovery Document management
administration (Intellectual) property rights management Archival information / status Security & User authentication Content ratings (PICS) Product & Services Descriptions Process description & control Database / data schemas
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
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
RDF (cont.) The XML tags can often add meaning to data, however, actually understanding the tags is meaningful only to humans. For example: <book> <title>G¨odel, Escher, Bach: An Eternal Golden Braid<title> </book> A human might infer that: “The book has the title G¨odel, Escher, Bach: An Eternal Golden Braid.” A machine, however, could not make this inference based upon the XML alone. For machines to do more automatically, it is necessary to go beyond the notion of the HTML display model, or XML data model, toward a “meaning”
11
RDF (cont.) RDF is an assertional language intended to be used to express propositions using precise formal vocabularies. It is intended to provide a basic foundation for more advanced assertional languages with a similar purpose The overall design goals emphasise generality and precision in expressing propositions about any topic, rather than conformity to any particular processing model An RDF document can delineate precise relationships between vocabulary items by constructing a grammatical representation. Assertions in different RDF documents can be combined to provide far more information together than they could separately.
12
RDF in SW Architecture
13
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
14
Example “The book [subject] has the title [predicate] G¨odel, Escher, Bach: An Eternal Golden Braid [object].” This can be represented as the triple: (The book, has the title, G¨odel, Escher, Bach: An Eternal Golden Braid).
15
Example (generated by RDFPic)
16
Example shown in triples view
17
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.”
18
XML vs. RDF RDF is not just an XML dialect. XML: RDF:
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.
19
Linking Statements The subject of one statement can be the object of another Such collections of statements form a directed, labeled graph studentOF CE Ganji departmentOF hasHomePage Sharif
20
RDF Graph: ‘anonymous’ nodes
Person PersonName Literal Person12345 person.name value Jonathan first last value Borden
21
Using XPointer to name Person PersonName Literal Person12345
value Jonathan first /1/1/1 /1/1 last value /1/1/2 Borden
22
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 Buddy is the father of Lynne. <#Buddy> <#owns> <#business>. <#business> <#has-website> < <#Buddy> <#father-of> <#Lynne>.
23
Converting N3 to RDF Jena toolkit can do such conversion
24
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> <departmentOf resource="some.uri/~Sharif"/> </rdf:Description>
25
RDF document parts
26
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:
27
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 Simple introduction to containers. Can be skipped if pressed with time.
28
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
29
Sequence example http://www.w3.org/TR/REC-rdf-syntax “Ora Lassila”
rdf:_1 rdf:Seq dc:Creator rdf:Type “Ralph Swick” rdf:_2
30
Bag example
31
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
32
Reification example In N3:
33
Reification example (cont.)
In RDF:
34
Reification example (cont.)
RDF Graph (by IsaViz):
35
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
36
Core Classes & Properties
rdfs:Resource rdfs:Literal rdfs:XMLLiteral rdfs:Class rdfs:Property Core Classes rdfs:Type rdfs:SubClassOf rdfs:SubPropertyOf rdfs:Domain rdfs:Range rdfs:Label rdfs:Comment Core Properties
37
RDFS Examples <Person,type,Class>
<hasColleague,type,Property> <Professor,subClassOf,Person> <Carole,type,Professor> <hasColleague,range,Person> <hasColleague,domain,Person>
38
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>
39
RDF and RDFS Layers
40
Friend of a Friend (FOAF) application
Many communities, such as companies, professional organizations, and social groupings, have proliferated on the Internet. The Friend of a Friend (FOAF) RDF vocabulary, originated by Dan Brickley and Libby Miller, gives a basic expression for community membership. The FOAF project describes people and their basic properties, such as name, address, and so on. Friend of a Friend allows the expression of personal information and relationships. As a result, search engines can find people with similar interests through FOAF. Friend of a Friend is simply an RDF vocabulary. You can create FOAF files on your Web server and share the URLs so that software can use the information. The creation of FOAF data is decentralized since it allows many to contribute independently.
41
FOAF example
42
Rich Site Summary (RSS)
A form of publishing content such that machines can process them. One dialect is based on RDF Very popular for news sites Tools like RSS reader can syndicate news and bring them to the desktop
43
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
44
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, ?knows WHERE (?x < ?z), (?x < ?person), (?z < ?knows)
45
RDF Validators RDF Validation Service
In general all the RDF parsers do some kind of validation
46
References RDF Resource Guide: http://www.w3.org/RDF/Validator/
Chapter 5 of the book
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.