NEW
RDFS property that declares the class of permissible subjects for a given predicate.
DESCRIPTION
rdfs:domain constrains a property’s subjects to be instances of a specified class and enables type inference in RDF/OWL knowledge graphs. When a triple uses a property with a declared domain, reasoners infer that the subject belongs to the domain class. Multiple domain statements imply subjects are instances of all declared classes. rdfs:domain is often used for schema modeling rather than data validation. For validation and error reporting, SHACL shapes are preferred. It is foundational in ontology engineering and interoperable semantic data modeling.
ALTERNATIVE DEFINITIONS
W3C RDF Schema 1.1
rdfs:domain is used to state that the subjects of triples in which a given property is used are instances of a specified class.
Emphasizes inference that subjects become instances of the domain class.
Apache Jena
In RDFS, the domain of a property constrains the set of resources that can occur as the subject of triples with that property, and enables class membership inference.
Highlights constraint and reasoning behavior in practical tool usage.
Eclipse RDF4J
The domain of a property states that subjects of statements using that property are instances of the indicated class.
Provides a concise operational view for developers working with RDF4J.
RELATED TERMS
RDF Schema OWL rdf:type SHACL OWL ObjectProperty OWL DataProperty Simple Knowledge Organization System Schema.org
COMPETING TERMS
Range Constraint SHACL targetClass
KNOWLEDGE AREAS
Semantic & Knowledge Modeling Data Modeling Data Integration & Interoperability Data Architecture
TARGET AUDIENCE
Data Modeler Data Architect AI Engineer Data Scientist Data Steward Software Developer Information Analyst
EXTERNAL SOURCES
- Wikipedia - RDF Schema
- W3C - Authoritative RDF Schema specification
- Apache Jena - Ontology and RDFS usage guide
- Eclipse RDF4J - RDFS programming guide
- W3C - OWL 2 primer contextualizes domain/range
TOP QUESTIONS
What does rdfs:domain infer in a knowledge graph?
It infers that any subject using the property is an instance of the domain class. This is a schema-driven inference and not a data validation mechanism.
Category: Concept
How is rdfs:domain different from SHACL in modeling?
rdfs:domain declares inference-oriented constraints, whereas SHACL targets validation and error reporting on data shapes. SHACL is preferred for runtime data quality checks.
Category: Difference
Can rdfs:domain have multiple classes for a property?
Yes. Multiple rdfs:domain statements imply the subject is an instance of the intersection of all declared classes, which may be unintentionally restrictive.
Category: Usage
Why is rdfs:domain relevant in ontology engineering?
It sets expectations on subject types for properties, supports reasoning, and clarifies schema intent, aiding consistent data integration across sources.
Category: Relevancy
What are common mistakes when using rdfs:domain?
Using domain as validation can lead to unexpected type inferences; over-constraining domains or forgetting intersections across multiple domains can cause modeling issues.
Category: Mistakes
How does rdfs:domain interact with rdf:type?
If a subject uses a property with a declared domain, reasoners can assert the subject’s rdf:type for that domain class automatically.
Category: Interaction
When should rdfs:domain be avoided?
Avoid it when the property is used by heterogeneous subjects across many classes, or when strict type inference is undesirable; use SHACL shapes instead.
Category: Guidance
What is a practical example of rdfs:domain?
For ex:hasBirthDate, declaring rdfs:domain ex:Person ensures any subject with hasBirthDate is inferred to be a Person.
Category: Example
Is rdfs:domain required for all properties?
No. It’s optional and should be used to communicate strong modeling intent; many vocabularies omit domains to remain flexible.
Category: Opinion