Redland Notes - RDF and RDF Schema Concepts Reference

by Dave Beckett

$Date: 2001/04/24 14:01:51 $ - Changes

Institute for Learning and Research Technology
University of Bristol

1. Introduction

This document was created to aid me in writing the RDF parser for Redland. I needed to know the answer this question:

What are the XML-namespaced concepts that are defined in RDF Model and Syntax (M&S)[RDF] and RDF Schema (RDFS)[RDFS]?

This was required so that I could guarantee I was providing complete coverage of all legal RDF syntax and doing so correctly in all cases. In order to do this I compiled a table of what XML-namespaced concepts were defined in RDF and RDF Schema. Several additional properties of the concepts also needed to be recorded in order to complete the work:

(I could have extended this to other relevant [RDFS] properties - rdfs:range and rdfs:domain seem likely)

I give references to where I have found the answers to these questions, referencing only the [RDF] and [RDFS] documents.

Comments and corrections are welcome

Dave Beckett


2. Terminology

Sx.y
[RDF] section x.y
FM 5.x
Rule 5.x in [RDF] section 5. Formal Model for RDF
FG 6.x - n
Production 6.x named n in [RDF] section 6. Formal Grammar for RDF.
BAS1
Use of the M&S basic abbreviation syntax form 1 allowing "properties that are not repeated within a Description and where the values of those properties are literals" to be used as attributes of the Description element.

3. RDF Model and Syntax Concepts

Table 1 contains the concepts defined in the [RDF] supplemented by the type and sub-classing declarations made in [RDFS].

Table 1: RDF Model and Syntax concepts
Concept rdf:type rdfs:subClassOf Has a defined meaning
as an Element
Has a defined meaning
as an Attribute
Notes
rdf:Seq 1. rdfs:Resource and not rdf:Property (FM 5.10)
2. rdfs:Class (RDFS)
rdfs:Container 1. YES (FG 6.25 - sequence)
2. YES (FG 6.13 - typedNode)
NO  
rdf:Bag 1. rdfs:Resource and not rdf:Property (FM 5.10)
2. rdfs:Class (RDFS)
rdfs:Container 1. YES (FG 6.26 - bag)
2. YES (FG 6.13 - typedNode)
NO  
rdf:Alt 1. rdfs:Resource and not rdf:Property (FM 5.10)
2. rdfs:Class (RDFS)
rdfs:Container 1. YES (FG 6.27 - alternative)
2. YES (FG 6.13 - typedNode)
NO  
rdf:Property 1. rdfs:Resource (FM 5.3)
2. rdfs:Class (RDFS)
rdfs:Resource YES (FG 6.13 - typedNode) NO  
rdf:Statement 1. rdfs:Resource and not rdf:Property (FM 5.7)
2. rdfs:Class (RDFS)
rdfs:Resource YES (FG 6.13 - typedNode) NO Only use mentioned is as the object of rdf:type in a reified statement (S4.1)
rdf:object rdf:Property (FM 5.8) None YES (S4.1, FM 5.8 - is a rdf:Property) YES (BAS1)  
rdf:predicate rdf:Property (FM 5.8) None YES (S4.1, FM 5.8 - is a rdf:Property) YES (BAS1)  
rdf:subject rdf:Property (FM 5.8) None YES (S4.1, FM 5.8 - is a rdf:Property) YES (BAS1)  
rdf:type rdf:Property (FM 5.5) None YES (FG 6.11 - typeAttr, S4.1, FM 5.5 - is a rdf:Property) YES (BAS1)  
rdf:value rdf:Property (S7.3) None YES (S2.3 - Qualified Property Values, S7.3 example - is a rdf:Property) YES (BAS1)  
rdf:li None (syntax) None (syntax) YES (FG 6.29 - referencedItem, FG 6.30 - inlineItem) NO (S3.2 - "is a convenience element")
YES - rdf:li matches FG 6.12 - propertyElt and FG 6.13 - typedNode
 
