Skip to main content

Popularity Report

Total Popularity Score: 0

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Rank

Bookmark History

Saved by 30 people (9 private), first by anonymouse user on 2006-03-02


Public Sticky notes

RDF uses a particular terminology for talking about the various parts of statements. Specifically, the part that identifies the thing the statement is about (the Web page in this example) is called the subject. The part that identifies the property or characteristic of the subject that the statement specifies (creator, creation-date, or language in these examples) is called the predicate, and the part that identifies the value of that property is called the object. So, taking the English statement

Highlighted by detarmstrong

RDF can involve generating numerous "intermediate" URIrefs such as exaddressid:85740 to represent aggregate concepts such as John's address. Such concepts may never need to be referred to directly from outside a particular graph, and hence may not require "universal" identifiers. In addition, in the drawing of the graph representing the group of statements shown in Figure 5, the URIref assigned to identify "John Smith's address" is not really needed, since the graph could just as easily have been drawn as in Figure 6:

Highlighted by detarmstrong

Since a complex graph might contain more than one blank node, there also needs to be a way to differentiate between these different blank nodes in a triples representation of the graph. As a result, triples use blank node identifiers, having the form _:name, to indicate the presence of blank nodes. For instance, in this example a blank node identifier _:johnaddress might be used to refer to the blank node, in which case the resulting triples might be:

Highlighted by detarmstrong

Finally, because blank node identifiers represent (blank) nodes, rather than arcs, in the triple form of an RDF graph, blank node identifiers may only appear as subjects or objects in triples; blank node identifiers may not be used as predicates in triples.

Highlighted by detarmstrong

The same problem exists when a company's Web page URL, say http://www.example.com/, is used as the URI of the company itself. Once again, it may be necessary to record information about the Web page itself (e.g., who created it and when) as well as about the company, and using http://www.example.com/ as an identifier for both makes it difficult to know which of these is the actual subject.

Highlighted by detarmstrong

However, the author of the book is not really the character string "Jane Smith", but a person whose name is Jane Smith. The same information might be more accurately given by the publisher using a blank node, as:

Highlighted by detarmstrong

2.4 Typed Literals

Highlighted by detarmstrong

the value of John Smith's exterms:age property as the plain literal "27", as shown in Figure 7

Highlighted by detarmstrong

RDF datatype concepts are based on a conceptual framework from XML Schema datatypes [XML-SCHEMA2], as described in RDF Concepts and Abstract Syntax [RDF-CONCEPTS]. This conceptual framework defines a datatype as consisting of:

  • A set of values, called the value space, that literals of the datatype are intended to represent. For example, for the XML Schema datatype xsd:date, this set of values is a set of dates.
  • A set of character strings, called the lexical space, that the datatype uses to represent its values. This set determines which character strings can legally be used to represent literals of this datatype. For example, the datatype xsd:date defines 1999-08-16 as being a legal way to write a literal of this type (as opposed, say, to August 16, 1999). As defined in [RDF-CONCEPTS], the lexical space of a datatype is a set of Unicode [UNICODE] strings, allowing information from many languages to be directly represented.
  • A lexical-to-value mapping from the lexical space to the value space. This determines the value that a given character string from the lexical space represents for this particular datatype. For example, the lexical-to-value mapping for datatype xsd:date determines that, for this datatype, the string 1999-08-16 represents the date August 16, 1999. The lexical-to-value mapping is a factor because the same character string may represent different values for different datatypes.

Highlighted by detarmstrong

5.1 Describing Classes

Highlighted by detarmstrong

4.5 XML Literals

Highlighted by detarmstrong

A class in RDF Schema corresponds to the generic concept of a Type or Category, somewhat like the notion of a class in object-oriented programming languages such as Java. RDF classes can be used to represent almost any category of thing, such as Web pages, people, document types, databases or abstract concepts.

Highlighted by detarmstrong

The resources that belong to a class are called its instances.

Highlighted by detarmstrong

ex:Van rdfs:subClassOf ex:MotorVehicle .

Highlighted by detarmstrong

