Fabl's type system is based on the OWL Web Ontology Language (OWL, like RDF, is a w3c standard). OWL is an RDF vocabulary for expressing assertions about classes of RDF resources. It includes constructs for defining classes based on enumeration, set operations, and restrictions on the values of properties when applied to class members. Although any OWL statement can be legally asserted in the Fabl environment, Fabl only makes direct use of some kinds of OWL statements in its computation of the type of expressions. Fabl adds a few additional class construction primitives beyond those that appear in OWL.
This manual does not assume prior familiarity with OWL; as with RDF, OWL constructs will be explained as needed. Fabl includes a traditional programming language syntax for class definition - syntax that is implemented internally using Owl primitives. This syntax will remove the need to work directly at Owl level in many applications.
Owl extends class-related vocabulary that is present in the RDF standard itself, and in the RDF Vocabulary Description Language (RDFS). As an introduction, here are some of the basic terms from RDF, RDFS, and OWL. Each term links to the section in an online w3c document describing the term.
From the RDFS document:
rdfs:Resource The class of all resources
rdfs:Class The class of all classes
rdf:Property The class of properties
rdf:type The type of a resource is given by this property.
rdfs:subClassOf A property of classes indicating that all members of the subject class are members of the object class as well.