Presentation is loading. Please wait.

Presentation is loading. Please wait.

95-733 Internet Technologies 1 Master of Information System Management Internet Technologies The Resource Description Framework (RDF)

Similar presentations


Presentation on theme: "95-733 Internet Technologies 1 Master of Information System Management Internet Technologies The Resource Description Framework (RDF)"— Presentation transcript:

1 95-733 Internet Technologies 1 Master of Information System Management Internet Technologies The Resource Description Framework (RDF)

2 95-733 Internet Technologies 2 Master of Information System Management 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? RDF

3 95-733 Internet Technologies 3 Master of Information System Management 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.

4 95-733 Internet Technologies 4 Master of Information System Management RDF Triples (resource, property-type, property-value) 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 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.

5 95-733 Internet Technologies 5 Master of Information System Management A Simple Description property value property value

6 95-733 Internet Technologies 6 Master of Information System Management Resource Valued Property <creator rdf:resource = "www.andrew.cmu.edu/~mm6"/> Mike McCarthy

7 95-733 Internet Technologies 7 Master of Information System Management Making Many Statements property value property value :

8 95-733 Internet Technologies 8 Master of Information System Management Blank Nodes Joe Smith joes@mycom.com

9 95-733 Internet Technologies 9 Master of Information System Management XML Valued Property

10 95-733 Internet Technologies 10 Master of Information System Management A Type Property <rdf:type rdf:resource= "http://www.schemas.org/www/WebPage"/>

11 95-733 Internet Technologies 11 Master of Information System Management An Abbreviated Type Property property value property value

12 95-733 Internet Technologies 12 Master of Information System Management Bag Valued Properties value property value The resource is of this type

13 95-733 Internet Technologies 13 Master of Information System Management Sequence Valued Properties value property value The resource is of this type

14 95-733 Internet Technologies 14 Master of Information System Management Alternative Valued Properties value property value The resource is of this type

15 95-733 Internet Technologies 15 Master of Information System Management RDF Notations English RDF XML Abbreviated RDF XML N-Triples Graph

16 95-733 Internet Technologies 16 Master of Information System Management An Example Document Represented in RDF/XML Describe a web site From Deitel and Deitel

17 95-733 Internet Technologies 17 Master of Information System Management <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc = "http://purl.org/dc/elements/1.1/"> Deitel and Associates, Inc. This is the home page of Deitel and Associates, Inc. 2000-5-24 text/html en Deitel and Associates The root element of an RDF document is RDF. Each property of the resource being described is a child element of the Description element. The content of the child is the value of the property. Namespaces are used to distinguish between RDF elements and elements in property types and values. Describing a web site

18 95-733 Internet Technologies 18 Master of Information System Management The Dublin Core A collection of property elements designed to provide a similar structure as that provided by a card catalog. For example, the following are elements defined in the Dublin Core namespace: TITLE The name given to the resource CREATOR The person or organization that created … SUBJECT The topic of the resource… DESCRIPTION… :

19 95-733 Internet Technologies 19 Master of Information System Management <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc = "http://purl.org/dc/elements/1.1/"> Deitel and Associates, Inc. This is the home page of Deitel and Associates, Inc. 2000-5-24 text/html en Deitel and Associates A single RDF element can contain any number of Description elements. A Description element can state more than one property about a resource. Some properties may be resource valued. For example, suppose Deitel and Associates has an email address…

20 95-733 Internet Technologies 20 Master of Information System Management <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc = "http://purl.org/dc/elements/1.1/"> Deitel and Associates, Inc. This is the home page of Deitel and Associates, Inc. 2000-5-24 text/html en Deitel and Associates The Creator becomes a resource rather than a literal. This is a resource valued property. Another way to say the same thing is with a resource attribute…

21 95-733 Internet Technologies 21 Master of Information System Management <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc = "http://purl.org/dc/elements/1.1/"> Deitel and Associates, Inc. This is the home page of Deitel and Associates, Inc. 2000-5-24 text/html en Deitel and Associates

22 95-733 Internet Technologies 22 Master of Information System Management RDF Containers An RDF element may describe a resource with multiple properties of the same type. Perhaps a book has several authors or a web page may be found at several sites. RDF defines three types of container objects: Bag – a group of unorderd properties – use li. Seq – a sequence (ordered list) of properties Alt – a list of alternative properties from which to choose a single one Let’s look at a more involved example from Deitel and Deitel…

23 95-733 Internet Technologies 23 Master of Information System Management <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc = "http://purl.org/dc/elements/1.1/"> Home page of Deitel products Deitel and Associates, Inc. Statements can be made about a container as a whole and so we give the container an ID.

24 95-733 Internet Technologies 24 Master of Information System Management About our Products The aboutEach attribute applies to each element in the container.

25 95-733 Internet Technologies 25 Master of Information System Management Announcements, Oppurtunities and internships at Deitel Associates All about us Books, Multimedia Cyber Classrooms and Complete Training Courses <rdf:Description about = "http://www.deitel.com/services/training/index.htm"> Corporate Training Courses

26 95-733 Internet Technologies 26 Master of Information System Management <rdf:Description about = "http://www.deitel.com/announcements/contractors.htm"> Looking for Training Contractors <rdf:Description about = "http://www.deitel.com/announcements/internships.htm"> Internships at Deitel and Associates, Inc. Introduction to Deitel and Associates, Inc. Our location and how to get there

27 95-733 Internet Technologies 27 Master of Information System Management An RDF Application Composite 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)

28 95-733 Internet Technologies 28 Master of Information System Management 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. An RDF Application CC/PP

29 95-733 Internet Technologies 29 Master of Information System Management Composite Capability/Preference Profiles (CC/PP) DEVICE PROFILE CC/PP RDF XML CC/PP provides the equivalent of database fields and associated model for formalizing the device profiles 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. The device profile and user preferences might be stored in a CC/PP repository. CC/PP is in turn an RDF application.

30 95-733 Internet Technologies 30 Master of Information System Management 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. Composite Capability/Preference Profiles (CC/PP)

31 95-733 Internet Technologies 31 Master of Information System Management 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

32 95-733 Internet Technologies 32 Master of Information System Management Processing RDF in Java DOM? SAX? StAX? Open source Jena from HP Research provides another approach

33 95-733 Internet Technologies 33 Master of Information System Management 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";

34 95-733 Internet Technologies 34 Master of Information System Management 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); }

35 95-733 Internet Technologies 35 Master of Information System Management 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#" > John Smith

36 95-733 Internet Technologies 36 Master of Information System Management 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();

37 95-733 Internet Technologies 37 Master of Information System Management // 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));

38 95-733 Internet Technologies 38 Master of Information System Management // 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() + " ");

39 95-733 Internet Technologies 39 Master of Information System Management 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); }

40 95-733 Internet Technologies 40 Master of Information System Management 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#" > John Smith John Smith 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.

41 95-733 Internet Technologies 41 Master of Information System Management 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();

42 95-733 Internet Technologies 42 Master of Information System Management // 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.

43 95-733 Internet Technologies 43 Master of Information System Management The Semantic Web 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. 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

44 95-733 Internet Technologies 44 Master of Information System Management 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.

45 95-733 Internet Technologies 45 Master of Information System Management 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.

46 95-733 Internet Technologies 46 Master of Information System Management 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.


Download ppt "95-733 Internet Technologies 1 Master of Information System Management Internet Technologies The Resource Description Framework (RDF)"

Similar presentations


Ads by Google