rdf:_n / _n
where n is an integer >0
rdf:Property (FM 5.11)   YES (S3.1 - is a "membership property") YES (FG 6.31 - memberAttr, BAS1)  
rdf:RDF None (syntax) None (syntax) YES (FG 6.1 - RDF) NO  
rdf:Description None (syntax) None (syntax) YES (FG 6.2 - obj, FG 6.3 - description) NO  
rdf:about / about None (syntax) None (syntax) NO YES (FG 6.7 - aboutAttr)  
rdf:aboutEach / aboutEach None (syntax) None (syntax) NO YES (FG 6.8 - aboutEachAttr)  
rdf:aboutEachPrefix / aboutEachPrefix None (syntax) None (syntax) NO YES (FG 6.8 - aboutEachAttr)  
rdf:ID / ID None (syntax) None (syntax) NO YES (FG 6.6 - idAttr)  
rdf:bagID / bagID None (syntax) None (syntax) NO YES (FG 6.9 - bagIdAttr)  
rdf:resource / resource None (syntax) None (syntax) NO YES (FG 6.18 - resourceAttr)  
rdf:parseType / parseType None (syntax) None (syntax) NO YES (FG 6.32 - parseLiteral, FG 6.33 - parseResource)  

4. RDF Schema Concepts

Table 2 contains the concepts defined in [RDFS].

Table 2: RDF Schema concepts
Concept rdf:type rdfs:subClassOf
(all from RDF Schema definitions)
Has a defined meaning
as an Element
Has a defined meaning
as an Attribute
Notes
rdfs:Class rdfs:Class rdfs:Resource YES (FG 6.13 - typedNode) NO (cannot take literal values)  
rdfs:ConstraintProperty rdfs:Class 1. rdfs:ConstraintResource
2. rdf:Property
YES (FG 6.13 - typedNode) NO (cannot take literal values)  
rdfs:ConstraintResource rdfs:Class rdfs:Resource YES (FG 6.13 - typedNode) NO (cannot take literal values)  
rdfs:Container rdfs:Class rdfs:Resource YES (FG 6.13 - typedNode) NO (cannot take literal values)  
rdfs:ContainerMembershipProperty rdfs:Class rdf:Property YES (FG 6.13 - typedNode) NO (cannot take literal values)  
rdfs:Literal rdfs:Class None YES (FG 6.13 - typedNode) NO (cannot take literal values)  
rdfs:Resource rdfs:Class None YES (FG 6.13 - typedNode) NO (cannot take literal values)  
rdfs:range 1. rdfs:ConstraintProperty
2. rdf:Property (because rdfs:ConstraintProperty is rdfs:subClassOf rdf:Property)
3. rdfs:ConstraintResource (because rdfs:ConstraintProperty is rdfs:subClassOf rdfs:ConstraintResource)
None YES (FG 6.12 - propertyElt) NO (cannot take literal values)  
rdfs:domain 1. rdfs:ConstraintProperty
2. rdf:Property (because rdfs:ConstraintProperty is rdfs:subClassOf rdf:Property)
None YES (FG 6.12 - propertyElt) NO (cannot take literal values)  
rdfs:isDefinedBy rdf:Property None YES (FG 6.12 - propertyElt) NO (cannot take literal values)  
rdfs:label rdf:Property None YES (FG 6.12 - propertyElt) YES (BAS1)  
rdfs:comment rdf:Property None YES (FG 6.12 - propertyElt) YES (BAS1)  
rdfs:seeAlso rdf:Property None YES (FG 6.12 - propertyElt) NO (cannot take literal values)  
rdfs:subClassOf rdf:Property None YES (FG 6.12 - propertyElt) NO (cannot take literal values)  
rdfs:subPropertyOf rdf:Property None YES (FG 6.12 - propertyElt) NO (cannot take literal values)  

Conclusions

Some things I've found from the above analysis:

References

[RDF] Model and Syntax W3C Recommendation at http://www.w3.org/TR/REC-rdf-syntax, 22 February 1999.

[RDFS] RDF Schema W3C Candidate Recommendation at http://www.w3.org/TR/2000/CR-rdf-schema-20000327, 27 March 2000.

Changes

2001-04-24

Added rdfs:ConstraintResource as 3rd type of rdfs:range - expanding the subclassing in the table.

2001-01-17

Expanded comment about rdfs:ConstraintProperty being subclass of two classes. Explained RDFS does not restrict this; i.e. has no position on inheritance.

Added reference to prose in S2.3 where rdf:value is defined.

2001-01-12

Added rdf:li as propertyElt, typedNode

Added conclusions section based on the comments I made in my email announcing this document.

Changed the title to "RDF and RDF Schema Concepts Reference"


Copyright 2000-2001 Dave Beckett, Institute for Learning and Research Technology, University of Bristol

Validate me