The meaning of this rdfs:subClassOf relationship is that any instance of class ex:Van is also an instance of class ex:MotorVehicle.

Highlighted by detarmstrong

Help

Highlighted by detarmstrong

The rdfs:subClassOf property is transitive. This means, for example, that given the RDF statements:

ex:Van       rdfs:subClassOf   ex:MotorVehicle .
ex:MiniVan   rdfs:subClassOf   ex:Van .

Highlighted by detarmstrong

Literals may not be used as subjects or predicates in RDF statements. In drawing RDF graphs, nodes that are URIrefs are shown as ellipses, while nodes that are literals are shown as boxes. (The simple character string literals used in these examples are called plain literals, to distinguish them from the typed literals to be introduced in Section 2.4. The various kinds of literals that can be used in RDF statements are defined in [RDF-CONCEPTS].

Highlighted by detarmstrong

RDF directly represents only binary relationships, e.g. the relationship between John Smith and the literal representing his address.

Highlighted by detarmstrong

A description of a statement using this vocabulary is called a reification of the statement. The RDF reification vocabulary consists of the type rdf:Statement, and the properties rdf:subject, rdf:predicate, and rdf:object

Highlighted by detarmstrong

<rdf:Property rdf:ID="registeredTo"> <rdfs:domain rdf:resource="#MotorVehicle"/> <rdfs:range rdf:resource="#Person"/> </rdf:Property> <rdf:Property rdf:ID="rearSeatLegRoom"> <rdfs:domain rdf:resource="#PassengerVehicle"/> <rdfs:range rdf:resource="&xsd;integer"/> </rdf:Property>

Highlighted by detarmstrong

In the RDF model a qualified property value of this kind can be considered as simply another kind of structured value. To represent this, a separate resource could be used to represent the structured value as a whole (the weight, in this case), and to serve as the object of the original statement. That resource could then be given properties representing the individual parts of the structured value

Highlighted by detarmstrong

n rdf:parseType="Resource" attribute is used to indicate that the contents of an element are to be interpreted as the description of a new (blank node) resource, without actually having to write a nested rdf:Description element.

Highlighted by detarmstrong

DAML Logo

Highlighted by detarmstrong

In RDF Schema, properties are described using the RDF class rdf:Property, and the RDF Schema properties rdfs:domain, rdfs:range, and rdfs:subPropertyOf.

Highlighted by detarmstrong

The rdfs:range property is used to indicate that the values of a particular property are instances of a designated class.

Highlighted by detarmstrong

The rdfs:domain property is used to indicate that a particular property applies to a designated class. For example, if example.org wanted to indicate that the property ex:author applies to instances of class ex:Book, it would write the RDF statements:

Highlighted by detarmstrong

A property may be a subproperty of zero, one or more properties. All RDF Schema rdfs:range and rdfs:domain properties that apply to an RDF property also apply to each of its subproperties.

Highlighted by detarmstrong

One important difference is that instead of describing a class as having a collection of specific properties, an RDF schema describes properties as applying to specific classes of resources, using domain and range properties.

Highlighted by detarmstrong

RDF schema are always descriptions. They may also be prescriptive (introduce constraints), but only if the application interpreting those statements wants to treat them that way. All RDF Schema does is provide a way of stating this additional information. Whether this information conflicts with explicitly specified instance data is up to the application to determine and act upon.

Highlighted by detarmstrong

6.1 Dublin Core Metadata Initiative

Highlighted by detarmstrong

RDF is intended for situations in which this information needs to be processed by applications, rather than being only displayed to people.

Highlighted by linternaverde

"there is a Person identified by http://www.w3.org/People/EM/contact#me, whose name is Eric Miller, whose email address is em@w3.org, and whose title is Dr."

Highlighted by linternaverde

However, unlike conventional hypertext, RDF URIs can refer to any identifiable thing, including things that may not be directly retrievable on the Web (such as the person Eric Miller).

Highlighted by linternaverde

RDF is intended to provide a simple way to make statements about Web resources,

Highlighted by linternaverde

RDF is based on the idea that the things being described have properties which have values

Highlighted by linternaverde

Specifically, the part that identifies the thing the statement is about (the Web page in this example) is called the subject. The part that identifies the property or characteristic of the subject that the statement specifies (creator, creation-date, or language in these examples) is called the predicate, and the part that identifies the value of that property is called the object.

Highlighted by linternaverde

The rdfs:range property is used to indicate that the values of a particular property are instances of a designated class. For example, if example.org wanted to indicate that the property ex:author had values that are instances of class ex:Person, it would write the RDF statements:

Highlighted by detarmstrong

In fact, a more complete description of the weight would have been 2.4 kilograms rather than just the decimal value 2.4. To state this, the value of the exterms:weight property would need to have two components, the typed literal for the decimal value and an indication of the unit of measure (kilograms).

Highlighted by detarmstrong

intended for representing metadata about Web resources

Highlighted by wisdomboat

The Resource Description Framework (RDF) is a language for representing information about resources in the World Wide Web

Highlighted by wisdomboat

RDF can also be used to represent information about things that can be identified on the Web, even when they cannot be directly retrieved on the Web

Highlighted by wisdomboat

or the description of a Web user's preferences for information delivery

Highlighted by wisdomboat

by generalizing the concept of a "Web resource", RDF can also be used to represent information about things that can be identified on the Web, even when they cannot be directly retrieved on the Web.

Highlighted by rahulg

RDF is intended for situations in which this information needs to be processed by applications

Highlighted by wisdomboat

RDF provides a common framework for expressing this information so it can be exchanged between applications without loss of meaning

Highlighted by wisdomboat

RDF is based on the idea of identifying things using Web identifiers (called Uniform Resource Identifiers, or URIs), and describing resources in terms of simple properties and property values.

Highlighted by wisdomboat

RDF is intended for situations in which this information needs to be processed by applications, rather than being only displayed to people.

Highlighted by rahulg

However, by generalizing the concept of a "Web resource", RDF can also be used to represent information about things that can be identified on the Web, even when they cannot be directly retrieved on the Web.

Highlighted by jorupe

The ability to exchange information between different applications means that the information may be made available to applications other than those for which it was originally created.

Highlighted by rahulg

To make this discussion somewhat more concrete as soon as possible, the group of statements "there is a Person identified by http://www.w3.org/People/EM/contact#me, whose name is Eric Miller, whose email address is em@w3.org, and whose title is Dr." could be represented as the RDF graph in

Highlighted by rahulg

This enables RDF to represent simple statements about resources as a graph of nodes and arcs representing the resources, and their properties and values.

Highlighted by jorupe

RDF also provides an XML-based syntax (called RDF/XML) for recording and exchanging these graphs

Highlighted by rahulg

RDF/XML also contains URIs, as well as properties like mailbox and fullName (in an abbreviated form), and their respective values em@w3.org, and Eric Miller.

Highlighted by wisdomboat

unlike conventional hypertext, RDF URIs can refer to any identifiable thing, including things that may not be directly retrievable on the Web (such as the person Eric Miller).

Highlighted by wisdomboat

Like HTML, this RDF/XML is machine processable and, using URIs, can link pieces of information across the Web

Highlighted by wisdomboat

an introduction to RDF and describe some existing RDF applications

Highlighted by wisdomboat

eatures of RDF and how to use them

Highlighted by wisdomboat

RDF is intended to provide a simple way to make statements about Web resources, e.g., Web pages

Highlighted by wisdomboat

RDF is intended to provide a simple way to make statements about Web resources, e.g., Web pages.

Highlighted by jorupe

the things being described have properties which have values, and that resources can be described by making statements

Highlighted by wisdomboat

RDF uses a particular terminology for talking about the various parts of statements

Highlighted by wisdomboat

predicate

Highlighted by wisdomboat

RDF is based on the idea that the things being described have properties which have values, and that resources can be described by making statements, similar to those above, that specify those properties and values

Highlighted by jorupe

RDF is about making machine-processable statements

Highlighted by wisdomboat

The part that identifies the property or characteristic of the subject that the statement specifies (creator, creation-date, or language in these examples) is called the predicate, and the part that identifies the value of that property is called the object.

Highlighted by jorupe

a system of machine-processable identifiers for identifying a subject, predicate, or object in a statement without any possibility of confusion

Highlighted by wisdomboat

a machine-processable language for representing these statements and exchanging them between machines

Highlighted by wisdomboat

the Web already provides one form of identifier, the Uniform Resource Locator (URL)

Highlighted by wisdomboat

However, it is also important to be able to record information about many things that, unlike Web pages, do not have network locations or URLs.

Highlighted by wisdomboat

URLs are a particular kind of URI.

Highlighted by wisdomboat

while English is good for communicating between (English-speaking) humans, RDF is about making machine-processable statements.

Highlighted by rahulg

URIs are not limited to identifying things that have network locations, or use other computer access mechanisms.

Highlighted by wisdomboat

network-accessible things

Highlighted by wisdomboat

things that are not network-accessible

Highlighted by wisdomboat

abstract concepts that do not physically exist

Highlighted by wisdomboat

To represent RDF statements in a machine-processable way, RDF uses the Extensible Markup Language [XML]

Highlighted by wisdomboat

URLs are a particular kind of URI. All URIs share the property that different persons or organizations can independently create them, and use them to identify things. However, URIs are not limited to identifying things that have network locations, or use other computer access mechanisms. In fact, a URI can be created to refer to anything that needs to be referred to in a statement, including

Highlighted by jorupe

RDF defines a specific XML markup language, referred to as RDF/XML, for use in representing RDF information, and for exchanging it between machines.

Highlighted by wisdomboat

RDF/XML as a machine-processable way to represent RDF statements

Highlighted by wisdomboat

using URI references to identify the things referred to in RDF statements

Highlighted by wisdomboat

how RDF uses URIs to make statements about resources

Highlighted by wisdomboat

defines a resource as anything that is identifiable by a URI reference

Highlighted by jorupe

RDF URIrefs can contain Unicode [UNICODE] characters (see [RDF-CONCEPTS]), allowing many languages to be reflected in URIrefs.

Highlighted by jorupe

the idea of using URI references to identify the things referred to in RDF statements

Highlighted by rahulg

RDF's basic statement concepts

Highlighted by rahulg

RDF/XML as a machine-processable way to represent RDF statements

Highlighted by rahulg

RDF defines a specific XML markup language, referred to as RDF/XML, for use in representing RDF information, and for exchanging it between machines.

Highlighted by jorupe

Literals may not be used as subjects or predicates in RDF statements

Highlighted by jorupe

In drawing RDF graphs, nodes that are URIrefs are shown as ellipses, while nodes that are literals are shown as boxes.

Highlighted by jorupe

In the triples notation, each statement in the graph is written as a simple triple of subject, predicate, and object,

Highlighted by jorupe

Each triple corresponds to a single arc in the graph, complete with the arc's beginning and ending nodes

Highlighted by jorupe

RDF refers to a set of URIrefs (particularly a set intended for a specific purpose) as a vocabulary. Often, the URIrefs in such vocabularies are organized so that they can be represented as a set of QNames using a common prefix

Highlighted by hamming229

a shorthand way of writing triples (the same shorthand is also used in other RDF specifications). This shorthand substitutes an XML qualified name (or QName) without angle brackets as an abbreviation for a full URI reference (QNames are discussed further in Appendix B). A QName contains a prefix that has been assigned to a namespace URI, followed by a colon, and then a local name. The full URIref is formed from the QName by appending the local name to the namespace URI assigned to the prefix.

Highlighted by jorupe

The URIrefs in this RDF vocabulary all begin with http://www.w3.org/1999/02/22-rdf-syntax-ns#, conventionally associated with the QName prefix rdf:

Highlighted by hamming229

Since RDF uses URIrefs instead of words to name things in statements, RDF refers to a set of URIrefs (particularly a set intended for a specific purpose) as a vocabulary.

Highlighted by jorupe

That is, a common namespace URIref will be chosen for all terms in a vocabulary, typically a URIref under the control of whoever is defining the vocabulary

Highlighted by jorupe

RDF uses this same approach to define its own vocabulary of terms with special meanings in RDF. The URIrefs in this RDF vocabulary all begin with http://www.w3.org/1999/02/22-rdf-syntax-ns#, conventionally associated with the QName prefix rdf:.

Highlighted by jorupe

Where a specific QName prefix is commonly used in connection with a given set of terms in this way, the QName prefix itself is sometimes used as the name of the vocabulary. For example, someone might refer to "the rdfs: vocabulary"

Highlighted by jorupe

The RDF model only recognizes full URIrefs; it does not "look inside" URIrefs or use any knowledge about their structure. In particular, RDF does not assume there is any relationship between URIrefs just because they have a common leading prefix

Highlighted by jorupe

A particular organization, process, tool, etc. can define a vocabulary that is significant for it, using URIrefs from any number of other vocabularies as part of its vocabulary

Highlighted by jorupe

RDF does not assume that a namespace URI identifies a retrievable Web resource (see Appendix B for further discussion).

Highlighted by jorupe

the term vocabulary will be used when referring to a set of URIrefs defined for some specific purpose,

Highlighted by jorupe

The term namespace will be used only when referring specifically to the syntactic concept of an XML namespace (or in describing the URI assigned to a prefix in a QName).

Highlighted by jorupe

URIrefs from different vocabularies can be freely mixed in RDF graphs.

Highlighted by jorupe

Also, RDF imposes no restrictions on how many statements using a given URIref as predicate can appear in a graph to describe the same resource

Highlighted by jorupe

Using URIrefs to identify properties is important for a number of reasons.

Highlighted by jorupe

it distinguishes the properties one person may use from different properties someone else may use that would otherwise be identified by the same character string

Highlighted by jorupe

Using URIrefs as subjects, predicates, and objects in RDF statements supports the development and use of shared vocabularies on the Web, since people can discover and begin using vocabularies already used by others to describe things, reflecting a shared understanding of those concepts.

Highlighted by jorupe

Of course, this depends on increasing the general use of URIrefs to refer to things instead of using literals; e.g., using URIrefs like exstaff:85740 and dc:creator instead of character string literals like John Smith and creator.

Highlighted by jorupe

people can still use different URIrefs to refer to the same thing. For this reason, it is a good idea to try to use terms from existing vocabularies (such as the Dublin Core) where possible,

Highlighted by jorupe

RDF does not define the meanings of terms from other vocabularies, such as dc:creator, that might be used in RDF statements. Specific vocabularies will be created, with specific meanings assigned to the URIrefs defined in them, externally to RDF.

Highlighted by jorupe

Moreover, based on their understanding of a given vocabulary, people can write RDF applications to behave in accordance with the special meanings assigned to URIrefs from that vocabulary, even though that meaning will not be accessible to RDF applications not written in that way.

Highlighted by jorupe

However, if an application is appropriately written, it can deal with RDF statements in a way that makes it seem like it does understand them, just as a database system and its applications can do useful work in processing employee and payroll information without understanding "employee" and "payroll"

Highlighted by jorupe

RDF statements are similar to a number of other formats for recording information

Highlighted by jorupe

Structured information like this is represented in RDF by considering the aggregate thing to be described (like John Smith's address) as a resource, and then making statements about that new resource.

Highlighted by jorupe

This way of representing structured information in RDF can involve generating numerous "intermediate" URIrefs such as exaddressid:85740 to represent aggregate concepts such as John's address. Such concepts may never need to be referred to directly from outside a particular graph, and hence may not require "universal" identifiers.

Highlighted by jorupe

Blank nodes were called anonymous resources in [RDF-MS].) However, some form of explicit identifier for that node is needed in order to represent this graph as triples.

Highlighted by jorupe

Since a complex graph might contain more than one blank node, there also needs to be a way to differentiate between these different blank nodes in a triples representation of the graph. As a result, triples use blank node identifiers, having the form _:name, to indicate the presence of blank nodes.

Highlighted by jorupe

In a triples representation of a graph, each distinct blank node in the graph is given a different blank node identifier.

Highlighted by jorupe

Blank node identifiers also have significance only within the triples representing a single graph (two different graphs with the same number of blank nodes might independently use the same blank node identifiers to distinguish them, and it would be incorrect to assume that blank nodes from different graphs having the same blank node identifiers are the same).

Highlighted by jorupe

blank node identifiers may only appear as subjects or objects in triples; blank node identifiers may not be used as predicates in triples.

Highlighted by jorupe

Blank nodes also provide a way to more accurately make statements about resources that may not have URIs, but that are described in terms of relationships with other resources that do have URIs

Highlighted by jorupe

When Jane herself does not have a URI, a blank node provides a more accurate way of modeling this situation. Jane can be represented by a blank node, and that blank node used as the subject of a statement with exterms:mailbox as the property and the URIref mailto:jane@example.org as its value.

Highlighted by jorupe

Note that mailto:jane@example.org is written within angle brackets in the first triple. This is because mailto:jane@example.org is a full URIref in the mailto URI scheme, rather than a QName abbreviation, and full URIrefs must be enclosed in angle brackets in the triples notation.)

