Skip to content

Rename 'interfaces' to 'capabilities' in TypeQL reference#1060

Open
alexjpwalker wants to merge 1 commit into
typedb:3.x-developmentfrom
alexjpwalker:capabilities
Open

Rename 'interfaces' to 'capabilities' in TypeQL reference#1060
alexjpwalker wants to merge 1 commit into
typedb:3.x-developmentfrom
alexjpwalker:capabilities

Conversation

@alexjpwalker

@alexjpwalker alexjpwalker commented Jul 8, 2026

Copy link
Copy Markdown
Member

Goal

As part of an overall goal of making TypeQL reference more accessible by using simpler English, we would like to make a clean break from the terminology "interface" (borrowed from OOP), in favour of "capability": while still not being the simplest English word ever, it at least very clearly describes the thing it is talking about without requiring technical knowledge of OOP principles.

Implementation

  • Rename "interface" to "capability" across all TypeQL reference pages.

NOTE: We maintain the term "interface" in TypeDB Academy, which intentionally is more academic and founded strictly on the PERA model, while we would like our mainline docs to be more generally accessible. We add a disclaimer to the Academy noting this discrepancy. This also minimises the delta of this PR.

@netlify

netlify Bot commented Jul 8, 2026

Copy link
Copy Markdown

Deploy Preview for typedb-docs-dev ready!

Name Link
🔨 Latest commit b3daa8f
🔍 Latest deploy log https://app.netlify.com/projects/typedb-docs-dev/deploys/6a4e5074b7e8c80008974bbb
😎 Deploy Preview https://deploy-preview-1060--typedb-docs-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@alexjpwalker
alexjpwalker marked this pull request as ready for review July 8, 2026 13:36

[NOTE]
====
Throughout the Academy we use the term *interface*, borrowed from object-oriented programming, to describe how one type connects to another. If you spend time in the xref:{page-version}@typeql-reference::index.adoc[TypeQL reference], you'll see these same constructs called *capabilities*. The two terms refer to the same thing — we favour "interface" here because it makes the modeling concepts easier to reason about.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think here you could formally define 'interface' as the things that can be 'owned' or 'played' (eg. role and attribute types provide interfaces). Capabilities more generally encompass 'plays', 'relates', and 'owns' that are defined on a type, as is a more generally useful term while describing schemas

@flyingsilverfin flyingsilverfin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved w comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants