slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Internet Technologies PowerPoint Presentation
Download Presentation
Internet Technologies

Loading in 2 Seconds...

play fullscreen
1 / 62

Internet Technologies - PowerPoint PPT Presentation


  • 496 Views
  • Uploaded on

Internet Technologies The Resource Description Framework (RDF and RDFa) RDF and RDFa Notes from two articles on course schedule: “What is RDF” by Tim Bray and Joshua Tauberer and the “RDFa Primer” from W3C A Knowledge Graph Triples Start Node Edge Label End Node

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Internet Technologies


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Internet Technologies

The Resource Description Framework (RDF and RDFa)

95-733 Internet Technologies

rdf and rdfa

RDF and RDFa

Notes from two articles on course schedule: “What is RDF” by Tim Bray and Joshua Tauberer and the “RDFa Primer” from W3C

95-733 Internet Technologies

a knowledge graph
A Knowledge Graph

95-733 Internet Technologies

triples
Triples

Start Node Edge Label End Node

vincent_donofrio starred_in law_&_order_ci

law_&_order_ci is_a tv_show

the_thirteenth_floor similar_plot_as the_matrix

95-733 Internet Technologies

notation 3 n3 or turtle format
Notation 3 (N3) or Turtle Format

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

@prefix ex: <http://www.example.org/> .

ex:vincent_donofrio ex:starred_in ex:law_and_order_ci .

ex:law_and_order_ci rdf:type ex:tv_show .

ex:the_thirteenth_floor ex:similar_plot_as ex:the_matrix .

95-733 Internet Technologies

rdf xml
RDF/XML

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:ex="http://www.example.org/">

<rdf:Description rdf:about="http://www.example.org/vincent_donofrio">

<ex:starred_in>

<ex:tv_show rdf:about="http://www.example.org/law_and_order_ci" />

</ex:starred_in>

</rdf:Description>

<rdf:Description rdf:about="http://www.example.org/the_thirteenth_floor">

<ex:similar_plot_as rdf:resource="http://www.example.org/the_matrix" />

</rdf:Description>

</rdf:RDF>

95-733 Internet Technologies

another rdf xml
Another RDF/XML

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/dc/elements/1.1/"

xmlns:geo="http://www. w3.org/2003/01/geo/wgs84_pos#"

xmlns:edu="http://www.example.org/">

<rdf:Description rdf:about="http://www.princeton.edu">

<geo:lat>40.35</geo:lat>

<geo:long>-74.66</geo:long>

<edu:hasDept rdf:resource="http://www.cs.princeton.edu"

dc:title="Department of Computer Science"/>

</rdf:Description>

</rdf:RDF>

95-733 Internet Technologies

as a table
As A Table

Subject Predicate Object

----------------------------- ----------- --------

<http://www.princeton.edu> edu:hasDept <http://www.cs.princeton.edu>

<http://www.princeton.edu> geo:lat "40.35"

<http://www.princeton.edu> geo:long "-74.66"

<http://www.cs.princeton.edu> dc:title "Department of Computer Science"

95-733 Internet Technologies

notation 3
Notation 3

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

@prefix dc: <http://purl.org/dc/elements/1.1/> .

@prefix geo: <http://www. w3.org/2003/01/geo/wgs84_pos#> .

@prefix edu: <http://www.example.org/> .

<http://www.princeton.edu> geo:lat "40.35" ; geo:long "-74.66" .

<http://www.cs.princeton.edu> dc:title "Department of Computer Science" .

<http://www.princeton.edu> edu:hasDept <http://www.cs.princeton.edu> .

95-733 Internet Technologies

from the rdfa w3c primer
From the RDFa W3C Primer

“When web data meant for humans is augmented with hints

meant for computer programs, these programs become

significantly more helpful.”

95-733 Internet Technologies

xhtml without and with rdfa
XHTML Without and With RDFa

All content on this site is licensed under

<a href="http://creativecommons.org/licenses/by/3.0/">

a Creative Commons License

</a>

All content on this site is licensed under

<a rel="license" href="http://creativecommons.org/licenses/by/3.0/">

a Creative Commons License

</a>.

The rel, in a

link, describes

the relationship

between the

current page

and the linked

page.

95-733 Internet Technologies

a link with a flavor
A Link with a Flavor

95-733 Internet Technologies

labeling title and author
Labeling Title and Author

<div>

<h2>The trouble with Bob</h2>

<h3>Alice</h3>

...

</div>

<div xmlns:dc="http://purl.org/dc/elements/1.1/">

<h2 property="dc:title">The trouble with Bob</h2>

<h3 property="dc:creator">Alice</h3>

...

</div>

RDFa introduces the

property attribute.

What kind of title? A

title of a person or a

title to land or a title of

a work?

95-733 Internet Technologies

multiple items per page
Multiple Items Per Page

RDFa provides

@about, an

attribute for

specifying the

exact URL to

which the

contained

RDFa markup

applies

<div xmlns:dc="http://purl.org/dc/elements/1.1/">

<div about="/alice/posts/trouble_with_bob">

<h2 property="dc:title">The trouble with Bob</h2>

<h3 property="dc:creator">Alice</h3>

...

</div>

<div about="/alice/posts/jos_barbecue">

<h2 property="dc:title">Jo's Barbecue</h2>

<h3 property="dc:creator">Eve</h3>

...

</div>

</div>

95-733 Internet Technologies

as a diagram
As a Diagram

95-733 Internet Technologies

alice gives bob credit
Alice Gives Bob Credit

<div about="/alice/posts/trouble_with_bob">

<h2 property="dc:title">The trouble with Bob</h2>

The trouble with Bob is that he takes much better photos than I do:

<div about="http://example.com/bob/photos/sunset.jpg">

<img src="http://example.com/bob/photos/sunset.jpg" />

<span property="dc:title">Beautiful Sunset</span>

by <span property="dc:creator">Bob</span>.

</div>

</div>

The inner about

overrides the

outer about.

95-733 Internet Technologies

as a graph
As A Graph

95-733 Internet Technologies

blog contact info
Blog Contact Info

<div>

<p>

Alice Birpemswick

</p>

<p>

Email: <a href="mailto:alice@example.com">alice@example.com</a>

</p>

<p>

Phone: <a href="tel:+1-617-555-7332">+1 617.555.7332</a>

</p>

</div>

This is mainly useful

for viewing.

95-733 Internet Technologies

blog w foaf contact info
Blog w/FOAF Contact Info

The Dublin core

has no vocabulary for

describing friendships.

But foaf does.

<div typeof="foaf:Person"

xmlns:foaf="http://xmlns.com/foaf/0.1/">

<p property="foaf:name">Alice Birpemswick</p>

<p>Email: <a rel="foaf:mbox"

href="mailto:alice@example.com">

alice@example.com</a>

</p>

<p>

Phone: <a rel="foaf:phone"

href="tel:+1-617-555-7332">+1 617.555.7332</a>

</p>

</div>

The typeof is an

RDFa attribute that is

specifically meant to

declare a new data

item with a certain

type.

95-733 Internet Technologies

as a graph21
As A Graph

Alice didn't specify @about like she did when

adding blog entry metadata. What is she associating these

properties with, then? In fact, the @typeof on the enclosing

div implicitly sets the subject of the properties marked up

within that div. The name, email address, and phone number

are associated with a new node of type foaf:Person. This

node has no URL to identify it, so it is called a blank node.

95-733 Internet Technologies

social networks
Social Networks

<div>

<ul>

<li>

<a href="http://example.com/bob/">Bob</a>

</li>

<li>

<a href="http://example.com/eve/">Eve</a>

</li>

<li>

<a href="http://example.com/manu/">Manu</a>

</li>

</ul>

</div>

These people are all

friends of Alice and she

Includes them in her

normal HTML blog.

95-733 Internet Technologies

adding rdfa
Adding RDFa

First,describe

these as

Persons.

<div xmlns:foaf="http://xmlns.com/foaf/0.1/">

<ul>

<li typeof="foaf:Person">

<a href="http://example.com/bob/">Bob</a>

</li>

