Class

class(c1, "bfo:Quality")   
uml diagram
oClass(bfo:Quality)   
uml diagram

Individual

individual(o1, "ns1:temperature1")
uml diagram
oIndividual(ns1:temperature1)
uml diagram

Complement of a class

class(c1, "iof:SpatialRegion")   
complement(cx, c1)
class(c2, "iof:MaterialArtifact")
equivalent(c2, cx)

uml diagram

Type of an individual

class(c1, "bfo:Quality")   
individual(o1, "ns1:temperature1")
typeOf(o1, c1)
uml diagram
oClass(bfo:Quality)
oIndividual(ns1:temperature1)
typeOf(ns1:temperature1, bfo:Quality)
uml diagram

Associating individuals using object property

individual(p1, "ns1:plank1")
individual(l1, "ns1:length1")
property(p1, bfo:bears, l1, right)
uml diagram
oIndividual(ns1:plank1)
oIndividual(ns1:length1)
property(ns1:plank1, bfo:bears, ns1:length1, right)
uml diagram

Associating data to an individual

individual(l1, "ns1:length-value")
data(l1, iof:hasSimpleExpressionValue, 30^^xsd:decimal)
uml diagram
oIndividual(ns1:length-value)
data(ns1:length-value, iof:hasSimpleExpressionValue, 30^^xsd:decimal)
uml diagram

Same individuals

oIndividual(ns1:smith)
oIndividual(ns1:simpson)
sameAs(ns1:smith, ns1:simpson)
uml diagram

Different individuals

oIndividual(ns1:apple-as-fruit)
oIndividual(ns1:apple-as-company)
differentFrom(ns1:apple-as-fruit, ns1:apple-as-company)
uml diagram

All different individuals

oIndividual(ns1:apple-as-fruit)
oIndividual(ns1:apple-as-company)
oIndividual(ns1:apple-as-logo)
allDifferent('["ns1:apple-as-fruit", "ns1:apple-as-company", "ns1:apple-as-logo"]')
uml diagram

Subclass

oClass(bfo:Quality)
oClass(iof:Temperature)
subClass(iof:Temperature, bfo:Quality)
uml diagram

Equivalent classes

oClass(iof:Temperature)
oClass(qk:Temperature)
equivalent(iof:Temperature, qk:Temperature)
uml diagram

Disjoint classes

oClass(bfo:Continuant)
oClass(bfo:Occurrent)
disjoint(bfo:Continuant, bfo:Occurrent)
uml diagram

All disjoint classes

oClass(bfo:FiatPoint)
oClass(bfo:FiatLine)
oClass(bfo:FiatSurface)
allDisjoint('["bfo:FiatPoint", "bfo:FiatLine", "bfo:FiatSurface"]')
uml diagram

Intersection of classes

oClass(iof:PieceOfEquipment)
oClass(iof:Assembly)
oClass(iof:System)
intersection('["iof:PieceOfEquipment", "iof:Assembly", "iof:System"]')
uml diagram
oClass(iof:PieceOfEquipment)
oClass(iof:Assembly)
oClass(iof:System)
intersection(m1, '["iof:PieceOfEquipment", "iof:Assembly", "iof:System"]')
uml diagram

Equivalent to the Intersection of classes

oClass(iof:PieceOfEquipment)
oClass(iof:Assembly)
oClass(iof:System)
oClass(ns1:Machine)
equiIntersection(ns1:Machine, '["iof:PieceOfEquipment", "iof:Assembly", "iof:System"]')
uml diagram

subClass of the Intersection of classes

oClass(iof:PieceOfEquipment)
oClass(iof:Assembly)
oClass(iof:System)
oClass(ns1:Machine)
subIntersection(ns1:Machine, '["iof:PieceOfEquipment", "iof:Assembly", "iof:System"]')
uml diagram

Intersection of classes as subClass

oClass(iof:PieceOfEquipment)
oClass(iof:Assembly)
oClass(iof:System)
oClass(ns1:Machine)
superIntersection(ns1:Machine, '["iof:PieceOfEquipment", "iof:Assembly", "iof:System"]')
uml diagram

Union of classes

