Schema for knowledge representation
RDF Schema
|
Abbreviation
| RDFS
|
---|
Status
| W3C Recommendation
|
---|
Year started
| January 5, 1999
; 25 years ago
(
1999-01-05
)
[1]
[2]
|
---|
First published
| April 30, 2002
; 22 years ago
(
2002-04-30
)
[2]
|
---|
Latest version
| 1.1 (Recommendation)
February 25, 2014
; 10 years ago
(
2014-02-25
)
[3]
|
---|
Organization
| |
---|
Editors
| |
---|
Base standards
| RDF
|
---|
Related standards
| |
---|
Domain
| |
---|
Website
| www
.w3
.org
/TR
/rdf-schema
/
|
---|
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).
Terminology
[
edit
]
RDFS constructs are the RDFS classes, associated properties and utility properties built on the
vocabulary of RDF
.
[5]
[6]
[7]
Classes
[
edit
]
rdfs:Resource
- Represents the class of everything. All things described by RDF are resources.
rdfs:Class
- An
rdfs:Class
declares a resource as a
class
for other resources.
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
- literal values
such as strings and integers. Property values such as textual strings are examples of RDF literals. Literals may be plain or typed.
rdfs:Datatype
- the class of datatypes.
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
- the class of XML literal values.
rdf:XMLLiteral
is an instance of
rdfs:Datatype
(and thus a subclass of
rdfs:Literal
).
rdf:Property
- the class of properties.
Properties
[
edit
]
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
- the
rdfs:domain
of an
rdf:Property
declares the class of the
subject
in a
triple
whose predicate is that property.
rdfs:range
- the
rdfs:range
of an
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
- a property used to state that a resource is an instance of a class. A commonly accepted
QName
for this property is "a".
[9]
rdfs:subClassOf
- allows declaration of hierarchies of classes.
[10]
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
- an instance of
rdf:Property
that is used to state that all resources related by one property are also related by another.
rdfs:label
- an instance of
rdf:Property
that may be used to provide a human-readable version of a resource's name.
rdfs:comment
- an instance of
rdf:Property
that may be used to provide a human-readable description of a resource.
Utility properties
[
edit
]
rdfs:seeAlso
- an instance of
rdf:Property
that is used to indicate a resource that might provide additional information about the subject resource.
rdfs:isDefinedBy
- an instance of
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.
RDFS entailment
[
edit
]
An
entailment
regime defines, by using RDFS (or OWL, etc.), not only which entailment relation is used, but also which queries and graphs are well-formed for the regime. The RDFS entailment is a standard entailment relation in the semantic web.
[11]
For example, the following declares that 'Dog1 is an animal', 'Cat1 is a cat', 'zoos host animals' and 'Zoo1 hosts the Cat2':
ex:dog1 rdf:type ex:animal
ex:cat1 rdf:type ex:cat
zoo:host rdfs:range ex:animal
ex:zoo1 zoo:host ex:cat2
The graph is not well-formed because the system can not guess that a cat is an animal. To make a well-formed graph, the statement 'Cats are animals' can be added:
ex:cat rdfs:subClassOf ex:animal
Here is a correct example:
In English
|
The graph
|
- Dog1 is an animal
- Cat1 is a cat
- Cats are animals
- Zoos host animals
- Zoo1 hosts the Cat2
|
|
RDF/
turtle
|
@prefix
rdf:
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
.
@prefix
rdfs:
<http://www.w3.org/2000/01/rdf-schema#>
.
@prefix
ex:
<http://example.org/>
.
@prefix
zoo:
<http://example.org/zoo/>
.
ex
:
dog1
rdf
:
type
ex
:
animal
.
ex
:
cat1
rdf
:
type
ex
:
cat
.
ex
:
cat
rdfs
:
subClassOf
ex
:
animal
.
zoo
:
host
rdfs
:
range
ex
:
animal
.
ex
:
zoo1
zoo
:
host
ex
:
cat2
.
|
If the
triplestore
(or RDF database) implements the regime
entailment
of RDF and RDFS, the
SPARQL
query as follows (the keyword "a" is equivalent to rdf:type in SPARQL):
PREFIX
ex
:
<http://example.org/>
SELECT
?animal
WHERE
{
?animal
a
ex
:
animal
.
}
The following gives the result with
cat1
in it, because the Cat's type inherits of Animal's type. Also
cat2
is in results, because it could be inferred that
cat2
is an animal from the sentence 'Zoos host animals'.
animal
|
<http://example.org/dog1>
|
<http://example.org/cat1>
|
<http://example.org/cat2>
|
Examples of RDF vocabularies
[
edit
]
RDF vocabularies represented in RDFS include:
[10]
- FOAF
: the source of the FOAF Vocabulary Specification is RDFS written in the
RDFa
syntax.
[8]
- Dublin Core
: RDFS source is available in several syntaxes
[12]
- Schema.org
: the source of their schema was originally RDFS written in the
RDFa
syntax until July 2020.
[13]
[14]
- Simple Knowledge Organization System
(SKOS) developed the RDF schema titled as SKOS XL Vocabulary, which is an OWL ontology for the SKOS vocabulary that uses the OWL RDF/XML syntax, and hence makes use of a number of classes and properties from RDFS.
[15]
- The
Library of Congress
defines an RDF schema titled Metadata Authority Description Schema in RDF, or MADS/RDF for short. From the abstract, it is intended for use within their library and "information science (LIS) community". It allows for annotating special relational data, such as if an individual within a family is well-known via
madsrdf:prominentFamilyMember
.
[16]
- The
UniProt
database has an RDF schema for describing
biochemical
data, and is specialized towards describing
proteins
.
[17]
See also
[
edit
]
References
[
edit
]
- ^
a
b
c
Brickley, Dan;
Guha, Ramanathan V.
; Layman, Andrew, eds. (1998-04-09).
"Resource Description Framework (RDF) Schemas"
.
W3C
. W3C Working Draft. RDF Schema Working Group
. Retrieved
2021-04-23
.
- ^
a
b
"RDF Schema 1.1 Publication History - W3C"
.
W3C
. n.d
. Retrieved
2021-04-23
.
- ^
a
b
Brickley, Dan;
Guha, Ramanathan V.
, eds. (2014-02-25).
"RDF Schema 1.1"
.
W3C
. 1.1. RDF Working Group
. Retrieved
2021-04-23
.
- ^
Bikakis N.; Tsinaraki C.; Gioldasis N.; Stavrakantonakis I.; Christodoulakis S., eds. (2012-03-21).
"XML and Semantic Web W3C Standards Timeline-History"
(PDF)
. Archived from
the original
(PDF)
on 2013-04-24
. Retrieved
2021-04-23
.
- ^
"Chapter 3: RDF Schema"
(PDF)
.
csee.umbc.edu
.
UMBC
's Department of Computer Science and Electrical Engineering. 2017. Archived from
the original
(PDF)
on 2021-04-24
. Retrieved
2021-04-24
.
- ^
Lapalme, Guy (2002).
"XML: Looking at the Forest Instead of the Trees § 7.1. Triples in RDF/XML"
.
Universite de Montreal
. Archived from
the original
on 2021-01-14
. Retrieved
2021-04-24
.
- ^
Lagoze, Carl (2008-03-31).
"RDF Meta Model and Schema"
(PDF)
.
Cornell University
. Archived from
the original
(PDF)
on 2019-07-12
. Retrieved
2021-04-24
.
- ^
a
b
Brickley, Dan; Miller, Libby, eds. (2014-01-14).
"FOAF Vocabulary Specification 0.99"
.
xmlns.com
. The FOAF Project
. Retrieved
2021-04-23
.
- ^
DuCharme, Bob (2011).
Learning SPARQL
. Sebastopol, California, United States:
O'Reilly Media
. p. 36.
ISBN
9781449306595
.
- ^
a
b
Schreiber, Guus; Raimond, Yves; Manola, Frank; Miller, Eric; McBride, Brian, eds. (2014-06-24).
"RDF 1.1 Primer"
.
W3C
. Working Group Note. RDF Working Group
. Retrieved
2021-04-23
.
- ^
Hayes, Patrick; McBride, Brian (2004-02-10).
"RDF Semantics § 4.4 RDFS Entailment"
.
W3C
. RDF Core Working Group
. Retrieved
2021-04-24
.
- ^
Dublin Core Metadata Initiative (20 January 2020).
"DCMI: DCMI Metadata expressed in RDF Schema Language"
.
dublincore.org
(published 2000)
. Retrieved
2021-04-23
.
- ^
Schema.org
(n.d.).
"Schema.org core schema"
.
schema.org
. Archived from the original on 2020-05-10
. Retrieved
2021-04-24
.
{{
cite web
}}
: CS1 maint: unfit URL (
link
)
- ^
Wallis, Richard (2020-07-17).
"Informatively redirect accesses to retired file schema_org_rdfa.html · Issue #2656 · schemaorg/schemaorg"
.
GitHub
. Retrieved
2021-04-24
.
- ^
Miles, Alistair; Bechhofer, Sean (2009-08-18).
"SKOS XL Vocabulary"
. Archived from
the original
on 2020-02-27
. Retrieved
2021-04-24
.
- ^
Library of Congress
; et al. (MADS/XML community, MODS Editorial Committee) (n.d.).
"MADS/RDF Primer"
.
Library of Congress
. Retrieved
2021-04-24
.
- ^
UniProt
(n.d.).
"UniProt RDF schema ontology"
.
UniProt
. Retrieved
2021-04-24
.
External links
[
edit
]
|
---|
Background
| |
---|
Sub-topics
| |
---|
Applications
| |
---|
Related topics
| |
---|
Standards
| Syntax and supporting technologies
| |
---|
Schemas, ontologies and rules
| |
---|
Semantic annotation
| |
---|
Common vocabularies
| |
---|
Microformat vocabularies
| |
---|
|
---|
|
---|
Products and
standards
| |
---|
Organizations
| | Working groups
| |
---|
Community & business groups
| |
---|
Closed groups
| |
---|
|
---|
Software
| |
---|
Conferences
| |
---|