Highlighted by jorupe

That is, the blank node can be read as "there is a resource". Statements with that blank node as subject then provide information about the characteristics of that resource.

Highlighted by jorupe

(Incidentally, some RDF-based schema languages allow specifying that certain properties are unique identifiers of the resources they describe. This is discussed further in Section 5.5.)

Highlighted by jorupe

However, in the wider context of the Web, it is generally not safe to make this assumption. For example, a U.S. site might give a weight value in pounds, but someone accessing that data from outside the U.S. might assume that weights are given in kilograms.

Highlighted by jorupe

The common practice in programming languages or database systems is to provide this additional information about how to interpret a literal by associating a datatype with the literal, in this case, a datatype like decimal or integer.

Highlighted by jorupe

In RDF, typed literals are used to provide this kind of information.

Highlighted by jorupe

An RDF typed literal is formed by pairing a string with a URIref that identifies a particular datatype.

Highlighted by jorupe

Unlike typical programming languages and database systems, RDF has no built-in set of datatypes of its own, such as datatypes for integers, reals, strings, or dates.

Highlighted by jorupe

An advantage of this approach is that it gives RDF the flexibility to directly represent information coming from different sources without the need to perform type conversions between these sources and a native set of RDF datatypes.

Highlighted by jorupe

A set of values, called the value space, that literals of the datatype are intended to represent.

