15.2 Things
The struct type thing represents a named object about which assertions may be made. In fact, it is a mapping from a name (of type member-name/c) to a list of assertion values.
Schema Module – Things
value
A contract that defines the name of a schema member, where all things are intended as schema members.
struct
name : member-name/c assertions : (listof assertion?)
TBD
constructor
(individual name assertion ... [ #:label label #:comment comment]) → thing? name : member-name/c assertion : assertion? label : (or/c schema-object/c #f) = #f comment : (or/c schema-object/c #f) = #f
Create a new thing. This constructor has the fewest assumptions about the type, or structure, of a thing.
constructor
(resource name assertion ... [ #:label label #:comment comment #:type type]) → thing? name : member-name/c assertion : assertion? label : (or/c schema-object/c #f) = #f comment : (or/c schema-object/c #f) = #f type : (or/c schema-subject/c #f) = #f
This constructor creates an individual thing that is a RDF Schema Resource, and may have a type.
constructor
(class name assertion ... [ #:label label #:comment comment #:subClassOf super]) → thing? name : member-name/c assertion : assertion? label : (or/c schema-object/c #f) = #f comment : (or/c schema-object/c #f) = #f super : (or/c schema-subject/c #f) = #f
This constructor creates an individual thing that is an RDF Schema Class. The #:subClassOf keyword allows the
class hierarchy to be specified directly rather than with individual assertions.
constructor
(property name assertion ... [ #:label label #:comment comment #:subPropertyOf super #:domain domain #:range range]) → thing? name : member-name/c assertion : assertion? label : (or/c schema-object/c #f) = #f comment : (or/c schema-object/c #f) = #f super : (or/c schema-subject/c #f) = #f domain : (or/c schema-subject/c #f) = #f range : (or/c schema-subject/c #f) = #f
This constructor creates an individual thing that is an RDF Property. The #:subPropertyOf keyword allows the
property hierarchy to be specified directly rather than with individual assertions.
constructor
(datatype name assertion ... [ #:label label #:comment comment #:restricts restricts]) → thing? name : member-name/c assertion : assertion? label : (or/c schema-object/c #f) = #f comment : (or/c schema-object/c #f) = #f restricts : (or/c schema-subject/c #f) = #f
This constructor creates an individual thing that is an RDF Schema
datatype
.
value
TBD
constructor
(container name assertion ... [ #:label label #:comment comment #:kind kind]) → thing? name : member-name/c assertion : assertion? label : (or/c schema-object/c #f) = #f comment : (or/c schema-object/c #f) = #f kind : container-kind/c = #f
This constructor creates an individual thing that is an RDF Schema Container. Optionally the individual may be typed
according to the container-kind/c value of 'alt, 'bag, or 'seq.