Motivation Resource Description Framework (RDF) Describe all - - PowerPoint PPT Presentation

motivation resource description framework rdf
SMART_READER_LITE
LIVE PREVIEW

Motivation Resource Description Framework (RDF) Describe all - - PowerPoint PPT Presentation

Motivation Resource Description Framework (RDF) Describe all resources Make them machine-readable Provide common framework among different applications How to do this? What is RDF? Create a framework using an application-


slide-1
SLIDE 1

Resource Description Framework (RDF) Motivation

Describe all resources Make them machine-readable Provide common framework among different

applications

How to do this?

Create a framework using an application-

independent syntax: XML

What is RDF?

Describes attributes about objects Can point to other objects described by RDF Creates a graph of resources Resources are identified by URIs

slide-2
SLIDE 2

What is a URI?

Universal Resource Indicator Consists of prefix and description URL is a type of URI

Resource Description Framework (RDF)

RDF/XML Syntax

RDF/XML

RDF/XML is valid XML It uses a standardized set of tags to

represent an RDF graph

The RDF graph has node-arc-node triples

that represent subject-predicate-object relationships

RDF/XML

The relationships are represented by nested

XML tags

Following the nesting of the tags is

equivalent to traversing the graph

<rdf:Description> is the tag used to begin a

node

slide-3
SLIDE 3

RDF/XML

The tags use URI as attributes to identify

what they describe

In the case of an arc or predicate the URI is

appended with a local reference

The URI can then be replaced with a

namespace to shorten the tag length

RDF/XML

  • Example:

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" dc:title="RDF/XML Syntax Specification (Revised)"> <ex:editor> <rdf:Description ex:fullName="Dave Beckett"> <ex:homePage rdf:resource="http://purl.org/net/dajobe/" /> </rdf:Description> </ex:editor> </rdf:Description> </rdf:RDF>

RDF

A language for representing information

about resources in the World Wide Web.

Based on XML syntax. Used to describe the title, author ect for

webpage.

The concept of a ‘web resource.’

RDF

RDF is intended for situations where information

needs to be processed by applications, rather then being only displayed to people

RDF is based on the idea of identifying things that

use Web identifiers (URI)

Describes things in simple terms of properties and

property values.

The resources of RDF are not fixed

slide-4
SLIDE 4

Basic Concepts of RDF

Subject-The resource we are talking about Predicate-A property of that resource that we

wish to describe

Object-The value of the predicate. The

  • bject we wish to associate with the

predicate

In Plain English

http://www.example.org/index.html has a

creator whose value is John Smith

RDF

RDF is designed so machines can identify

resources.

Querying RDF is based on the concept of a

URI

Uses XML to describe all its information

Graph Representation

slide-5
SLIDE 5

Graph Representation

There can be a larger graph where there are

multiple predicate/object tuples defining an

  • bject

Graph Representation Tuples

Or data can be defined in tuples: <http://www.example.org/index.html>

<http://purl.org/dc/elements/1.1/creator> <http://www.example.org/staffid/85740> .<http://www.example.org/index.html> <http://www.example.org/terms/creation-date> "August 16, 1999" .<http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/language> "en" .

RDF

Each triple corresponds to a single arc in the graph

above

RDF does not associate meaning any more then a

database associates meaning to its table names and

  • SQL. It simply defines a structure creation method

and a querying method.

When data needs to be more structured it can be

broken up into pieces for instance with an address

slide-6
SLIDE 6

RDF Blank Nodes

Blank nodes are used to represent a more accurate

description of a model. For instance john and johns address are not the same object and therefore there should be arcs that separate them from each other.

In the triples notation URI objects must be enclosed

in angle brackets.

RDF uses blank nodes to represent n-ary

  • replationships. From the triples listing above this is a

5 way relationship.

Types Types

All of the previous objects have had no type.

However in the example above the author most likely intends to mean 27 interpreted as a number.

In RDF we define an objects type by pairing it

with a type definintion. For example with integers this is xsd:integer.

The xsd is shorthand for a descriptor of its

type.

slide-7
SLIDE 7

Types

We can write this in the triples representation

as follows:

ex:index.html exterms:creation-date "1999-

08-16"^^xsd:date .

RDF has no built in datatypes of its own.

Similar to soap however the user can describe any object datatype by associating a type to it.

Types

Technically the type associations have no

actual meaning since the RDF document

  • nly associates the name of the type but

does not enforce it. The type is only used to describe the intended meaning of an object.

Resource Description Framework (RDF)

Applications

Applications

RDF is used for storing metadata We use metadata all the time

Searching the library Looking up a phone number in the Yellow Pages