Highlighted by jorupe

A set of character strings, called the lexical space, that the datatype uses to represent its values.

Highlighted by jorupe

lexical space of a datatype is a set of Unicode [UNICODE] strings

Highlighted by jorupe

A lexical-to-value mapping from the lexical space to the value space.

Highlighted by jorupe

The lexical-to-value mapping is a factor because the same character string may represent different values for different datatypes.

Highlighted by jorupe

Not all datatypes are suitable for use in RDF. For a datatype to be suitable for use in RDF, it must conform to the conceptual framework just described. This basically means that, given a character string, the datatype must unambiguously define whether or not the string is in its lexical space, and what value in its value space the string represents

Highlighted by jorupe

the actual interpretation of a typed literal appearing in an RDF graph (e.g., determining the value it denotes) must be performed by software that is written to correctly process not only RDF, but the typed literal's datatype as well.

Highlighted by jorupe

Generally, the XML Schema datatypes that are listed as suitable for use in RDF in [RDF-SEMANTICS] have a "first among equals" status in RDF.

Highlighted by jorupe

<exterms:creation-date>August 16, 1999</exterms:creation-date>

Highlighted by jorupe

This indicates that the following XML content (starting here and ending with the </rdf:RDF> in line 7) is intended to represent RDF.

Highlighted by jorupe