<li typeof="foaf:Person">

<a href="http://example.com/eve/">Eve</a>

</li>

<li typeof="foaf:Person">

<a href="http://example.com/manu/">Manu</a>

</li>

</ul>

</div>

95-733 Internet Technologies

add homepages
Add Homepages

Use rel for the link

relationships.

<div xmlns:foaf="http://xmlns.com/foaf/0.1/">

<ul>

<li typeof="foaf:Person">

<a rel="foaf:homepage" href="http://example.com/bob/">Bob</a>

</li>

<li typeof="foaf:Person">

<a rel="foaf:homepage" href="http://example.com/eve/">Eve</a>

</li>

<li typeof="foaf:Person">

<a rel="foaf:homepage" href="http://example.com/manu/">Manu</a>

</li>

</ul>

</div>

95-733 Internet Technologies

describe text as names
Describe Text as Names

<div xmlns:foaf="http://xmlns.com/foaf/0.1/">

<ul>

<li typeof="foaf:Person">

<a property="foaf:name"

rel="foaf:homepage" href="http://example.com/bob/">Bob</a>

</li>

<li typeof="foaf:Person">

<a property="foaf:name"

rel="foaf:homepage" href="http://example.com/eve/">Eve</a>

</li>

<li typeof="foaf:Person">

<a property="foaf:name"

rel="foaf:homepage" href="http://example.com/manu/">Manu</a>

</li>

</ul>

</div>

95-733 Internet Technologies

claim in primer
Claim in Primer

“Alice is ecstatic that, with so little additional markup, she's

able to fully express both a pleasant human-readable page

and a machine-readable dataset.”

95-733 Internet Technologies

using foaf knows
Using foaf:knows

<div xmlns:foaf="http://xmlns.com/foaf/0.1/" about="#me" rel="foaf:knows">

<ul>

<li typeof="foaf:Person">

<a property="foaf:name" rel="foaf:homepage" href="http://example.com/bob">Bob</a>

</li>

<li typeof="foaf:Person">

<a property="foaf:name" rel="foaf:homepage" href="http://example.com/eve">Eve</a>

</li>

<li typeof="foaf:Person">

<a property="foaf:name" rel="foaf:homepage" href="http://example.com/manu">Manu</a>

</li>

</ul>

</div>

Alice knows these people with these

names and homepages.

95-733 Internet Technologies

building custom vocabularies
Building Custom Vocabularies

1. Selecting a URL where the vocabulary will reside, e.g. http://example.com/photos/vocab#.

2. Distributing an RDF document, at that URL, which defines the classes and properties

that make up the vocabulary. For example, Alice may want to define classes Photo and

Camera, as well as the property takenWith that relates a photo to the camera with which it

was taken.

3. Using the vocabulary in XHTML+RDFa with the usual prefix declaration mechanism, e.g.

xmlns:photo="http://example.com/photos/vocab#", and typeof="photo:Camera".

95-733 Internet Technologies

microformats compete with rdfa
Microformats Compete with RDFa

hCard Business card data

XFN Friends and contacts

hCalendar Events

hReview Review movies, books, etc..

“When web data meant for humans is augmented with

hints meant for computer programs, these programs

become significantly more helpful.”

But, perhaps we will use microformats rather than RDFa.

95-733 Internet Technologies

microformats compete with rdfa31
Microformats Compete with RDFa

As an exercise, visit

http://microformats.org and build an hCard and

an hCalendar.

Use hCard creator and hCalendar creator.

95-733 Internet Technologies

slide32

RDF On Its Own

  • RDFa is RDF in XHTML.
  • The Resource Description Framework (RDF) is a W3C recommendation for
  • an XML encoding of metadata.
  • A standard for encoding metadata is important for finding and
  • describing resources. A “resource” is anything with a URI. This would
  • include people, books, devices and so on.
  • Card catalogs, for example, have been used for years to record metadata
  • about the collection of materials in libraries. Is Google the card catalogue
  • for the web? Are we done?

95-733 Internet Technologies