It is possible to perform them without metadata

Search the books one by one Dial every possible phone number until you get the right one

These searches are made easy because of

metadata

slide-8
SLIDE 8

How Does RDF Make Life Easier?

RDF can be used for:

– Search engines – Web Services – Internal relationships between items – Web Mining – Standardized metadata access

– Industry standards – Searches – Storage – Interoperability

RDF and Search Engines

Currently search engines operate on a “brute force” discovery

method

RDF allows for an efficient, structured and organized way to

search for information

Search engines like Vivisimo will become more ubiquitous

because RDF allows for an efficient querying of metadata

– Higher precision in resource discovery than with full text

search engines

The aim: to provide a uniform query capability for

resource discovery

Possible because of the way RDF can structure and

  • rganize metadata so it is easily understandable by

programs

RDF and Web Services

RDF provides a structured way to describe both the semantics

and syntax of your web service.

As seen with the project, organizing and finding out what the

format and syntax of a web service call is a somewhat arduous process

With RDF, this discovery process could be made much easier

and much more seamless

RDF and Web Mining

RDF can enhance web mining With a standardized way to represent

metadata, the process of extracting patterns and “massaging” this data becomes much easier

Less resource intensive

slide-9
SLIDE 9

RDF and Multimedia Databases

Currently most multimedia databases either rely on

text searches of captions of an image or on properties of the actual content of the file

Image – global color histogram, layout Audio – length, frequency signature

Metadata about multimedia files can be created with

RDF and this can provide a much more powerful way for searching through multimedia databases

The problem: While this metadata is great for

searching, who is going to input this metadata?

Automated metadata generators are far from perfect

  • Metadata

information about the picture

  • This information can

be efficiently and conveniently searched

RDF – An Example RDF Examples Some examples of where RDF can be used.

Describing properties for shopping items, like price

and availability

Describing time schedules for web events Describing information about web pages, like

created and modified date, title, and author

Describing content and rating for web pictures Describing content for search engines Describing electronic libraries

slide-10
SLIDE 10

An example which omits Namespaces.

<?xml version="1.0"?> <RDF> <Description about="http://www.w3schools.com/default.asp"> <author>Jan Egil Refsnes</author> <created>November 1, 1999</created> <modified>February 1, 2004</modified> </Description> </RDF>

Resources, Properties, and Values / Subjects, Predicates, and Objects

The previous example analyzed. http://www.w3schools.com/default.asp is the

resource or subject

The element <author> is a property or predicate The value "Jan Egil Refsnes" is a value or object.

A more detailed example.

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bug="http://www.microsoft.com/bugs"> <rdf:Description rdf:about="http://www.microsoft.com/bugs/Windows/"> <bug:name>Program Not Responding</bug:name> <bug:severity>FATAL</bug:severity> <bug:program>Internet Explorer</bug:program> <bug:errorcode>0x28FA28FA28F2FF...F8FAF83FFE38FE38F</bug:errorcode> <bug:time>12:31:43 PM</bug:time> </rdf:Description> ... </rdf:RDF>

Analyzing Again...n...again....zzzzzzz

  • The first line in the XML file is the XML declaration, telling the version of XML.
  • The rdf:RDF element (starting with rfd:RDF and ending with /rdf:RDF) indicates

that the content is RDF.

  • The xmlns:rdf namespace, specifies that tags with the rdf: prefix are from the

namespace defined by "http://www.w3.org/1999/02/22-rdf-syntax-ns#".

  • The xmlns:bug namespace, specifies that tags with the bug: prefix are from the

namespace defined by "http://www.microsoft.com/bugs".

  • The rdf:Description element (starting with rdf:Description and ending with

/rdf:Description) contains the description of a resource identified by the rdf:about attribute.

  • The bug:name element describes a property of the resource, and so does

bug:severity, etc.

slide-11
SLIDE 11

WAKE UP!!!!!!......this is funny...

  • RDFS – RDF Schema example

<?xml version="1.0"?> <rdf:RDF xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base= "http://www.animals.fake/animals"> <rdf:Description rdf:ID="animal"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> </rdf:Description> <rdf:Description rdf:ID="horse"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#animal"/> </rdf:Description> </rdf:RDF>

Whats the diff?? It all looks the same...

RDF Schema does not provide actual application-specific

classes and properties.

Instead RDF Schema provides the framework to describe

application-specific classes and properties

Classes in RDF Schema is much like classes in object oriented

programming languages. This allows resources to be defined as instances of classes, and subclasses of classes.

Note: in the previous example horse and dog are subclasses of

animal.

Any Questions?

...and they lived happily ever after.

THE END THE END