This declaration specifies that all tags in this content prefixed with rdf: are part of the namespace identified by the URIref http://www.w3.org/1999/02/22-rdf-syntax-ns#. URIrefs beginning with the string http://www.w3.org/1999/02/22-rdf-syntax-ns# are used for terms from the RDF vocabulary.

Highlighted by jorupe

Lines 1-3 are general "housekeeping" necessary to indicate that this is RDF/XML content, and to identify the namespaces being used within the RDF/XML content.

Highlighted by jorupe

Line 5 provides a property element,

Highlighted by jorupe

The property element is nested within the containing rdf:Description element, indicating that this property applies to the resource specified in the rdf:about attribute of the rdf:Description element. Line 6 indicates the end of this particular rdf:Description element.

Highlighted by jorupe

Literal nodes (which are always object nodes) become element text content or attribute values.

Highlighted by jorupe

An arbitrary number of additional statements could be written in the same way, using a separate rdf:Description element for each additional statement. As Example 3 illustrates, once the overhead of writing the XML and namespace declarations is dealt with, writing each additional RDF statement in RDF/XML is both straightforward and not too complicated.

Highlighted by jorupe

For example, it is typical for the same resource to be described with several properties and values at the same time, as in Example 3, where the resource ex:index.html is the subject of several statements. To handle such cases, RDF/XML allows multiple property elements representing those properties to be nested within the rdf:Description element that identifies the subject resource. For example, to represent the following group of statements about http://www.example.org/index.html:

