• No results found

Resource Description Framework

AND P ROBLEM A NALYSIS

3. State-of-the-Art

3.3 Ontology Representation

3.3.1 Resource Description Framework

Accessibility – the market penetration and familiarity of the representation language in the industry and among professional that are going to use it

Usability – the ease with which new users can learn and use the representation language

Expressiveness – the ability of the language to capture unambiguously the semantics of the subject domain of a given systems

Life cycle coverage – the scope of the representation language throughout the development cycle (e.g., design, validation, implementation, testing) In the rest of this section, we briefly present the most prominent candidate languages for ontology representation and discuss their strengths and weaknesses.

3.3.1 Resource Description Framework

Resource Description Framework (RDF12) is a language for representing information about resources on the Web. Initially intended for representing metadata about Web resources it has been generalised to represent also information about entities (or phenomena) in the real world.

The basic RDF data model consists of three object types:

Resources: All things described by RDF are called resources. A resource may be an entire web page, part of a web page or a collection of web pages. A resource may also be an object that is not directly accessible via

12 http://www.w3.org/RDF/

the web (e.g., a physical entity). All resources in RDF are identified by Uniform Resource Identifiers (URIs13).

Properties: A property is a specific aspect, characteristic, attribute, or relation used to describe a resource. Each property has a specific meaning, defines its permitted values, the types of resources it can describe, and its relationship with other properties.

Statements: A statement is a specific resource together with a named property and the value of that property. These three individual parts are called, respectively, the subject, the predicate, and the object of the statement. The object of a statement (i.e., the value of the property) can be another resource or a literal (e.g., a primitive data type defined by XML Schema). In RDF terms, a literal may have content that is XML mark-up but is no further evaluated by the RDF processor. The underlying structure of any expression in RDF can be viewed as a directed labelled graph, which consists of nodes and labelled directed arcs that link pairs of nodes, as depicted in Figure 3-27.

Statement

Subject Predicate Object Statement

Resource Property Value

or

The RDF graph is a set of statements. The direction of the arc is significant:

it always points toward the object of a statement. The meaning of an RDF graph is the conjunction (i.e., logical and) of all statements that it contains.

Figure 3-28 shows an example of an RDF graph.

Person

Organization “Blue

Company”

hasName

hasName worksFor

hasPhone Address

hasAddress

555-1234

“John Smith”

13 http://www.w3.org/Addressing/

Figure 3-27 RDF statement

Figure 3-28 RDF graph

Data types are used by RDF in the representation of values such as integers, floating point numbers and dates. RDF uses the data types defined by XML Schema14. It does not provide mechanism for defining new data types. XML Schema data types provide an extensibility framework suitable for defining new data types for use in RDF.

An RDF graph, as described by the RDF abstract syntax, can be represented in various ways, using different concrete syntaxes but each conveying a common RDF meaning. Only the XML syntax is normatively specified and recommended for use to exchange information between applications.

Resource description communities require the ability to state certain things about certain kinds of resources. For describing bibliographic resources, for example, descriptive attributes including "author", "title", and

"subject" are common. For describing business entities, attributes such as

"partner" and "purchase order" are required. In RDF, the declaration of these properties (attributes) and their corresponding semantics are defined by RDF Schema15.

RDF Schema is specified in terms of the basic RDF information model - a graph structure describing resources and properties. All RDF vocabularies share some basic common structure: they describe classes of resource and types of relationships between resources. This commonality allows for a finer grained mixing of machine-processable vocabularies, and addresses the need to create metadata in which statements can draw upon multiple vocabularies that are managed in a decentralised fashion by independent communities (W3C, 2004c).

The RDF Schema approach to vocabulary description allows vocabulary designers to represent descriptions of classes and properties, for example by describing ways in which combinations of classes, properties and values can be used together meaningfully.

The example depicted in Figure 3-29, illustrates the way in which RDF can be used to describe real world things (e.g., people and companies), the classes they fall into (such as Employee), and the properties that are used to relate members of these classes - in this example the property worksFor. By using a RDF Schema, we can describe the relationship between RDF properties and these classes of resource. In this example, the RDF Schema is used to say that the worksFor property relates Employees to Companies. The example also shows that all Employees are considered to be Persons.

14 http://www.w3.org/XML/Schema

15 http://www.w3.org/TR/rdf-schema/

rdfs:Resource

RDF Schema consists of a collection of RDF resources that can be used to describe properties of other RDF resources (including properties) which define application-specific RDF vocabularies. The core vocabulary is defined in the namespace “http://www.w3.org/2000/01/rdf-schema#”.

The RDF Schema class and property system is similar to the type systems of object-oriented programming languages such as Java. However, RDF differs from many such systems in that instead of defining a class in terms of its properties, an RDF schema will define properties in terms of the classes to which they apply. For example, we could define the worksFor property to have domain of Emploee and a range of Company, whereas a classical object-oriented system might typically define a class Person with an attribute called worksFor of type Company. This example is depicted in Figure 3-30.

By using the RDF approach, it is easy for others to define subsequently additional properties with a domain Person or a range Company. This can be done without the need to re-define the original description of these

Figure 3-29

classes. One benefit of the RDF property-centric approach is that it is very easy for anyone to say anything they want about existing resources, which is one of the architectural principles of the Web (Berners-Lee, 1998).

RDF Schema provides a mechanism for describing information, but does not say whether or how an application should use it. Different applications will use this information in different ways. For example, a data-checking tool might use RDFS to discover errors in some dataset, an interactive editor might suggest appropriate values, and a reasoning application might use it to infer additional information from instance data.

RDF Schemas can describe relationships between vocabulary items from multiple independently developed schemas. Since URI references are used to identify classes and properties in the Web, it is possible to create new properties that have a domain or range whose value is a class defined in another namespace. This makes RDF suitable as a language to represent mappings between different resources.