rdf is all about making statements
RDF Is All About Making Statements
  • An RDF Document contains Statements.
  • A statement can be thought of as an ordered triple composed of three items: (resource, property-type, property-value)
  • A Resource is anything that can be identified.
  • A Predicate is a property name that has a URI. The Predicate may or may not actually be resolvable.
  • A Value is another Resource or a literal
  • Statements may be represented in RDF XML, abbreviated RDF XML, N-Triples or graphs.

95-733 Internet Technologies

rdf triples
RDF Triples

It is required that each resource have a URI.

http://www.andrew.cmu.edu

http://www.andrew.cmu.edu/~mm6/my.xml#root().child(1)

mailto:mm6@andrew.cmu.edu

urn:isbn:0764532367

(resource, property-type, property-value)

A property is a specific characteristic, attribute

or relationship of a resource. Each property has a specific meaning

that can be identified by the property’s name and the associated

schema. The schema must actually be pointed to by the property’s namespace.

Using RDF Schema we can describe the property names, values and value

ranges that are permitted for the property.

95-733 Internet Technologies

a simple description
A Simple Description

<RDF>

<Description about = "Some URI">

<creator>property value

</creator>

<title>property value

</title>

</Description>

</RDF>

95-733 Internet Technologies

resource valued property
Resource Valued Property

<RDF>

<Description about = "Some URI">

<creator rdf:resource =

"www.andrew.cmu.edu/~mm6"/>

</Description>

<Description about = "www.andrew.cmu.edu/~mm6">

<FN>Mike McCarthy</FN>

</Description>

</RDF>

95-733 Internet Technologies

making many statements
Making Many Statements

<RDF>

<Description about = "Some URI">

<creator>property value</creator>

<title>property value</title>

</Description>

<Description about = "Some URI">

<creator>property value</creator>

<title>property value</title>

</Description>

:

:

</RDF>

95-733 Internet Technologies

blank nodes
Blank Nodes

<RDF>

<Description about = "Some URI">

<creator>

<Description>

<FN>Joe Smith</FN>

<EMAIL>joes@mycom.com</EMAIL>

</Description>

</creator>

</Description>

</RDF>

95-733 Internet Technologies

xml valued property
XML Valued Property

<RDF>

<Description about = "Some URI">

<generates rdf:parseType="Literal">

<html><body></body></html>

</generates>

</Description>

</RDF>

95-733 Internet Technologies

a type property
A Type Property

<RDF>

<Description about = ”SomeURL">

<rdf:type rdf:resource=

"http://www.schemas.org/www/WebPage"/>

</Description>

</RDF>

95-733 Internet Technologies

an abbreviated type property
An Abbreviated Type Property

<RDF>

<TypeName about = "Some URI">

<creator>property value

</creator>

<title>property value</title>

</TypeName>

</RDF>

95-733 Internet Technologies

rdf notations
RDF Notations
  • English
  • RDF XML
  • Abbreviated RDF XML
  • N-Triples
  • Graph

95-733 Internet Technologies

another rdf application composite capabilities preference profiles
Another RDF ApplicationComposite Capabilities/Preference Profiles
  • The CC/PP working group was formed in August
  • 1999.
  • Its mission was to develop an RDF-based
  • framework for the management of device profile
  • information.
  • Now under W3C’s Ubiquitous Web Applications
  • Working Group (UWAWG)

95-733 Internet Technologies

an rdf application cc pp
An RDF Application CC/PP
  • A composite capability/preference profile is a collection
  • of information which describes the capabilities,
  • hardware, system software and applications used by
  • someone accessing the web. Information might
  • include:
    • Preferred language (Spanish, French, etc.)
    • Sound (on/off)
    • Images (on/off)
    • Class of device (phone, PC, printer, etc.)
    • Screen size
    • Available bandwidth
    • Version of HTML supported, and so on.

95-733 Internet Technologies

slide45

Composite Capability/Preference Profiles (CC/PP)

DEVICE PROFILE

CC/PP provides the equivalent

of database fields and associated

model for formalizing the

device profiles

CC/PP

RDF

RDF is language which provides

a standard way for using XML to

represent metadata in the form of

properties and relationships of

items on the Web.