Highlighted by jorupe

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

Highlighted by jorupe

</rdf:Description>

Highlighted by jorupe

Line 8 also introduces a new form of property element.

Highlighted by jorupe

he dc:creator element on line 8 represents a property whose value is another resource, rather than a literal.

Highlighted by jorupe

f the URIref of this resource were written as a plain literal within start- and end-tags in the same way as the literal values of the other elements, this would say that the value of the dc:creator element was the character string http://www.example.org/staffid/85740, rather than the resource identified by that literal interpreted as a URIref

Highlighted by jorupe

The rdf:resource attribute indicates that the property element's value is another resource, identified by its URIref.

Highlighted by jorupe

Because the URIref is being used as an attribute value, RDF/XML requires the URIref to be written out (as an absolute or relative URIref), rather than abbreviating it as a QName as was done in writing element and attribute names (absolute and relative URIrefs are discussed in Appendix A).

Highlighted by jorupe

The following sections will describe a few additional RDF/XML abbreviations. [RDF-SYNTAX] provides a more thorough description of the abbreviations that are available.

Highlighted by jorupe

This illustrates an idea discussed in Section 2.3: the use of a blank node to represent something that does not have a URIref, but can be described in terms of other information. In this case, the blank node represents a person, the editor of the document, and the person is described by his name and home page.

