The Dublin Core Schema is a small set of vocabulary terms that can be used to describe different resources.
Dublin Core Metadata may be used for multiple purposes, from simple resource description, to combining metadata vocabularies of different metadata standards, to providing inter-operability for metadata vocabularies in the Linked data cloud and Semantic web implementations.
Most used applications of Dublin Core Metadata are RDF and OWL. I will describe OWL in my next post.
RDF stands for Resource Description Framework. It is a standard model for data interchange on the Web. RDF has features that facilitate data merging even if the underlying schemas differ, and it specifically supports the evolution of schemas over time without requiring all the data consumers to be changed.
RDF extends the linking structure of the Web to use URIs to name the relationship between things as well as the two ends of the link (this is usually referred to as a “triple”). Using this simple model, it allows structured and semi-structured data to be mixed, exposed, and shared across different applications.
This linking structure forms a directed, labeled graph, where the edges represent the named link between two resources, represented by the graph nodes. This graph view is the easiest possible mental model for RDF and is often used in easy-to-understand visual explanations.
RDF Schema or RDFS is a set of classes with certain properties using the RDF extensible knowledge representation data model, providing basic elements for the description of ontologies, otherwise called RDF vocabularies, intended to structure RDF resources. These resources can be saved in a triplestore to reach them with the query language SPARQL.
The first version RDFS version was published by the World-Wide Web Consortium (W3C) in April 1998, and the final W3C recommendation was released in February 2004. Many RDFS components are included in the more expressive Web Ontology Language (OWL).
Main RDFS constructs
RDFS constructs are the RDFS classes, associated properties, and utility properties built on the limited vocabulary of RDF.
Classes
Resource is the class of everything. All things described by RDF are resources.
Class declares a resource as a class for other resources.
A typical example of a Class is "Person" in the Friend of a Friend (FOAF) vocabulary. An instance of "Person" is a resource that is linked to the class "Person" using the type property, such as in the following formal expression of the natural language sentence: "John is a Person".
example: John rdf:type foaf:Person
The other classes described by the RDF and RDFS specifications are:
- Literal – literal values such as strings and integers. Property values such as textual strings are examples of literals. Literals may be plain or typed.
- Datatype – the class of datatypes. Datatype is both an instance of and a subclass of Class. Each instance of:Datatype is a subclass of Literal.
- XMLLiteral – the class of XML literal values.XMLLiteral is an instance of Datatype (and thus a subclass of Literal).
- Property – the class of properties.
Properties
Properties are instances of the class Property and describe a relation between subject resources and object resources.
For example, the following declarations are used to express that the property "employer" relates a subject, which is of type "Person", to an object, which is of type "Organization":
ex:employer rdfs:domain foaf:Person
ex:employer rdfs:range foaf:Organization
Hierarchies of classes support inheritance of a property domain and range from a class to its sub-classes:
- subPropertyOf is an instance of Property that is used to state that all resources related by one property are also related by another.
- Label is an instance of Property that may be used to provide a human-readable version of a resource's name.
- Comment is an instance of Property that may be used to provide a human-readable description of a resource.
Utility properties
seeAlso is an instance of Property that is used to indicate a resource that might provide additional information about the subject resource.
isDefinedBy is an instance of Property that is used to indicate a resource defining the subject resource. This property may be used to indicate an RDF vocabulary in which a resource is described.