XML

The device profile and user preferences might be stored in a

CC/PP repository. CC/PP is in turn an RDF application.

95-733 Internet Technologies

slide46

Composite Capability/Preference Profiles

(CC/PP)

  • The location of the device profile is sent with a request for
  • a Web page.
  • The CC/PP data is accessed and on the basis of the
  • profile, a Web server can choose the right content. This
  • might be a certain XHTML file or perhaps a suitable
  • document would be generated on the fly.
  • A document on the server may refer to its own document
  • profile-describing the required capabilities of its client.
  • The server might match and send or generate and send.

95-733 Internet Technologies

slide47

Each variant of the document has a

document profile describing the browser

support it needs to display it

DEVICE PROFILES

DOCUMENT PROFILES

NEGOTIATE CORRECT

CONTENT FOR DEVICES

If none of the document variants are suitable,

existing document may be transformed by style

sheet or tool for the purpose, or new document

generated

DEVICES RECEIVE RIGHT MARK-UP

95-733 Internet Technologies

processing rdf in java
Processing RDF in Java
  • XSLT?
  • DOM?
  • SAX?
  • StAX?
  • Open source Jena from HP Research provides another approach

95-733 Internet Technologies

jena example 1
Jena Example 1

// Modified from HP's Jena Tutorial

// ~/mm6/www/95-733/examples/Jena

import com.hp.hpl.jena.rdf.model.*;

import com.hp.hpl.jena.vocabulary.*;

public class Tutorial01 extends Object {

// some definitions

static String personURI = http://somewhere/JohnSmith;

static String fullName = "John Smith";

95-733 Internet Technologies

slide50

public static void main (String args[]) {

// create an empty model (An empty RDF graph)

Model model = ModelFactory.createDefaultModel();

// create the resource

Resource johnSmith = model.createResource(personURI);

// add the property

johnSmith.addProperty(VCARD.FN, fullName);

model.write(System.out);

}

}

95-733 Internet Technologies

slide51

D:\McCarthy\www\95-733\examples\Jena>java Tutorial01

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#" >

<rdf:Description rdf:about="http://somewhere/JohnSmith">

<vcard:FN>John Smith</vcard:FN>

</rdf:Description>

</rdf:RDF>

95-733 Internet Technologies

a resource valued predicate
A Resource Valued Predicate

// Modified from HP's Jena Tutorial

import com.hp.hpl.jena.rdf.model.*;

import com.hp.hpl.jena.vocabulary.*;

public class Tutorial03 extends Object {

public static void main (String args[]) {

String personURI = "http://somewhere/JohnSmith";

String givenName = "John";

String familyName = "Smith";

String fullName = givenName + " " + familyName;

// create an empty model

Model model = ModelFactory.createDefaultModel();

95-733 Internet Technologies

slide53

// create the resource

// and add the properties cascading style

Resource johnSmith = model.createResource(personURI)

.addProperty(VCARD.FN, fullName)

.addProperty(VCARD.N,

model.createResource()

.addProperty(VCARD.Given, givenName)

.addProperty(VCARD.Family, familyName));

95-733 Internet Technologies

slide54

// list the statements in the graph

StmtIterator iter = model.listStatements();

// print out the predicate, subject and object of each statement

while (iter.hasNext()) {

Statement stmt = iter.nextStatement(); // get next statement

Resource subject = stmt.getSubject(); // get the subject

Property predicate = stmt.getPredicate(); // get the predicate

RDFNode object = stmt.getObject(); // get the object

System.out.print(subject.toString());

System.out.print(" " + predicate.toString() + " ");

95-733 Internet Technologies

slide55

if (object instanceof Resource) {

System.out.print(object.toString());

} else {

// object is a literal

System.out.print(" \"" + object.toString() + "\"");

}

System.out.println(" .");

} // end while

System.out.println("===================");

model.write(System.out);

}

}

95-733 Internet Technologies

slide56

D:\McCarthy\www\95-733\examples\Jena>java Tutorial03

16fa474:fd074695f6:-8000 http://www.w3.org/2001/vcard-rdf/3.0#Given "John" .

