func AsTransitiveProperty(e ld.Entity) TransitiveProperty {
	return TransitiveProperty{AsObjectProperty(e)}
}
Ducktypes the object into a(n) TransitiveProperty.
package owl
import (
	"github.com/meowpub/meow/ld"
	"github.com/meowpub/meow/ld/ns/rdf"
)
type AllDifferent struct{ rdf.Resource }
func NewAllDifferent(id string) AllDifferent {
	return AsAllDifferent(ld.NewObject(id, Class_AllDifferent.ID))
}
func AsAllDifferent(e ld.Entity) AllDifferent { return AllDifferent{rdf.AsResource(e)} }
func IsAllDifferent(e ld.Entity) bool { return ld.Is(e, Class_AllDifferent.ID) }
func (obj AllDifferent) DistinctMembers() interface{} { return GetDistinctMembers(obj) }
func (obj AllDifferent) SetDistinctMembers(v interface{}) { SetDistinctMembers(obj, v) }
type AllDisjointClasses struct{ rdf.Resource }
func NewAllDisjointClasses(id string) AllDisjointClasses {
	return AsAllDisjointClasses(ld.NewObject(id, Class_AllDisjointClasses.ID))
}
func AsAllDisjointClasses(e ld.Entity) AllDisjointClasses {
	return AllDisjointClasses{rdf.AsResource(e)}
}
func IsAllDisjointClasses(e ld.Entity) bool { return ld.Is(e, Class_AllDisjointClasses.ID) }
type AllDisjointProperties struct{ rdf.Resource }
func NewAllDisjointProperties(id string) AllDisjointProperties {
	return AsAllDisjointProperties(ld.NewObject(id, Class_AllDisjointProperties.ID))
}
func AsAllDisjointProperties(e ld.Entity) AllDisjointProperties {
	return AllDisjointProperties{rdf.AsResource(e)}
}
func IsAllDisjointProperties(e ld.Entity) bool { return ld.Is(e, Class_AllDisjointProperties.ID) }
type Annotation struct{ rdf.Resource }
func NewAnnotation(id string) Annotation { return AsAnnotation(ld.NewObject(id, Class_Annotation.ID)) }
func AsAnnotation(e ld.Entity) Annotation { return Annotation{rdf.AsResource(e)} }
func IsAnnotation(e ld.Entity) bool { return ld.Is(e, Class_Annotation.ID) }
type AnnotationProperty struct{ rdf.Property }
func NewAnnotationProperty(id string) AnnotationProperty {
	return AsAnnotationProperty(ld.NewObject(id, Class_AnnotationProperty.ID))
}
func AsAnnotationProperty(e ld.Entity) AnnotationProperty {
	return AnnotationProperty{rdf.AsProperty(e)}
}
func IsAnnotationProperty(e ld.Entity) bool { return ld.Is(e, Class_AnnotationProperty.ID) }
type AsymmetricProperty struct{ ObjectProperty }
func NewAsymmetricProperty(id string) AsymmetricProperty {
	return AsAsymmetricProperty(ld.NewObject(id, Class_AsymmetricProperty.ID))
}
func AsAsymmetricProperty(e ld.Entity) AsymmetricProperty {
	return AsymmetricProperty{AsObjectProperty(e)}
}
func IsAsymmetricProperty(e ld.Entity) bool { return ld.Is(e, Class_AsymmetricProperty.ID) }
type Axiom struct{ rdf.Resource }
func NewAxiom(id string) Axiom { return AsAxiom(ld.NewObject(id, Class_Axiom.ID)) }
func AsAxiom(e ld.Entity) Axiom { return Axiom{rdf.AsResource(e)} }
func IsAxiom(e ld.Entity) bool { return ld.Is(e, Class_Axiom.ID) }
type Class struct{ rdf.Class }
func NewClass(id string) Class { return AsClass(ld.NewObject(id, Class_Class.ID)) }
func AsClass(e ld.Entity) Class { return Class{rdf.AsClass(e)} }
func IsClass(e ld.Entity) bool { return ld.Is(e, Class_Class.ID) }
func (obj Class) ComplementOf() interface{} { return GetComplementOf(obj) }
func (obj Class) SetComplementOf(v interface{}) { SetComplementOf(obj, v) }
func (obj Class) DisjointUnionOf() interface{} { return GetDisjointUnionOf(obj) }
func (obj Class) SetDisjointUnionOf(v interface{}) { SetDisjointUnionOf(obj, v) }
func (obj Class) DisjointWith() interface{} { return GetDisjointWith(obj) }
func (obj Class) SetDisjointWith(v interface{}) { SetDisjointWith(obj, v) }
func (obj Class) HasKey() interface{} { return GetHasKey(obj) }
func (obj Class) SetHasKey(v interface{}) { SetHasKey(obj, v) }
type DataRange struct{ rdf.Datatype }
func NewDataRange(id string) DataRange { return AsDataRange(ld.NewObject(id, Class_DataRange.ID)) }
func AsDataRange(e ld.Entity) DataRange { return DataRange{rdf.AsDatatype(e)} }
func IsDataRange(e ld.Entity) bool { return ld.Is(e, Class_DataRange.ID) }
type DatatypeProperty struct{ rdf.Property }
func NewDatatypeProperty(id string) DatatypeProperty {
	return AsDatatypeProperty(ld.NewObject(id, Class_DatatypeProperty.ID))
}
func AsDatatypeProperty(e ld.Entity) DatatypeProperty { return DatatypeProperty{rdf.AsProperty(e)} }
func IsDatatypeProperty(e ld.Entity) bool { return ld.Is(e, Class_DatatypeProperty.ID) }
type DeprecatedClass struct{ rdf.Class }
func NewDeprecatedClass(id string) DeprecatedClass {
	return AsDeprecatedClass(ld.NewObject(id, Class_DeprecatedClass.ID))
}
func AsDeprecatedClass(e ld.Entity) DeprecatedClass { return DeprecatedClass{rdf.AsClass(e)} }
func IsDeprecatedClass(e ld.Entity) bool { return ld.Is(e, Class_DeprecatedClass.ID) }
type DeprecatedProperty struct{ rdf.Property }
func NewDeprecatedProperty(id string) DeprecatedProperty {
	return AsDeprecatedProperty(ld.NewObject(id, Class_DeprecatedProperty.ID))
}
func AsDeprecatedProperty(e ld.Entity) DeprecatedProperty {
	return DeprecatedProperty{rdf.AsProperty(e)}
}
func IsDeprecatedProperty(e ld.Entity) bool { return ld.Is(e, Class_DeprecatedProperty.ID) }
type FunctionalProperty struct{ rdf.Property }
func NewFunctionalProperty(id string) FunctionalProperty {
	return AsFunctionalProperty(ld.NewObject(id, Class_FunctionalProperty.ID))
}
func AsFunctionalProperty(e ld.Entity) FunctionalProperty {
	return FunctionalProperty{rdf.AsProperty(e)}
}
func IsFunctionalProperty(e ld.Entity) bool { return ld.Is(e, Class_FunctionalProperty.ID) }
type InverseFunctionalProperty struct{ ObjectProperty }
func NewInverseFunctionalProperty(id string) InverseFunctionalProperty {
	return AsInverseFunctionalProperty(ld.NewObject(id, Class_InverseFunctionalProperty.ID))
}
func AsInverseFunctionalProperty(e ld.Entity) InverseFunctionalProperty {
	return InverseFunctionalProperty{AsObjectProperty(e)}
}
func IsInverseFunctionalProperty(e ld.Entity) bool {
	return ld.Is(e, Class_InverseFunctionalProperty.ID)
}
type IrreflexiveProperty struct{ ObjectProperty }
func NewIrreflexiveProperty(id string) IrreflexiveProperty {
	return AsIrreflexiveProperty(ld.NewObject(id, Class_IrreflexiveProperty.ID))
}
func AsIrreflexiveProperty(e ld.Entity) IrreflexiveProperty {
	return IrreflexiveProperty{AsObjectProperty(e)}
}
func IsIrreflexiveProperty(e ld.Entity) bool { return ld.Is(e, Class_IrreflexiveProperty.ID) }
type NamedIndividual struct{ Thing }
func NewNamedIndividual(id string) NamedIndividual {
	return AsNamedIndividual(ld.NewObject(id, Class_NamedIndividual.ID))
}
func AsNamedIndividual(e ld.Entity) NamedIndividual { return NamedIndividual{AsThing(e)} }
func IsNamedIndividual(e ld.Entity) bool { return ld.Is(e, Class_NamedIndividual.ID) }
type NegativePropertyAssertion struct{ rdf.Resource }
func NewNegativePropertyAssertion(id string) NegativePropertyAssertion {
	return AsNegativePropertyAssertion(ld.NewObject(id, Class_NegativePropertyAssertion.ID))
}
func AsNegativePropertyAssertion(e ld.Entity) NegativePropertyAssertion {
	return NegativePropertyAssertion{rdf.AsResource(e)}
}
func IsNegativePropertyAssertion(e ld.Entity) bool {
	return ld.Is(e, Class_NegativePropertyAssertion.ID)
}
func (obj NegativePropertyAssertion) AssertionProperty() interface{} { return GetAssertionProperty(obj) }
func (obj NegativePropertyAssertion) SetAssertionProperty(v interface{}) { SetAssertionProperty(obj, v) }
func (obj NegativePropertyAssertion) SourceIndividual() interface{} { return GetSourceIndividual(obj) }
func (obj NegativePropertyAssertion) SetSourceIndividual(v interface{}) { SetSourceIndividual(obj, v) }
func (obj NegativePropertyAssertion) TargetIndividual() interface{} { return GetTargetIndividual(obj) }
func (obj NegativePropertyAssertion) SetTargetIndividual(v interface{}) { SetTargetIndividual(obj, v) }
func (obj NegativePropertyAssertion) TargetValue() interface{} { return GetTargetValue(obj) }
func (obj NegativePropertyAssertion) SetTargetValue(v interface{}) { SetTargetValue(obj, v) }
type Nothing struct{ Thing }
func NewNothing(id string) Nothing { return AsNothing(ld.NewObject(id, Class_Nothing.ID)) }
func AsNothing(e ld.Entity) Nothing { return Nothing{AsThing(e)} }
func IsNothing(e ld.Entity) bool { return ld.Is(e, Class_Nothing.ID) }
type ObjectProperty struct{ rdf.Property }
func NewObjectProperty(id string) ObjectProperty {
	return AsObjectProperty(ld.NewObject(id, Class_ObjectProperty.ID))
}
func AsObjectProperty(e ld.Entity) ObjectProperty { return ObjectProperty{rdf.AsProperty(e)} }
func IsObjectProperty(e ld.Entity) bool { return ld.Is(e, Class_ObjectProperty.ID) }
func (obj ObjectProperty) InverseOf() interface{} { return GetInverseOf(obj) }
func (obj ObjectProperty) SetInverseOf(v interface{}) { SetInverseOf(obj, v) }
func (obj ObjectProperty) PropertyChainAxiom() interface{} { return GetPropertyChainAxiom(obj) }
func (obj ObjectProperty) SetPropertyChainAxiom(v interface{}) { SetPropertyChainAxiom(obj, v) }
type Ontology struct{ rdf.Resource }
func NewOntology(id string) Ontology { return AsOntology(ld.NewObject(id, Class_Ontology.ID)) }
func AsOntology(e ld.Entity) Ontology { return Ontology{rdf.AsResource(e)} }
func IsOntology(e ld.Entity) bool { return ld.Is(e, Class_Ontology.ID) }
func (obj Ontology) BackwardCompatibleWith() interface{} { return GetBackwardCompatibleWith(obj) }
func (obj Ontology) SetBackwardCompatibleWith(v interface{}) { SetBackwardCompatibleWith(obj, v) }
func (obj Ontology) Imports() interface{} { return GetImports(obj) }
func (obj Ontology) SetImports(v interface{}) { SetImports(obj, v) }
func (obj Ontology) IncompatibleWith() interface{} { return GetIncompatibleWith(obj) }
func (obj Ontology) SetIncompatibleWith(v interface{}) { SetIncompatibleWith(obj, v) }
func (obj Ontology) PriorVersion() interface{} { return GetPriorVersion(obj) }
func (obj Ontology) SetPriorVersion(v interface{}) { SetPriorVersion(obj, v) }
func (obj Ontology) VersionIRI() interface{} { return GetVersionIRI(obj) }
func (obj Ontology) SetVersionIRI(v interface{}) { SetVersionIRI(obj, v) }
type OntologyProperty struct{ rdf.Property }
func NewOntologyProperty(id string) OntologyProperty {
	return AsOntologyProperty(ld.NewObject(id, Class_OntologyProperty.ID))
}
func AsOntologyProperty(e ld.Entity) OntologyProperty { return OntologyProperty{rdf.AsProperty(e)} }
func IsOntologyProperty(e ld.Entity) bool { return ld.Is(e, Class_OntologyProperty.ID) }
type ReflexiveProperty struct{ ObjectProperty }
func NewReflexiveProperty(id string) ReflexiveProperty {
	return AsReflexiveProperty(ld.NewObject(id, Class_ReflexiveProperty.ID))
}
func AsReflexiveProperty(e ld.Entity) ReflexiveProperty { return ReflexiveProperty{AsObjectProperty(e)} }
func IsReflexiveProperty(e ld.Entity) bool { return ld.Is(e, Class_ReflexiveProperty.ID) }
type Restriction struct{ Class }
func NewRestriction(id string) Restriction {
	return AsRestriction(ld.NewObject(id, Class_Restriction.ID))
}
func AsRestriction(e ld.Entity) Restriction { return Restriction{AsClass(e)} }
func IsRestriction(e ld.Entity) bool { return ld.Is(e, Class_Restriction.ID) }
func (obj Restriction) AllValuesFrom() interface{} { return GetAllValuesFrom(obj) }
func (obj Restriction) SetAllValuesFrom(v interface{}) { SetAllValuesFrom(obj, v) }
func (obj Restriction) Cardinality() interface{} { return GetCardinality(obj) }
func (obj Restriction) SetCardinality(v interface{}) { SetCardinality(obj, v) }
func (obj Restriction) HasSelf() interface{} { return GetHasSelf(obj) }
func (obj Restriction) SetHasSelf(v interface{}) { SetHasSelf(obj, v) }
func (obj Restriction) HasValue() interface{} { return GetHasValue(obj) }
func (obj Restriction) SetHasValue(v interface{}) { SetHasValue(obj, v) }
func (obj Restriction) MaxCardinality() interface{} { return GetMaxCardinality(obj) }
func (obj Restriction) SetMaxCardinality(v interface{}) { SetMaxCardinality(obj, v) }
func (obj Restriction) MaxQualifiedCardinality() interface{} { return GetMaxQualifiedCardinality(obj) }
func (obj Restriction) SetMaxQualifiedCardinality(v interface{}) { SetMaxQualifiedCardinality(obj, v) }
func (obj Restriction) MinCardinality() interface{} { return GetMinCardinality(obj) }
func (obj Restriction) SetMinCardinality(v interface{}) { SetMinCardinality(obj, v) }
func (obj Restriction) MinQualifiedCardinality() interface{} { return GetMinQualifiedCardinality(obj) }
func (obj Restriction) SetMinQualifiedCardinality(v interface{}) { SetMinQualifiedCardinality(obj, v) }
func (obj Restriction) OnClass() interface{} { return GetOnClass(obj) }
func (obj Restriction) SetOnClass(v interface{}) { SetOnClass(obj, v) }
func (obj Restriction) OnDataRange() interface{} { return GetOnDataRange(obj) }
func (obj Restriction) SetOnDataRange(v interface{}) { SetOnDataRange(obj, v) }
func (obj Restriction) OnProperties() interface{} { return GetOnProperties(obj) }
func (obj Restriction) SetOnProperties(v interface{}) { SetOnProperties(obj, v) }
func (obj Restriction) OnProperty() interface{} { return GetOnProperty(obj) }
func (obj Restriction) SetOnProperty(v interface{}) { SetOnProperty(obj, v) }
func (obj Restriction) QualifiedCardinality() interface{} { return GetQualifiedCardinality(obj) }
func (obj Restriction) SetQualifiedCardinality(v interface{}) { SetQualifiedCardinality(obj, v) }
func (obj Restriction) SomeValuesFrom() interface{} { return GetSomeValuesFrom(obj) }
func (obj Restriction) SetSomeValuesFrom(v interface{}) { SetSomeValuesFrom(obj, v) }
type SymmetricProperty struct{ ObjectProperty }
func NewSymmetricProperty(id string) SymmetricProperty {
	return AsSymmetricProperty(ld.NewObject(id, Class_SymmetricProperty.ID))
}
func AsSymmetricProperty(e ld.Entity) SymmetricProperty { return SymmetricProperty{AsObjectProperty(e)} }
func IsSymmetricProperty(e ld.Entity) bool { return ld.Is(e, Class_SymmetricProperty.ID) }
type Thing struct{ o *ld.Object }
func NewThing(id string) Thing { return AsThing(ld.NewObject(id, Class_Thing.ID)) }
func AsThing(e ld.Entity) Thing { return Thing{o: e.Obj()} }
func IsThing(e ld.Entity) bool { return ld.Is(e, Class_Thing.ID) }
func (obj Thing) Obj() *ld.Object { return obj.o }
func (obj Thing) IsNull() bool { return obj.o == nil }
func (obj Thing) ID() string { return obj.o.ID() }
func (obj Thing) Value() string { return obj.o.Value() }
func (obj Thing) Type() []string { return obj.o.Type() }
func (obj Thing) Get(key string) interface{} { return obj.o.Get(key) }
func (obj Thing) Set(key string, v interface{}) { obj.o.Set(key, v) }
func (obj Thing) Apply(other ld.Entity, mergeArrays bool) error {
	return obj.o.Apply(other, mergeArrays)
}
func (obj Thing) BottomDataProperty() interface{} { return GetBottomDataProperty(obj) }
func (obj Thing) SetBottomDataProperty(v interface{}) { SetBottomDataProperty(obj, v) }
func (obj Thing) BottomObjectProperty() interface{} { return GetBottomObjectProperty(obj) }
func (obj Thing) SetBottomObjectProperty(v interface{}) { SetBottomObjectProperty(obj, v) }
func (obj Thing) DifferentFrom() interface{} { return GetDifferentFrom(obj) }
func (obj Thing) SetDifferentFrom(v interface{}) { SetDifferentFrom(obj, v) }
func (obj Thing) SameAs() interface{} { return GetSameAs(obj) }
func (obj Thing) SetSameAs(v interface{}) { SetSameAs(obj, v) }
func (obj Thing) TopDataProperty() interface{} { return GetTopDataProperty(obj) }
func (obj Thing) SetTopDataProperty(v interface{}) { SetTopDataProperty(obj, v) }
func (obj Thing) TopObjectProperty() interface{} { return GetTopObjectProperty(obj) }
func (obj Thing) SetTopObjectProperty(v interface{}) { SetTopObjectProperty(obj, v) }
type TransitiveProperty struct{ ObjectProperty }
func NewTransitiveProperty(id string) TransitiveProperty {
	return AsTransitiveProperty(ld.NewObject(id, Class_TransitiveProperty.ID))
}