NEW
RDF class used to encode ordered lists via rdf:first and rdf:rest.
DESCRIPTION
rdf:List is the RDF class for representing ordered collections using linked-list structure with rdf:first and rdf:rest, terminated by rdf:nil. It supports predictable traversal, modeling OWL constructs, and serializations like Turtle. Lists are preferred over legacy RDF containers for deterministic order and clearer semantics, though they can be verbose and costly to update in large graphs.
ALTERNATIVE DEFINITIONS
W3C RDF Schema 1.1
rdf:List — The class of RDF Lists.
Defines rdf:List formally as a class in the collection vocabulary.
W3C RDF 1.1 Concepts
Collections are used to represent ordered lists of items in RDF, typically encoded with rdf:first, rdf:rest, and rdf:nil.
Emphasizes ordered nature and the encoding properties of RDF collections.
Wikipedia
Collections in RDF are represented using rdf:List together with the properties rdf:first and rdf:rest.
Concise summary linking rdf:List to its key properties.
RELATED TERMS
RDF RDF Schema rdf:first rdf:rest rdf:nil SPARQL Turtle OWL Simple Knowledge Organization System
COMPETING TERMS
KNOWLEDGE AREAS
Semantic & Knowledge Modeling Data Modeling Data Integration & Interoperability
TARGET AUDIENCE
Data Modeler Data Architect Data Engineer Information Analyst Data Steward
EXTERNAL SOURCES
- Wikipedia - RDF Schema
- W3C - RDF Schema collection vocabulary
- W3C - Turtle syntax for RDF collections
- Apache Jena - Developer tutorial on RDF collections
TOP QUESTIONS
What is rdf:List in RDF modeling?
rdf:List is the RDF class for ordered collections, represented via linked nodes using rdf:first, rdf:rest, and terminated by rdf:nil. It enables deterministic sequence modeling in graphs.
Category: Definition
How does rdf:List differ from rdf:Seq?
rdf:List encodes order through linked-list structure, while rdf:Seq uses container membership properties (rdf:_1, rdf:_2). Lists are preferred for clearer semantics and standard traversal.
Category: Comparison
When should I use rdf:List?
Use rdf:List when order matters and you need portable, standard-compliant modeling across RDF tools. It’s ideal for OWL constructs and deterministic order in serializations.
Category: Usage
How do I query rdf:List with SPARQL?
Traverse list nodes iteratively via rdf:first and rdf:rest until rdf:nil. SPARQL property paths (e.g., rdf:rest*) simplify navigation and extraction of sequence elements.
Category: HowTo
What are common mistakes with rdf:List?
Breaking the chain (missing rdf:rest), failing to terminate with rdf:nil, or mixing rdf:List with container properties can cause traversal errors and inconsistent order.
Category: Mistakes
What are performance concerns with rdf:List?
Updates and insertions in the middle of lists require pointer rewrites, which can be verbose and costly on large lists. Consider sequences only when necessary.
Category: Risks
Is rdf:List still recommended over RDF containers?
Yes. Lists provide deterministic order and consistent semantics, while containers are legacy and less predictable. Most modern RDF tooling favors lists.
Category: Opinion
Can rdf:List represent nested structures?
Yes. Elements can be lists themselves, enabling nested sequences. Careful traversal logic and validation are needed to maintain integrity.
Category: Capabilities
How is rdf:List serialized in Turtle?
Turtle provides a concise syntax using parentheses, e.g., (a b c), which expands to the rdf:first/rdf:rest linked-list structure under the hood.
Category: Syntax