http://somewhere/JohnSmith http://www.w3.org/2001/vcard-rdf/3.0#FN "John Smith" .

16fa474:fd074695f6:-8000 http://www.w3.org/2001/vcard-rdf/3.0#Family "Smith" .

http://somewhere/JohnSmith http://www.w3.org/2001/vcard-rdf/3.0#N 16fa474:fd074695f6:-8000

.

===================

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#" >

<rdf:Description rdf:nodeID="A0">

<vcard:Given>John</vcard:Given>

<vcard:Family>Smith</vcard:Family>

</rdf:Description>

<rdf:Description rdf:about="http://somewhere/JohnSmith">

<vcard:FN>John Smith</vcard:FN>

<vcard:N rdf:nodeID="A0"/>

</rdf:Description>

</rdf:RDF>

Notes:

16fa… is a blank

node with family

and given

properties.

The main resource has

a blank node as the value

of the N property.

The main resource also

has a FN property with

a value.

95-733 Internet Technologies

reading owl with jena
Reading OWL with Jena

import com.hp.hpl.jena.rdf.model.*;

import com.hp.hpl.jena.ontology.*;

import java.io.*;

import java.net.*;

public class ReadWineOntology extends Object {

public static void main (String args[]) throws Exception {

// create an empty model

OntModel model = ModelFactory.createOntologyModel();

95-733 Internet Technologies

slide58

// read the wine.xml file either way

model.read("file:D:/McCarthy/www/95-733/examples/Jena/wine.xml");

//model.read("http://www.andrew.cmu.edu/user/mm6/ontology/wine.xml");

// write it to standard out

model.write(System.out);

}

}

The next step is to use Jena to make or verify deductions.

95-733 Internet Technologies

the semantic web
The Semantic Web

These notes are from an article entitled “The Semantic Web” by Tim Berners-Lee,

James Hendler and Ora Lassila appearing in Scientific American, May 2001

By augmenting web pages with data directed at computers and by adding documents

solely for computers, we will transform the web into the Semantic Web.

Intuitive software will be developed that will allow anyone to create Semantic Web

Pages.

For the semantic web to function, computers must have access to structured collections

of information and sets of inference rules that can be used to conduct automated

reasoning.

XML has no built-in mechanism to convey the meaning of the user’s new tags to other

users.

95-733 Internet Technologies

the semantic web60
The Semantic Web

The challenge of the Semantic Web is to provide a language that expresses both

data and rules for reasoning about the data and that allows rules from an

existing knowledge-representation system to be exported unto the Web.

Ontologies: Collections of statements written in a language such as RDF that define

the relations between concepts and specify logical rules for reasoning about them.

Computers will “understand” the meaning of semantic data on a web page by

following links to specified ontologies.

Consider the statement “a hex-head bolt is a type of machine bolt”. We could encode this

in RDF.

When writing code against traditional XML data, the programmer must know what the

the document author uses each tag for.

Meaning is expressed by RDF, which encodes it in a set of triples.

95-733 Internet Technologies

the semantic web61
The Semantic Web

An RDF document makes assertions that particular things (people, web pages,

or whatever) have properties (such as “is sister of”, “is the author of”) with

certain values (another person, another Web page).

We can remove ambiguity by associating each of the three parts with a URI. For

example:

“(filed 5 in database A) (is a field of type) (zip code)” could be replaced with

three URI’s.

An ontology is a document or file that formally defines the relations among terms.

An ontology may express a rule “If a city code is associated with a state code, and

an address uses that city code, then that address has the associated state code.”

A program can then draw conclusions.

The meaning of terms or XML codes can be defined by pointers from the page to

an ontology.

95-733 Internet Technologies

the semantic web62
The Semantic Web

Many automated web based services already exist without semantics, but other programs

such as agents have no way to locate one that will perform a specific function.

Service Discovery will happen only when there is a common language to describe a

service in a way that lets other agents “understand” both the function offered

and how to take advantage of it.

Services can advertise their functions in directories analogous to the Yellow Pages.

Devices can advertise their abilities with RDF.

95-733 Internet Technologies