DAML Reference
Pages: 1, 2, 3, 4
4. RDFS Classes and Properties
| Namespace URI: | http://www.w3.org/2000/01/rdf-schema## |
| Specification: | http://www.w3.org/TR/2000/CR-rdf-schema-20000327 |
4.1. rdfs:Class
rdfs:Class corresponds to the generic concept of a Type or Category, similar to the notion of a Class in object-oriented programming languages. When a schema defines a new class, the resource representing that class must have an rdf:type property whose value is the resource rdfs:Class.
4.2. rdfs:Resource
Anything described by RDF expressions is called a resource and is considered to be an instance of the class rdfs:Resource. The RDF class rdfs:Resource represents the set called "Resources" in the formal model for RDF presented in section 5 of the RDF Model and Syntax specification.
4.4. rdfs:domain
rdf:type rdf:Property
rdfs:domain indicates the classes on whose member a property can be used. (each containing a class-expression). If there are multiple domains, then according to DAML+OIL semantics, the domain is the union of all domain specifications. Warning: this is different from the semantics in RDFS.4.5. rdfs:isDefinedBy
| rdf:type | rdf:Property |
rdfs:isDefinedBy is a subproperty of rdfs:seeAlso and indicates the resource defining the subject resource. Its most common use is to identify an RDF schema that is not otherwise identified, i.e. the URI in the resource attribute does not indicate the URI of its schema.
4.6. rdfs:label
| rdf:type | rdf:Property |
rdfs:label is a human-readable version of a resource name and it can only be a string literal.
4.7. rdfs:range
| rdf:type | rdf:Property |
rdfs:range indicates the classes that the values of a property must be members of. If there are multiple ranges, then according to DAML+OIL semantics, the range is the union of all range specifications. Warning: this is different from the semantics in RDFS.
4.8. rdfs:seeAlso
| rdf:type | rdf:Property |
rdfs:seeAlso specifies a resource that might provide additional information about the subject resource.
4.9. rdfs:subClassOf
| rdf:type | rdf:Property |
rdfs:subClassOf is a transitive property that specifies a subset-superset relation between classes. Both the subject and object of the rdfs:subClassOf property must be class-expression. An example of a rdfs:subClassOf can represent a specialization between classes, for instance, a ball is not only a product but one that is used in sports.
<daml:Class rdf:ID="Ball">
<rdfs:label>Ball</rdfs:label>
<rdfs:comment>A ball designed to be in sports</rdfs:comment>
<rdfs:subClassOf rdf:resource="#Product"/>
</daml:Class>
4.10. rdfs:subPropertyOf
| rdf:type | rdf:Property |
rdfs:subPropertyOf is an instance of rdf:Property used to specify that one property is a specialization of another. A property can never be declared to be a subproperty of itself, nor of any of its own subproperties. For instance we have defined a member property, we could then define an inactive member that is a an rdfs:subProperty of member.
<daml:ObjectProperty rdf:ID="inactiveMember">
<rdfs:label>Inactive Member</rdfs:label>
<rdfs:comment>A member that temporarily stopped its
activity within the Club.</rdfs:comment>
<rdfs:subPropertyOf rdf:resource="#member"/>
</daml:ObjectProperty>
5. DAML Classes and Properties
| Namespace URI: | http://www.daml.org/2001/03/daml+oil# |
| Specification: | http://www.daml.org/2001/03/daml+oil.daml |
5.1. daml:Class
| rdfs:subClassOf | rdfs:Class |
The class of all "object" classes.
5.1.1. Syntax
A daml:Class contains part of the definition of an object class. A class refers to a class name using either rdf:about or rdf:ID attributes, and contains:
-
zero or more rdfs:subClassOf properties (each containing a class-expression ).
-
zero or more daml:disjointWith properties (each containing a class-expression ).
-
zero or more daml:disjointUnionOf properties (each containing a list of class-expressions ).
-
zero or more daml:sameClassAs properties (each containing a class-expression ).
-
zero or more daml:equivalentTo properties (each containing a class-expressions ).
-
zero or more boolean combinations of class-expressions, that is any combinations of daml:unionOf , daml:intersectionOf, daml:complementOf.
-
zero or more enumeration properties daml:oneOf.
5.1.2. Syntax
A class-expression is the name used in this document for either:
-
a class name (a URI) identified using the rdf:resource attribute, or
-
an enumeration, enclosed in <daml:Class>...</daml:Class> tags, or
-
a property-restriction, defined with the daml:Restriction class or
-
a boolean combination of class- expressions, enclosed in <dfs:Class>...</rdfs:Class> tags.
5.2. daml:Datatype
| rdf:type | rdfs:Class |
| rdfs:subClassOf | rdfs:Class |
Instances of daml:Datatype are datatypes instead of object classes like instances of daml:Class. A datatype is a simple type such as those defined in the W3C XML Schema; it includes string, numbers, date, etc. The daml:Datatype class is disjoint from the daml:Class class, therefore no instance can be a datatype and an object class.
5.3. daml:DatatypeProperty
| rdf:type | daml:Class |
| rdfs:subClassOf | rdfs:Property |
The rdfs:range value of a daml:DatatypeProperty is an instance of daml:Datatype. An example of a daml:DatatypeProperty is the #productNumber property, its range is a xsd:nonNegativeInteger datatype as defined in the XML Schema specification.
5.4. daml:List
| rdf:type | daml:Class |
| rdfs:subClassOf | rdf:Seq |
A daml:List is a set of statements which recursively breaks the list down into the first element, daml:first, and the sublist consisting of the rest of the elements daml:rest. When the last element is reached, the sublist of remaining elements is a special DAML resource daml:nil.
5.6. daml:ObjectProperty
| rdf:type | daml:Class |
| rdfs:subClassOf | rdf:Property |
The rdfs:range value of a daml:ObjectProperty is of rdf:type, daml:Class, or any of its sub-classes. Any instance of any class, except daml:Datatype ,can be the value of the range of an instance of a daml:ObjectProperty. An example of a daml:ObjectProperty is the #gear property, its range is a #Product which is of rdf:type daml:Class.
5.6.1. Syntax
A property (daml:ObjectProperty and daml:DatatypeProperty) contains:
-
zero or more rdfs:subPropertyOf properties, each containing a property name.
-
zero or more rdfs:domain properties (each containing a class-expressions).
-
zero or more rdfs:range properties (each containing a class-expressions).
-
zero or more daml:equivalentTo properties (each containing a property name).
-
zero or more daml:inverseOf properties (each containing a property name), for properties only.
5.7. daml:Ontology
| rdf:type | rdfs:Class |
| rdfs:subClassOf | rdf:Property |
daml:Ontology is the DAML+OIL header. This provides certain metadata for the ontology itself.
5.7.1. Syntax
A daml:Ontology class contains zero or more daml:versionInfo and daml:imports properties.