---
title: Schema.Relationship
framework: swiftdata
role: symbol
role_heading: Class
path: swiftdata/schema/relationship
---

# Schema.Relationship

An object that describes the configuration and behavior of a relationship between two model classes.

## Declaration

```swift
final class Relationship
```

## Topics

### Creating a relationship

- [init(_:deleteRule:minimumModelCount:maximumModelCount:originalName:inverse:hashModifier:)](swiftdata/schema/relationship/init(_:deleterule:minimummodelcount:maximummodelcount:originalname:inverse:hashmodifier:).md)

### Managing the configuration

- [keypath](swiftdata/schema/relationship/keypath.md)
- [destination](swiftdata/schema/relationship/destination.md)
- [inverseName](swiftdata/schema/relationship/inversename.md)
- [inverseKeyPath](swiftdata/schema/relationship/inversekeypath.md)
- [deleteRule](swiftdata/schema/relationship/deleterule-swift.property.md)
- [Schema.Relationship.DeleteRule](swiftdata/schema/relationship/deleterule-swift.enum.md)
- [isToOneRelationship](swiftdata/schema/relationship/istoonerelationship.md)

### Determining behavior

- [options](swiftdata/schema/relationship/options.md)

### Versioning

- [hashModifier](swiftdata/schema/relationship/hashmodifier.md)

### Structures

- [Schema.Relationship.Option](swiftdata/schema/relationship/option.md)

### Instance Properties

- [maximumModelCount](swiftdata/schema/relationship/maximummodelcount.md)
- [minimumModelCount](swiftdata/schema/relationship/minimummodelcount.md)

## Relationships

### Conforms To

- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [SchemaProperty](swiftdata/schemaproperty.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
