Resource Description Framework Schema | |
Abbreviation | RDFS |
---|---|
Status | W3C Recommendation |
Year started | January 5, 1999 [1] [2] |
First published | April 30, 2002 [2] |
Latest version | 1.1 (Recommendation) February 25, 2014 [3] |
Organization | |
Editors |
|
Base standards | RDF |
Related standards | |
Domain | |
Website | www |
RDF Schema (Resource Description Framework Schema, variously abbreviated as RDFS, RDF(S), RDF-S, or RDF/S) is a set of classes with certain properties using the RDF extensible knowledge representation data model, providing basic elements for the description of ontologies. It uses various forms of RDF vocabularies, intended to structure RDF resources. RDF and RDFS can be saved in a triplestore, then one can extract some knowledge from them using a query language, like SPARQL.
The first version [1] [4] was published by the World-Wide Web Consortium (W3C) in April 1998, and the final W3C recommendation was released in February 2014. [3] Many RDFS components are included in the more expressive Web Ontology Language (OWL).
RDFS constructs are the RDFS classes, associated properties and utility properties built on the vocabulary of RDF. [5] [6] [7]
rdfs:Resource
rdfs:Class
A typical example of an rdfs:Class is foaf:Person
in the Friend of a Friend (FOAF) vocabulary. [8] An instance of foaf:Person
is a resource that is linked to the class foaf:Person
using the rdf:type
property, such as in the following formal expression of the natural-language sentence: 'John is a Person'.
ex:John rdf:type foaf:Person
The definition of rdfs:Class
is recursive: rdfs:Class
is the class of classes, and so it is an instance of itself.
rdfs:Class rdf:type rdfs:Class
The other classes described by the RDF and RDFS specifications are:
rdfs:Literal
rdfs:Datatype
rdfs:Datatype
is both an instance of and a subclass of rdfs:Class
. Each instance of rdfs:Datatype
is a subclass of rdfs:Literal
.rdf:XMLLiteral
rdf:XMLLiteral
is an instance of rdfs:Datatype
(and thus a subclass of rdfs:Literal
).rdf:Property
Properties are instances of the class rdf:Property
and describe a relation between subject resources and object resources. When used as such a property is a predicate (see also RDF: reification).
rdfs:domain
rdf:Property
declares the class of the subject in a triple whose predicate is that property.rdfs:range
rdf:Property
declares the class or datatype of the object in a triple whose predicate is that property.For example, the following declarations are used to express that the property ex:employer
relates a subject, which is of type foaf:Person
, to an object, which is of type foaf:Organization
:
ex:employer rdfs:domain foaf:Person ex:employer rdfs:range foaf:Organization
Given the previous two declarations, from the triple:
ex:John ex:employer ex:CompanyX
can be inferred (resp. follows) that ex:John
is a foaf:Person
, and ex:CompanyX
is a foaf:Organization
.
rdf:type
rdfs:subClassOf
For example, the following declares that 'Every Person is an Agent':
foaf:Person rdfs:subClassOf foaf:Agent
Hierarchies of classes support inheritance of a property domain and range (see definitions in the next section) from a class to its subclasses.
rdfs:subPropertyOf
rdf:Property
that is used to state that all resources related by one property are also related by another.rdfs:label
rdf:Property
that may be used to provide a human-readable version of a resource's name.rdfs:comment
rdf:Property
that may be used to provide a human-readable description of a resource.rdfs:seeAlso
rdf:Property
that is used to indicate a resource that might provide additional information about the subject resource.rdfs:isDefinedBy
rdf: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.An entailment regime defines whether the triples in a graph are logically contradictory or not. RDFS entailment [11] is not very restrictive, i.e. it does not contain a large amount of rules (compared, for example, to OWL) limiting what kind of statements are valid in the graph. On the other hand it is also not very expressive, meaning that the semantics that can be represented in a machine-interpretable way with the graph is quite limited.
Below in a simple example of the capabilities and limits of RDFS entailment, we start with a graph containing the following explicit triples:
foo:SomeGiraffe rdf:type bar:Animal. foo:SomeElephant rdf:type bar:Elephant. foo:SomeZoo rdf:type bar:Zoo. bar:livesInZoo rdfs:domain bar:Animal. bar:livesInZoo rdfs:range bar:Zoo. foo:SomeElephant bar:livesInZoo foo:SomeZoo.
Without enabling inferencing with RDFS entailment, the data we have does not tell us whether foo:SomeElephant
is a bar:Animal
. When we do RDFS-based inferencing, we will get the following extra triple:
foo:SomeElephant rdf:type bar:Animal.
The rdfs:domain
statement dictates that any subject in triples where bar:livesInZoo
is the predicate is of type bar:Animal
. What RDFS entailment is not able to tell us is the relationship between bar:Animal
and bar:Elephant
. Due to inferencing we now know that foo:SomeElephant
is both bar:Animal
and bar:Elephant
so these classes do intersect but there is no information to deduce whether they merely intersect, are equal or have a subclass relationship.
It is important to note that in RDFS 1.1, the domain and range statements do not carry any formal meaning and their interpretation is left up to the implementer. On the other hand in the 1.2 Working draft they are used as entailment rules for inferencing the types of individuals. Nevertheless in both versions, it is very clearly stated that the expected functionality of range is "the values of a property are instances of one or more classes" and domain "any resource that has a given property is an instance of one or more classes".
The example above demonstrated some of the limits and capabilities of RDFS entailment, but did not show an example of a logical inconsistency (which could in layman terms be interpreted as a "validation error"), meaning that the statements the triples make are in conflict and try to express contradictory states of affairs. An example of this in RDFS would be having conflicting datatypes for objects (e.g. declaring a resource to be of type xsd:integer
and being also declared to be xsd:boolean
when inferencing is enabled).
RDF vocabularies represented in RDFS include: [10]
madsrdf:prominentFamilyMember
. [16] The Semantic Web, sometimes known as Web 3.0, is an extension of the World Wide Web through standards set by the World Wide Web Consortium (W3C). The goal of the Semantic Web is to make Internet data machine-readable.
The Resource Description Framework (RDF) is a World Wide Web Consortium (W3C) standard originally designed as a data model for metadata. It has come to be used as a general method for description and exchange of graph data. RDF provides a variety of syntax notations and data serialization formats, with Turtle currently being the most widely used notation.
The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies. Ontologies are a formal way to describe taxonomies and classification networks, essentially defining the structure of knowledge for various domains: the nouns representing classes of objects and the verbs representing relations between the objects.
SPARQL is an RDF query language—that is, a semantic query language for databases—able to retrieve and manipulate data stored in Resource Description Framework (RDF) format. It was made a standard by the RDF Data Access Working Group (DAWG) of the World Wide Web Consortium, and is recognized as one of the key technologies of the semantic web. On 15 January 2008, SPARQL 1.0 was acknowledged by W3C as an official recommendation, and SPARQL 1.1 in March, 2013.
FOAF is a machine-readable ontology describing persons, their activities and their relations to other people and objects. Anyone can use FOAF to describe themselves. FOAF allows groups of people to describe social networks without the need for a centralised database.
A web resource is any identifiable resource present on or connected to the World Wide Web. Resources are identified using Uniform Resource Identifiers (URIs). In the Semantic Web, web resources and their semantic properties are described using the Resource Description Framework (RDF).
RDFa or Resource Description Framework in Attributes is a W3C Recommendation that adds a set of attribute-level extensions to HTML, XHTML and various XML-based document types for embedding rich metadata within Web documents. The Resource Description Framework (RDF) data-model mapping enables its use for embedding RDF subject-predicate-object expressions within XHTML documents. It also enables the extraction of RDF model triples by compliant user agents.
Simple Knowledge Organization System (SKOS) is a W3C recommendation designed for representation of thesauri, classification schemes, taxonomies, subject-heading systems, or any other type of structured controlled vocabulary. SKOS is part of the Semantic Web family of standards built upon RDF and RDFS, and its main objective is to enable easy publication and use of such vocabularies as linked data.
RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information. This library contains parsers/serializers for almost all of the known RDF serializations, such as RDF/XML, Turtle, N-Triples, & JSON-LD, many of which are now supported in their updated form. The library also contains both in-memory and persistent Graph back-ends for storing RDF information and numerous convenience functions for declaring graph namespaces, lodging SPARQL queries and so on. It is in continuous development with the most recent stable release, rdflib 6.1.1 having been released on 20 December 2021. It was originally created by Daniel Krech with the first release in November, 2002.
Oracle Spatial and Graph, formerly Oracle Spatial, is a free option component of the Oracle Database. The spatial features in Oracle Spatial and Graph aid users in managing geographic and location-data in a native type within an Oracle database, potentially supporting a wide range of applications — from automated mapping, facilities management, and geographic information systems (AM/FM/GIS), to wireless location services and location-enabled e-business. The graph features in Oracle Spatial and Graph include Oracle Network Data Model (NDM) graphs used in traditional network applications in major transportation, telcos, utilities and energy organizations and RDF semantic graphs used in social networks and social interactions and in linking disparate data sets to address requirements from the research, health sciences, finance, media and intelligence communities.
An RDF query language is a computer language, specifically a query language for databases, able to retrieve and manipulate data stored in Resource Description Framework (RDF) format.
Semantically Interlinked Online Communities Project is a Semantic Web technology. SIOC provides methods for interconnecting discussion methods such as blogs, forums and mailing lists to each other. It consists of the SIOC ontology, an open-standard machine-readable format for expressing the information contained both explicitly and implicitly in Internet discussion methods, of SIOC metadata producers for a number of popular blogging platforms and content management systems, and of storage and browsing/searching systems for leveraging this SIOC data.
In RDF, a blank node is a node in an RDF graph representing a resource for which a URI or literal is not given. The resource represented by a blank node is also called an anonymous resource. According to the RDF standard a blank node can only be used as subject or object of an RDF triple.
The Rule Interchange Format (RIF) is a W3C Recommendation. RIF is part of the infrastructure for the semantic web, along with (principally) SPARQL, RDF and OWL. Although originally envisioned by many as a "rules layer" for the semantic web, in reality the design of RIF is based on the observation that there are many "rules languages" in existence, and what is needed is to exchange rules between them.
N-Triples is a format for storing and transmitting data. It is a line-based, plain text serialisation format for RDF graphs, and a subset of the Turtle format. N-Triples should not be confused with Notation3 which is a superset of Turtle. N-Triples was primarily developed by Dave Beckett at the University of Bristol and Art Barstow at the World Wide Web Consortium (W3C).
The Semantic Web Stack, also known as Semantic Web Cake or Semantic Web Layer Cake, illustrates the architecture of the Semantic Web.
The FAO geopolitical ontology is an ontology developed by the Food and Agriculture Organization of the United Nations (FAO) to describe, manage and exchange data related to geopolitical entities such as countries, territories, regions and other similar areas.
A Rights Expression Language or REL is a machine-processable language used to express intellectual property rights and other terms and conditions for use over content. RELs can be used as standalone expressions or within a DRM system.
In the Semantic Web and in knowledge representation, a metaclass is a class whose instances can themselves be classes. Similar to their role in programming languages, metaclasses in Semantic Web languages can have properties otherwise applicable only to individuals, while retaining the same class's ability to be classified in a concept hierarchy. This enables knowledge about instances of those metaclasses to be inferred by semantic reasoners using statements made in the metaclass. Metaclasses thus enhance the expressivity of knowledge representations in a way that can be intuitive for users. While classes are suitable to represent a population of individuals, metaclasses can, as one of their feature, be used to represent the conceptual dimension of an ontology. Metaclasses are supported in the ontology language OWL and the data-modeling vocabulary RDFS.
Shapes Constraint Language (SHACL) is a World Wide Web Consortium (W3C) standard language for describing Resource Description Framework (RDF) graphs. SHACL has been designed to enhance the semantic and technical interoperability layers of ontologies expressed as RDF graphs.
{{cite web}}
: Missing or empty |title=
(help){{cite web}}
: CS1 maint: unfit URL (link)