A property with a Transitive stereotype
Ontology(<http://example.com/ontology/Transitive>

Declaration(Class(:BiologicalMother))
Declaration(Class(:Mary))
Declaration(ObjectProperty(:hasBiologicalGrandmother))
Declaration(ObjectProperty(:hasBiologicalMother))

############################
#   Object Properties
############################

# Object Property: :hasBiologicalGrandmother (has biological grandmother)

AnnotationAssertion(rdfs:label :hasBiologicalGrandmother "has biological grandmother"^^xsd:string)
TransitiveObjectProperty(:hasBiologicalGrandmother)
ObjectPropertyDomain(:hasBiologicalGrandmother :Mary)
ObjectPropertyRange(:hasBiologicalGrandmother :BiologicalMother)

# Object Property: :hasBiologicalMother (has biological mother)

AnnotationAssertion(rdfs:label :hasBiologicalMother "has biological mother"^^xsd:string)
FunctionalObjectProperty(:hasBiologicalMother)
ObjectPropertyDomain(:hasBiologicalMother ObjectUnionOf(:BiologicalMother :Mary))
ObjectPropertyRange(:hasBiologicalMother :BiologicalMother)



############################
#   Classes
############################

# Class: :BiologicalMother (Biological Mother)

AnnotationAssertion(rdfs:label :BiologicalMother "Biological Mother"^^xsd:string)
SubClassOf(:BiologicalMother ObjectExactCardinality(1 :hasBiologicalMother))

# Class: :Mary (:Mary)

SubClassOf(:Mary ObjectExactCardinality(1 :hasBiologicalGrandmother))
SubClassOf(:Mary ObjectExactCardinality(1 :hasBiologicalMother))


)