1 / 38

RDF & RDF Schema Machine Understandable Metadata for the Web

Understanding RDF Schema with examples in Semantic Web. Learn about RDF's role in expressing metadata, RDF vs. XML, linking statements, and RDF implementation methods.

dsnell
Download Presentation

RDF & RDF Schema Machine Understandable Metadata for the Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RDF & RDF SchemaMachine Understandable Metadata for the Web Semantic Web - Fall 2005 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 (1109) 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 • Information about information • Structured data about data • Many types/forms of metadata, dependent on role:

  7. Types of Metadata: Web Resource discovery (Intellectual) property rights management Document management administration Archival information / status Security & User authentication Content ratings (PICS) Process description & control Product & Services Descriptions 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 in SW Architecture

  11. Example (generated by RDFPic)

  12. Predicate Statement 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

  13. Example shown in triples view

  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. 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. CE Ganji http://ce.sharif.edu Sharif Linking Statements • The subject of one statement can be the object of another • Such collections of statements form a directed, labeled graph studentOF departmentOF hasHomePage

  17. RDF Graph: ‘anonymous’ nodes Person PersonName Literal Person12345 person.name value Jonathan first last value Borden

  18. Using XPointer to name Person PersonName Literal Person12345 person.name value Jonathan /1/1/1 first /1/1 last value /1/1/2 Borden

  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. Converting N3 to RDF • Jena toolkit can do such conversion

  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 apropertyof 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. 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. 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. 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. http://www.w3.org/TR/REC-rdf-syntax dc:Creator rdf:Type rdf:Seq rdf:_1 rdf:_2 “Ora Lassila” “Ralph Swick” Sequence example

  26. Bag example

  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. Reification example • In N3:

  29. Reification example (cont.) • In RDF:

  30. Reification example (cont.) • RDF Graph (by IsaViz):

  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. 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

  33. RDFS Examples <Person,type,Class> <hasColleague,type,Property> <Professor,subClassOf,Person> <Carole,type,Professor> <hasColleague,range,Person> <hasColleague,domain,Person>

  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. 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. 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 <http://xmlns.com/foap/knows> ?z), (?x <http://xmlns.com/foap/name> ?person), (?z <http://xmlns.com/foap/name> ?knows)

  37. RDF Validators • RDF Validation Service • http://www.w3.org/RDF/Validator/ • In general all the RDF parsers do some kind of validation

  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

More Related