oClass(iof:PieceOfEquipment)
oClass(iof:Assembly)
oClass(iof:System)
union(u, '["iof:PieceOfEquipment", "iof:Assembly", "iof:System"]')
uml diagram
oClass(iof:PieceOfEquipment)
oClass(iof:Assembly)
oClass(iof:System)
union(m1, '["iof:PieceOfEquipment", "iof:Assembly", "iof:System"]')
uml diagram

Equivalent to the Union of classes

oClass(iof:PieceOfEquipment)
oClass(iof:Assembly)
oClass(iof:System)
oClass(ns1:Machine)
equiUnion(ns1:Machine, '["iof:PieceOfEquipment", "iof:Assembly", "iof:System"]')
uml diagram

Alternative: reference by variable

class(c1, iof:PieceOfEquipment)
class(c2, iof:Assembly)
class(c3, iof:System)
class(m1, ns1:Machine)
union(m2, '["c1", "c2", "c3"]')
equivalent(m1, m2)
uml diagram

subClass of the Union of classes

oClass(iof:PieceOfEquipment)
oClass(iof:Assembly)
oClass(iof:System)
oClass(ns1:Machine)
subUnion(ns1:Machine, '["iof:PieceOfEquipment", "iof:Assembly", "iof:System"]')
uml diagram

Union of classes as subClass

oClass(iof:PieceOfEquipment)
oClass(iof:Assembly)
oClass(iof:System)
oClass(ns1:Machine)
superUnion(ns1:Machine, '["iof:PieceOfEquipment", "iof:Assembly", "iof:System"]')
uml diagram

OneOf restriction on class

oClass(ns:ProductionManager)
oIndividual(ns1:John)
oIndividual(ns1:Mary)
oIndividual(ns1:Avery)
oneOf(ns:ProductionManager, '["ns1:John", "ns1:Mary", "ns1:Avery"]')
uml diagram

OneOf restriction on class

oClass(ns:ProductionManager)
oIndividual(ns1:John)
oIndividual(ns1:Mary)
oIndividual(ns1:Avery)
oneOf(ns:ProductionManager, '["ns1:John", "ns1:Mary", "ns1:Avery"]')
uml diagram

Value restriction by class (quantified class)

class(eo, ns:ElectricVehicle)
class(bat, ns:Battery)
only(pb, ns:poweredBy, bat) # for universal quantifier
-/-
some(pb, ns:poweredBy, bat) # for existential quantifier
equivalent(eo, pb, right)
uml diagram uml diagram

Equivalent to a class and a quantified Class

class(v, ns:Vehicle)
class(ev, ns:ElectricVehicle)
class(bat, ns:Battery)
andSome(pb, v, ns:poweredBy, bat) 
-/-
andOnly(pb, v, ns:poweredBy, bat)
equivalent(ev, pb)
uml diagram uml diagram

Equivalent to a class or an quantified Class

class(v, ns:Vehicle)
class(ev, ns:ElectricVehicle)
class(bat, ns:Battery)
orSome(pb, v, ns:poweredBy, bat)
-/-
orOnly(pb, v, ns:poweredBy, bat)
equivalent(ev, pb)
uml diagram uml diagram

Equivalent to a cardinally constrained Class

class(v, ns:Vehicle)
class(ev, ns:ElectricVehicle)
class(bat, ns:Battery)
someCard(pb, ns:poweredBy, bat, min/max/exactly, 2)
equivalent(ev, pb)
uml diagram uml diagram uml diagram

Shorter version

equivalent to a quantified Class

oClass(ns:ElectricVehicle)
oClass(ns:Battery)
xSome(ns:ElectricVehicle, ns:poweredBy, ns:Battery)
-/-
xOnly(ns:ElectricVehicle, ns:poweredBy, ns:Battery)
uml diagram uml diagram

equivalent to a class and a quantified Class

oClass(ns:ElectricVehicle)
oClass(ns:Battery)
oClass(ns:Vehicle)
subClass(ns:ElectricVehicle, ns:Vehicle)
xSome(ns:ElectricVehicle, ns:poweredBy, ns:Battery)
uml diagram

equivalent to a class and multiple class expressions as clauses

oClass(ns:ElectricVehicle)
oClass(ns:Battery)
oClass(ns:Vehicle)
subClass(ns:ElectricVehicle, ns:Vehicle)
xSome(ns:ElectricVehicle, ns:poweredBy, ns:Battery)
uml diagram