Highlighted by jorupe

The approach illustrated here, which is the most direct approach, is to assign a blank node identifier to each blank node.

Highlighted by jorupe

In Example 6, the blank node identifier abc is used in line 9 to identify the blank node as the subject of several statements, and is used in line 7 to indicate that the blank node is the value of a resource's exterms:editor property. The advantage of using a blank node identifier over some of the other approaches described in [RDF-SYNTAX] is that using a blank node identifier allows the same blank node to be referred to in more than one place in the same RDF/XML document.

Highlighted by jorupe

In line 5 of Example 7, a typed literal is given as the value of the exterms:creation-date property element by adding an rdf:datatype attribute to the element's start-tag to specify the datatype

Highlighted by jorupe

Since this is an attribute value, the URIref must be written out, rather than using the QName abbreviation xsd:date used in the triple

Highlighted by jorupe

In the rest of the Primer, the examples will use typed literals from appropriate datatypes rather than plain (untyped) literals, in order to emphasize the value of typed literals in conveying more information about the intended interpretation of literal values.

Highlighted by jorupe

using typed literals requires writing an rdf:datatype attribute with a URIref identifying the datatype for each element whose value is a typed literal.

Highlighted by jorupe

The DOCTYPE declaration in line 2 defines the entity xsd, which is used in line 6.

Highlighted by jorupe

The use of XML entities as an abbreviation mechanism is optional in RDF/XML, and hence the use of an XML DOCTYPE declaration is also optional in RDF/XML.

Highlighted by jorupe

