Skip to main content

Relationship Class properties

Summary

The Describe function returns the following properties for relationship classes. The Geodatabase Table, Table, and Dataset property groups are also supported.

For a relationship class, the Describe dataType property returns a value of "RelationshipClass".

Properties

Property Explanation Data Type

backwardPathLabel

(Read only)

The backward path label for the relationship class.

String

cardinality

(Read only)

The cardinality for the relationship class.

  • OneToOne

  • OneToMany

  • ManyToMany

String

classKey

(Read only)

Class key used for the relationship class.

  • Undefined

  • ClassID

  • ClassCode

String

destinationClassKeys

(Read only)

A list of tuples, with the object key name, and key role (DestinationPrimary, DestinationForeign).

tuple

destinationClassNames

(Read only)

A list containing the names of the destination classes.

String

forwardPathLabel

(Read only)

The forward path label for the relationship class.

String

isAttachmentRelationship

(Read only)

Indicates whether the relationship class represents a table attachment.

Boolean

isAttributed

(Read only)

Indicates whether the relationships in this relationship class have attributes.

Boolean

isComposite

(Read only)

Indicates whether the relationship class represents a composite relationship in which the origin object class represents the composite object.

Boolean

isReflexive

(Read only)

Indicates whether the origin and destination sets intersect.

Boolean

keyType

(Read only)

Key type for the relationship class.

  • Single

  • Dual

String

notification

(Read only)

The notification direction for the relationship class.

  • None

  • Forward

  • Backward

  • Both

String

originClassNames

(Read only)

A list containing the names of the origin classes.

String

originClassKeys

(Read only)

A list of tuples, with the object key name, and key role (OriginPrimary, OriginForeign).

tuple

relationshipRules

(Read only)

A list of relationship rule objects that list the properties of the relationship rules that apply to this relationship class.

Object

splitPolicy

(Read only)

The split policy that is set for the relationship class.

  • DuplicateRelatedObjects

  • UseDefault

String

Code sample

Relationship class properties example

The following stand-alone script displays properties for a relationship class:

import arcpy

# Create a Describe object
desc = arcpy.Describe("C:/data/moad.gdb/West/bapCompAttRel")

# Print relationship class properties
print("Backward Path Label: {}".format(desc.backwardPathLabel))
print("Cardinality: {}".format(desc.cardinality))
print("Class key: {}".format(desc.classKey))
print("Destination Class Names: {}".format(desc.destinationClassNames))
print("Forward Path Label: {}".format(desc.forwardPathLabel))
print("Is Attributed: {}".format(desc.isAttributed))
print("Is Composite: {}".format(desc.isComposite))
print("Is Reflexive: {}".format(desc.isReflexive))
print("Key Type: {}".format(desc.keyType))
print("Notification Direction: {}".format(desc.notification))
print("Origin Class Names: {}".format(desc.originClassNames))