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

PropertyExplanationData 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))