RDF/XML is only required to be "well-formed" XML. RDF/XML is not designed to be validated against a DTD by a validating XML processor. This is discussed more fully in Appendix B, which provides additional information about XML.)

Highlighted by jorupe

As illustrated in Appendix B, other URIrefs (and, more generally, other strings) can also be abbreviated using XML entities. However, the URIrefs for XML Schema datatypes are the only ones that will be abbreviated in this way in Primer examples.

Highlighted by jorupe

Compared to some of the more abbreviated approaches described in [RDF-SYNTAX], this simple approach provides the most direct representation of the actual graph structure, and is particularly recommended for applications in which the output RDF/XML is to be used in further RDF processing.

Highlighted by jorupe

or example, suppose a sporting goods company, example.com, wanted to provide an RDF-based catalog of its products, such as tents, hiking boots, and so on, as an RDF/XML document, identified by (and located at) http://www.example.com/2002/04/products.

Highlighted by jorupe

An important difference from previous examples is that, in line 5, the rdf:Description element has an rdf:ID attribute instead of an rdf:about attribute. Using rdf:ID specifies a fragment identifier, given by the value of the rdf:ID attribute (item10245 in this case, which might be the catalog number assigned by example.com), as an abbreviation of the complete URIref of the resource being described.

Highlighted by jorupe

The full URIref for the tent is formed by taking the base URI (of the catalog), and appending the character "#" (to indicate that what follows is a fragment identifier) and then item10245 to it, giving the absolute URIref http://www.example.com/2002/04/products#item10245.

Highlighted by jorupe

The rdf:ID attribute is somewhat similar to the ID attribute in XML and HTML, in that it defines a name which must be unique relative to the current base URI (in this example, that of the catalog).

Highlighted by jorupe

Using a similar abbreviation, the URIref of the tent could also be given by specifying rdf:about="#item10245"

Highlighted by jorupe

However, using rdf:ID provides an additional check when assigning a set of distinct names, since a given value of the rdf:ID attribute can only appear once relative to the same base URI (the catalog document, in this example)

Highlighted by jorupe

RDF located outside the catalog could refer to this tent by using the full URIref,

Highlighted by jorupe

For instance, example.com could use this catalog as the central source where its products are described, with the understanding that if a product's item number is not in an entry in this catalog, it is not a product known to example.com.

Highlighted by jorupe

By default, this base URI would be the URI of the resource in which the relative URIref is used. However, in some cases it is desirable to be able to explicitly specify this base URI.

Highlighted by jorupe

XML Base [XML-BASE], which allows an XML document to specify a base URI other than the URI of the document itself.

Highlighted by jorupe

When an RDF resource is described with an rdf:type property, the value of that property is considered to be a resource that represents a category or class of things, and the subject of that property is considered to be an instance of that category or class

Highlighted by jorupe

<rdf:type rdf:resource="http://www.example.com/terms/Tent"/>

Highlighted by jorupe

This assumes that example.com has described its classes as part of the same vocabulary that it uses to describe its other terms (such as the property exterms:weight), so the absolute URIref of the class is used to refer to it. If example.com had described these classes as part of the product catalog itself, the relative URIref #Tent could have been used to refer to it

Highlighted by jorupe

RDF itself does not provide facilities for defining application-specific classes of things, such as Tent in this example, or their properties, such as exterms:weight. Instead, such classes would be described in an RDF schema, using the RDF Schema language discussed in Section 5. Other such facilities for describing classes can also be defined, such as the DAML+OIL and OWL languages described in Section 5.5.

Highlighted by jorupe

n this abbreviation, the rdf:type property and its value are removed, and the rdf:Description element for the node is replaced by an element whose name is the QName corresponding to the value of the removed rdf:type property (a URIref that names a class).

Highlighted by jorupe

<exterms:Tent rdf:ID="item10245">

Highlighted by jorupe

Since a resource may be described as an instance of more than one class, a resource may have more than one rdf:type property. However, only one of these rdf:type properties can be abbreviated in this way. The others must be written out using rdf:type properties,

Highlighted by jorupe