@prefix ast: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/core/> .
@prefix ast-x: <https://repolex.ai/ontology/repolex/ast-extension/> .
@prefix c: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/c/> .
@prefix cpp: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/cpp/> .
@prefix csharp: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/csharp/> .
@prefix dart: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/dart/> .
@prefix elixir: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/elixir/> .
@prefix gh: <https://repolex.ai/ontology/extracts/github/rest-api/v2026-03-10/> .
@prefix gh-x: <https://repolex.ai/ontology/repolex/gh-extension/> .
@prefix git: <https://repolex.ai/ontology/extracts/gitpython-developers/GitPython/v3.1.46/core/> .
@prefix go: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/go/> .
@prefix java: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/java/> .
@prefix javascript: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/javascript/> .
@prefix kotlin: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/kotlin/> .
@prefix lsp: <https://repolex.ai/ontology/extracts/microsoft/multilspy/v0.0.15/core/> .
@prefix lsp-x: <https://repolex.ai/ontology/repolex/lsp-extension/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix python: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/python/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix repolex: <https://repolex.ai/ontology/repolex/> .
@prefix ruby: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/ruby/> .
@prefix rust: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/rust/> .
@prefix rxm: <https://repolex.ai/ontology/repolex/rxm/> .
@prefix scala: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/scala/> .
@prefix security: <https://repolex.ai/ontology/repolex/security/> .
@prefix sem: <https://repolex.ai/ontology/repolex/semantic-categories/> .
@prefix swift: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/swift/> .
@prefix typescript: <https://repolex.ai/ontology/extracts/tree-sitter/tree-sitter/v0.25/lang/typescript/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

gh: a owl:Ontology ;
    rdfs:label "GitHub REST API Ontology" ;
    rdfs:comment "Ontology for GitHub REST API entities (issues, pull requests, reviews, etc.). Auto-extracted from GitHub's official OpenAPI spec (api version 2026-03-10)." ;
    owl:versionInfo "v2026-03-10" .

<https://repolex.ai/ontology/extracts/github/rest-api/v2026-03-10/+1> a owl:DatatypeProperty ;
    rdfs:label "+1" ;
    rdfs:domain gh:ReactionRollup ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "+1" ;
    gh:required true .

<https://repolex.ai/ontology/extracts/github/rest-api/v2026-03-10/-1> a owl:DatatypeProperty ;
    rdfs:label "-1" ;
    rdfs:domain gh:ReactionRollup ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "-1" ;
    gh:required true .

gh:AuthorAssociation_COLLABORATOR a gh:AuthorAssociation ;
    rdfs:label "COLLABORATOR" .

gh:AuthorAssociation_CONTRIBUTOR a gh:AuthorAssociation ;
    rdfs:label "CONTRIBUTOR" .

gh:AuthorAssociation_FIRST_TIMER a gh:AuthorAssociation ;
    rdfs:label "FIRST_TIMER" .

gh:AuthorAssociation_FIRST_TIME_CONTRIBUTOR a gh:AuthorAssociation ;
    rdfs:label "FIRST_TIME_CONTRIBUTOR" .

gh:AuthorAssociation_MANNEQUIN a gh:AuthorAssociation ;
    rdfs:label "MANNEQUIN" .

gh:AuthorAssociation_MEMBER a gh:AuthorAssociation ;
    rdfs:label "MEMBER" .

gh:AuthorAssociation_NONE a gh:AuthorAssociation ;
    rdfs:label "NONE" .

gh:AuthorAssociation_OWNER a gh:AuthorAssociation ;
    rdfs:label "OWNER" .

gh:SecurityAdvisoryEcosystem_actions a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "actions" .

gh:SecurityAdvisoryEcosystem_composer a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "composer" .

gh:SecurityAdvisoryEcosystem_erlang a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "erlang" .

gh:SecurityAdvisoryEcosystem_go a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "go" .

gh:SecurityAdvisoryEcosystem_maven a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "maven" .

gh:SecurityAdvisoryEcosystem_npm a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "npm" .

gh:SecurityAdvisoryEcosystem_nuget a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "nuget" .

gh:SecurityAdvisoryEcosystem_other a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "other" .

gh:SecurityAdvisoryEcosystem_pip a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "pip" .

gh:SecurityAdvisoryEcosystem_pub a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "pub" .

gh:SecurityAdvisoryEcosystem_rubygems a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "rubygems" .

gh:SecurityAdvisoryEcosystem_rust a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "rust" .

gh:SecurityAdvisoryEcosystem_swift a gh:SecurityAdvisoryEcosystem ;
    rdfs:label "swift" .

gh:activeLockReason a owl:DatatypeProperty ;
    rdfs:label "activeLockReason" ;
    rdfs:domain gh:Discussion,
        gh:Issue,
        gh:PullRequest ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "active_lock_reason" ;
    gh:required true .

gh:additions a owl:DatatypeProperty ;
    rdfs:label "additions" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "additions" ;
    gh:required true .

gh:advancedSecurityEnabledForNewRepositories a owl:DatatypeProperty ;
    rdfs:label "advancedSecurityEnabledForNewRepositories" ;
    rdfs:comment """**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.

Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.

This field is only visible to organization owners or members of a team with the security manager role.""" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "advanced_security_enabled_for_new_repositories" .

gh:allowAutoMerge a owl:DatatypeProperty ;
    rdfs:label "allowAutoMerge" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "allow_auto_merge" .

gh:allowForking a owl:DatatypeProperty ;
    rdfs:label "allowForking" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "allow_forking" .

gh:allowMergeCommit a owl:DatatypeProperty ;
    rdfs:label "allowMergeCommit" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "allow_merge_commit" .

gh:allowRebaseMerge a owl:DatatypeProperty ;
    rdfs:label "allowRebaseMerge" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "allow_rebase_merge" .

gh:allowSquashMerge a owl:DatatypeProperty ;
    rdfs:label "allowSquashMerge" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "allow_squash_merge" .

gh:allowUpdateBranch a owl:DatatypeProperty ;
    rdfs:label "allowUpdateBranch" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "allow_update_branch" .

gh:anonymousAccessEnabled a owl:DatatypeProperty ;
    rdfs:label "anonymousAccessEnabled" ;
    rdfs:comment "Whether anonymous git access is allowed." ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "anonymous_access_enabled" .

gh:answerChosenAt a owl:DatatypeProperty ;
    rdfs:label "answerChosenAt" ;
    rdfs:domain gh:Discussion ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "answer_chosen_at" ;
    gh:required true .

gh:answerHtmlUrl a owl:DatatypeProperty ;
    rdfs:label "answerHtmlUrl" ;
    rdfs:domain gh:Discussion ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "answer_html_url" ;
    gh:required true .

gh:archived a owl:DatatypeProperty ;
    rdfs:label "archived" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "archived" ;
    gh:required true .

gh:archivedAt a owl:DatatypeProperty ;
    rdfs:label "archivedAt" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "archived_at" ;
    gh:required true .

gh:assets a owl:ObjectProperty ;
    rdfs:label "assets" ;
    rdfs:domain gh:Release ;
    rdfs:range gh:ReleaseAsset ;
    gh:openApiPropertyName "assets" .

gh:assetsUrl a owl:DatatypeProperty ;
    rdfs:label "assetsUrl" ;
    rdfs:domain gh:Release ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "assets_url" ;
    gh:required true .

gh:assignedTo a owl:ObjectProperty ;
    rdfs:label "assignedTo" ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "assigned_to" .

gh:assignees a owl:ObjectProperty ;
    rdfs:label "assignees" ;
    rdfs:comment "The users assigned to this alert." ;
    rdfs:domain gh:CodeScanningAlert,
        gh:DependabotAlert,
        gh:DependabotAlertWithRepository,
        gh:Issue,
        gh:PullRequest ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "assignees" .

gh:author a owl:ObjectProperty ;
    rdfs:label "author" ;
    rdfs:comment "The author of the advisory." ;
    rdfs:domain gh:Release,
        gh:RepositoryAdvisory ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "author" .

gh:authorAssociation a owl:DatatypeProperty ;
    rdfs:label "authorAssociation" ;
    rdfs:comment "How the author is associated with the repository." ;
    rdfs:domain gh:Discussion ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "author_association" .

gh:billingEmail a owl:DatatypeProperty ;
    rdfs:label "billingEmail" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "billing_email" .

gh:blog a owl:DatatypeProperty ;
    rdfs:label "blog" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "blog" .

gh:body a owl:DatatypeProperty ;
    rdfs:label "body" ;
    rdfs:comment "Contents of the issue",
        "Contents of the issue comment",
        "The text of the comment.",
        "The text of the review." ;
    rdfs:domain gh:Discussion,
        gh:Issue,
        gh:IssueComment,
        gh:PullRequest,
        gh:PullRequestReview,
        gh:PullRequestReviewComment,
        gh:Release ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "body" ;
    gh:required true .

gh:bodyHtml a owl:DatatypeProperty ;
    rdfs:label "bodyHtml" ;
    rdfs:domain gh:Issue,
        gh:IssueComment,
        gh:PullRequestReview,
        gh:PullRequestReviewComment,
        gh:Release ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "body_html" .

gh:bodyText a owl:DatatypeProperty ;
    rdfs:label "bodyText" ;
    rdfs:domain gh:Issue,
        gh:IssueComment,
        gh:PullRequestReview,
        gh:PullRequestReviewComment,
        gh:Release ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "body_text" .

gh:browserDownloadUrl a owl:DatatypeProperty ;
    rdfs:label "browserDownloadUrl" ;
    rdfs:domain gh:ReleaseAsset ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "browser_download_url" ;
    gh:required true .

gh:changedFiles a owl:DatatypeProperty ;
    rdfs:label "changedFiles" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "changed_files" ;
    gh:required true .

gh:cloneUrl a owl:DatatypeProperty ;
    rdfs:label "cloneUrl" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "clone_url" ;
    gh:required true .

gh:closedAt a owl:DatatypeProperty ;
    rdfs:label "closedAt" ;
    rdfs:comment "The date and time of when the advisory was closed, in ISO 8601 format." ;
    rdfs:domain gh:Issue,
        gh:Milestone,
        gh:PullRequest,
        gh:RepositoryAdvisory ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "closed_at" ;
    gh:required true .

gh:closedBy a owl:ObjectProperty ;
    rdfs:label "closedBy" ;
    rdfs:domain gh:Issue ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "closed_by" .

gh:closedIssues a owl:DatatypeProperty ;
    rdfs:label "closedIssues" ;
    rdfs:domain gh:Milestone ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "closed_issues" ;
    gh:required true .

gh:collaboratingTeams a owl:ObjectProperty ;
    rdfs:label "collaboratingTeams" ;
    rdfs:comment "A list of teams that collaborate on the advisory." ;
    rdfs:domain gh:RepositoryAdvisory ;
    rdfs:range gh:Team ;
    gh:openApiPropertyName "collaborating_teams" .

gh:collaboratingUsers a owl:ObjectProperty ;
    rdfs:label "collaboratingUsers" ;
    rdfs:comment "A list of users that collaborate on the advisory." ;
    rdfs:domain gh:RepositoryAdvisory ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "collaborating_users" .

gh:collaborators a owl:DatatypeProperty ;
    rdfs:label "collaborators" ;
    rdfs:comment """The number of collaborators on private repositories.

This field may be null if the number of private repositories is over 50,000.""" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "collaborators" .

gh:color a owl:DatatypeProperty ;
    rdfs:label "color" ;
    rdfs:comment "6-character hex code, without the leading #, identifying the color" ;
    rdfs:domain gh:Label ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "color" ;
    gh:required true .

gh:comments a owl:DatatypeProperty ;
    rdfs:label "comments" ;
    rdfs:domain gh:Discussion,
        gh:Issue,
        gh:PullRequest ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "comments" ;
    gh:required true .

gh:commitId a owl:DatatypeProperty ;
    rdfs:label "commitId" ;
    rdfs:comment "A commit SHA for the review. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`.",
        "The SHA of the commit to which the comment applies." ;
    rdfs:domain gh:PullRequestReview,
        gh:PullRequestReviewComment ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "commit_id" ;
    gh:required true .

gh:commits a owl:DatatypeProperty ;
    rdfs:label "commits" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "commits" ;
    gh:required true .

gh:company a owl:DatatypeProperty ;
    rdfs:label "company" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "company" .

gh:confused a owl:DatatypeProperty ;
    rdfs:label "confused" ;
    rdfs:domain gh:ReactionRollup ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "confused" ;
    gh:required true .

gh:contentType a owl:DatatypeProperty ;
    rdfs:label "contentType" ;
    rdfs:domain gh:ReleaseAsset ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "content_type" ;
    gh:required true .

gh:createdAt a owl:DatatypeProperty ;
    rdfs:label "createdAt" ;
    rdfs:comment "The date and time of when the advisory was created, in ISO 8601 format." ;
    rdfs:domain gh:Discussion,
        gh:Issue,
        gh:IssueComment,
        gh:Milestone,
        gh:Organization,
        gh:PullRequest,
        gh:PullRequestReviewComment,
        gh:Release,
        gh:ReleaseAsset,
        gh:Repository,
        gh:RepositoryAdvisory,
        gh:TeamFull ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "created_at" ;
    gh:required true .

gh:creator a owl:ObjectProperty ;
    rdfs:label "creator" ;
    rdfs:domain gh:Milestone ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "creator" .

gh:credits a owl:DatatypeProperty ;
    rdfs:label "credits" ;
    rdfs:comment "The users who contributed to the advisory." ;
    rdfs:domain gh:GlobalAdvisory,
        gh:RepositoryAdvisory ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "credits" .

gh:cveId a owl:DatatypeProperty ;
    rdfs:label "cveId" ;
    rdfs:comment "The Common Vulnerabilities and Exposures (CVE) ID." ;
    rdfs:domain gh:GlobalAdvisory,
        gh:RepositoryAdvisory ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "cve_id" ;
    gh:required true .

gh:cweIds a owl:DatatypeProperty ;
    rdfs:label "cweIds" ;
    rdfs:comment "A list of only the CWE IDs." ;
    rdfs:domain gh:RepositoryAdvisory ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "cwe_ids" .

gh:cwes a owl:DatatypeProperty ;
    rdfs:label "cwes" ;
    rdfs:domain gh:GlobalAdvisory,
        gh:RepositoryAdvisory ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "cwes" .

gh:default a owl:DatatypeProperty ;
    rdfs:label "default" ;
    rdfs:comment "Whether this label comes by default in a new repository." ;
    rdfs:domain gh:Label ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "default" ;
    gh:required true .

gh:defaultBranch a owl:DatatypeProperty ;
    rdfs:label "defaultBranch" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "default_branch" ;
    gh:required true .

gh:defaultRepositoryBranch a owl:DatatypeProperty ;
    rdfs:label "defaultRepositoryBranch" ;
    rdfs:comment "The default branch for repositories created in this organization." ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "default_repository_branch" .

gh:defaultRepositoryPermission a owl:DatatypeProperty ;
    rdfs:label "defaultRepositoryPermission" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "default_repository_permission" .

gh:deleteBranchOnMerge a owl:DatatypeProperty ;
    rdfs:label "deleteBranchOnMerge" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "delete_branch_on_merge" .

gh:deletions a owl:DatatypeProperty ;
    rdfs:label "deletions" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "deletions" ;
    gh:required true .

gh:dependabotAlertsEnabledForNewRepositories a owl:DatatypeProperty ;
    rdfs:label "dependabotAlertsEnabledForNewRepositories" ;
    rdfs:comment """**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.

Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization.

This field is only visible to organization owners or members of a team with the security manager role.""" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "dependabot_alerts_enabled_for_new_repositories" .

gh:dependabotSecurityUpdatesEnabledForNewRepositories a owl:DatatypeProperty ;
    rdfs:label "dependabotSecurityUpdatesEnabledForNewRepositories" ;
    rdfs:comment """**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.

Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization.

This field is only visible to organization owners or members of a team with the security manager role.""" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "dependabot_security_updates_enabled_for_new_repositories" .

gh:dependencyGraphEnabledForNewRepositories a owl:DatatypeProperty ;
    rdfs:label "dependencyGraphEnabledForNewRepositories" ;
    rdfs:comment """**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.

Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization.

This field is only visible to organization owners or members of a team with the security manager role.""" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "dependency_graph_enabled_for_new_repositories" .

gh:deployKeysEnabledForRepositories a owl:DatatypeProperty ;
    rdfs:label "deployKeysEnabledForRepositories" ;
    rdfs:comment "Controls whether or not deploy keys may be added and used for repositories in the organization." ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "deploy_keys_enabled_for_repositories" .

gh:description a owl:DatatypeProperty ;
    rdfs:label "description" ;
    rdfs:comment "A detailed description of what the advisory entails.",
        "Optional description of the label, such as its purpose." ;
    rdfs:domain gh:GlobalAdvisory,
        gh:Label,
        gh:Milestone,
        gh:Organization,
        gh:Repository,
        gh:RepositoryAdvisory,
        gh:Team,
        gh:TeamFull ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "description" ;
    gh:required true .

gh:diffHunk a owl:DatatypeProperty ;
    rdfs:label "diffHunk" ;
    rdfs:comment "The diff of the line that the comment refers to." ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "diff_hunk" ;
    gh:required true .

gh:diffUrl a owl:DatatypeProperty ;
    rdfs:label "diffUrl" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "diff_url" ;
    gh:required true .

gh:digest a owl:DatatypeProperty ;
    rdfs:label "digest" ;
    rdfs:domain gh:ReleaseAsset ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "digest" ;
    gh:required true .

gh:directMembership a owl:DatatypeProperty ;
    rdfs:label "directMembership" ;
    rdfs:comment "Whether the user has direct membership in the organization." ;
    rdfs:domain gh:OrgMembership ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "direct_membership" .

gh:disabled a owl:DatatypeProperty ;
    rdfs:label "disabled" ;
    rdfs:comment "Returns whether or not this repository disabled." ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "disabled" ;
    gh:required true .

gh:discussionUrl a owl:DatatypeProperty ;
    rdfs:label "discussionUrl" ;
    rdfs:comment "The URL of the release discussion." ;
    rdfs:domain gh:Release ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "discussion_url" .

gh:diskUsage a owl:DatatypeProperty ;
    rdfs:label "diskUsage" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "disk_usage" .

gh:dismissalApprovedBy a owl:ObjectProperty ;
    rdfs:label "dismissalApprovedBy" ;
    rdfs:domain gh:CodeScanningAlert ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "dismissal_approved_by" .

gh:dismissedBy a owl:ObjectProperty ;
    rdfs:label "dismissedBy" ;
    rdfs:domain gh:CodeScanningAlert,
        gh:DependabotAlert,
        gh:DependabotAlertWithRepository ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "dismissed_by" .

gh:dismissedComment a owl:DatatypeProperty ;
    rdfs:label "dismissedComment" ;
    rdfs:comment "An optional comment associated with the alert's dismissal." ;
    rdfs:domain gh:DependabotAlert,
        gh:DependabotAlertWithRepository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "dismissed_comment" ;
    gh:required true .

gh:dismissedReason a owl:DatatypeProperty ;
    rdfs:label "dismissedReason" ;
    rdfs:comment "The reason that the alert was dismissed." ;
    rdfs:domain gh:DependabotAlert,
        gh:DependabotAlertWithRepository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "dismissed_reason" ;
    gh:required true .

gh:displayCommenterFullNameSettingEnabled a owl:DatatypeProperty ;
    rdfs:label "displayCommenterFullNameSettingEnabled" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "display_commenter_full_name_setting_enabled" .

gh:downloadCount a owl:DatatypeProperty ;
    rdfs:label "downloadCount" ;
    rdfs:domain gh:ReleaseAsset ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "download_count" ;
    gh:required true .

gh:draft a owl:DatatypeProperty ;
    rdfs:label "draft" ;
    rdfs:comment "Indicates whether or not the pull request is a draft.",
        "true to create a draft (unpublished) release, false to create a published one." ;
    rdfs:domain gh:Issue,
        gh:PullRequest,
        gh:Release ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "draft" ;
    gh:required true .

gh:dueOn a owl:DatatypeProperty ;
    rdfs:label "dueOn" ;
    rdfs:domain gh:Milestone ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "due_on" ;
    gh:required true .

gh:email a owl:DatatypeProperty ;
    rdfs:label "email" ;
    rdfs:domain gh:Organization,
        gh:User ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "email" .

gh:enterpriseId a owl:DatatypeProperty ;
    rdfs:label "enterpriseId" ;
    rdfs:comment "Unique identifier of the enterprise to which this team belongs" ;
    rdfs:domain gh:Team,
        gh:TeamFull ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "enterprise_id" .

gh:enterpriseTeamsProvidingIndirectMembership a owl:DatatypeProperty ;
    rdfs:label "enterpriseTeamsProvidingIndirectMembership" ;
    rdfs:comment """The slugs of the enterprise teams providing the user with indirect membership in the organization.
A limit of 100 enterprise team slugs is returned.""" ;
    rdfs:domain gh:OrgMembership ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "enterprise_teams_providing_indirect_membership" .

gh:eyes a owl:DatatypeProperty ;
    rdfs:label "eyes" ;
    rdfs:domain gh:ReactionRollup ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "eyes" ;
    gh:required true .

gh:firstPatchedVersion a owl:DatatypeProperty ;
    rdfs:label "firstPatchedVersion" ;
    rdfs:comment "The package version that resolves the vulnerability." ;
    rdfs:domain gh:Vulnerability ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "first_patched_version" ;
    gh:required true .

gh:followers a owl:DatatypeProperty ;
    rdfs:label "followers" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "followers" ;
    gh:required true .

gh:following a owl:DatatypeProperty ;
    rdfs:label "following" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "following" ;
    gh:required true .

gh:fork a owl:DatatypeProperty ;
    rdfs:label "fork" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "fork" ;
    gh:required true .

gh:forks a owl:DatatypeProperty ;
    rdfs:label "forks" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "forks" ;
    gh:required true .

gh:forksCount a owl:DatatypeProperty ;
    rdfs:label "forksCount" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "forks_count" ;
    gh:required true .

gh:fullName a owl:DatatypeProperty ;
    rdfs:label "fullName" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "full_name" ;
    gh:required true .

gh:ghsaId a owl:DatatypeProperty ;
    rdfs:label "ghsaId" ;
    rdfs:comment "The GitHub Security Advisory ID." ;
    rdfs:domain gh:GlobalAdvisory,
        gh:RepositoryAdvisory ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "ghsa_id" ;
    gh:required true .

gh:githubReviewedAt a owl:DatatypeProperty ;
    rdfs:label "githubReviewedAt" ;
    rdfs:comment "The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format." ;
    rdfs:domain gh:GlobalAdvisory ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "github_reviewed_at" ;
    gh:required true .

gh:gravatarId a owl:DatatypeProperty ;
    rdfs:label "gravatarId" ;
    rdfs:domain gh:User ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "gravatar_id" ;
    gh:required true .

gh:hasCommitComments a owl:DatatypeProperty ;
    rdfs:label "hasCommitComments" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "has_commit_comments" .

gh:hasDiscussions a owl:DatatypeProperty ;
    rdfs:label "hasDiscussions" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "has_discussions" ;
    gh:required true .

gh:hasIssues a owl:DatatypeProperty ;
    rdfs:label "hasIssues" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "has_issues" ;
    gh:required true .

gh:hasMoreLocations a owl:DatatypeProperty ;
    rdfs:label "hasMoreLocations" ;
    rdfs:comment "A boolean value representing whether or not the token in the alert was detected in more than one location." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "has_more_locations" .

gh:hasOrganizationProjects a owl:DatatypeProperty ;
    rdfs:label "hasOrganizationProjects" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "has_organization_projects" ;
    gh:required true .

gh:hasPages a owl:DatatypeProperty ;
    rdfs:label "hasPages" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "has_pages" ;
    gh:required true .

gh:hasProjects a owl:DatatypeProperty ;
    rdfs:label "hasProjects" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "has_projects" ;
    gh:required true .

gh:hasPullRequests a owl:DatatypeProperty ;
    rdfs:label "hasPullRequests" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "has_pull_requests" .

gh:hasRepositoryProjects a owl:DatatypeProperty ;
    rdfs:label "hasRepositoryProjects" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "has_repository_projects" ;
    gh:required true .

gh:hasWiki a owl:DatatypeProperty ;
    rdfs:label "hasWiki" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "has_wiki" ;
    gh:required true .

gh:heart a owl:DatatypeProperty ;
    rdfs:label "heart" ;
    rdfs:domain gh:ReactionRollup ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "heart" ;
    gh:required true .

gh:homepage a owl:DatatypeProperty ;
    rdfs:label "homepage" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "homepage" ;
    gh:required true .

gh:hooray a owl:DatatypeProperty ;
    rdfs:label "hooray" ;
    rdfs:domain gh:ReactionRollup ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "hooray" ;
    gh:required true .

gh:htmlUrl a owl:DatatypeProperty ;
    rdfs:label "htmlUrl" ;
    rdfs:comment "HTML URL for the pull request review comment.",
        "The URL for the advisory." ;
    rdfs:domain gh:Discussion,
        gh:GlobalAdvisory,
        gh:Issue,
        gh:IssueComment,
        gh:License,
        gh:Milestone,
        gh:Organization,
        gh:PullRequest,
        gh:PullRequestReview,
        gh:PullRequestReviewComment,
        gh:Release,
        gh:Repository,
        gh:RepositoryAdvisory,
        gh:Team,
        gh:TeamFull,
        gh:User ;
    rdfs:range xsd:anyURI,
        xsd:string ;
    gh:openApiPropertyName "html_url" ;
    gh:required true .

gh:id a owl:DatatypeProperty ;
    rdfs:label "id" ;
    rdfs:comment "The ID of the pull request review comment.",
        "Unique identifier for the label.",
        "Unique identifier of the issue comment",
        "Unique identifier of the review",
        "Unique identifier of the team" ;
    rdfs:domain gh:Discussion,
        gh:Issue,
        gh:IssueComment,
        gh:Label,
        gh:Milestone,
        gh:Organization,
        gh:PullRequest,
        gh:PullRequestReview,
        gh:PullRequestReviewComment,
        gh:Release,
        gh:ReleaseAsset,
        gh:Repository,
        gh:Team,
        gh:TeamFull,
        gh:User ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "id" ;
    gh:required true .

gh:identifiers a owl:DatatypeProperty ;
    rdfs:label "identifiers" ;
    rdfs:domain gh:GlobalAdvisory,
        gh:RepositoryAdvisory ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "identifiers" .

gh:immutable a owl:DatatypeProperty ;
    rdfs:label "immutable" ;
    rdfs:comment "Whether or not the release is immutable." ;
    rdfs:domain gh:Release ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "immutable" .

gh:inReplyToId a owl:DatatypeProperty ;
    rdfs:label "inReplyToId" ;
    rdfs:comment "The comment ID to reply to." ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "in_reply_to_id" .

gh:isBase64Encoded a owl:DatatypeProperty ;
    rdfs:label "isBase64Encoded" ;
    rdfs:comment "A boolean value representing whether or not alert is base64 encoded" ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "is_base64_encoded" .

gh:isTemplate a owl:DatatypeProperty ;
    rdfs:label "isTemplate" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "is_template" .

gh:isVerified a owl:DatatypeProperty ;
    rdfs:label "isVerified" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "is_verified" .

gh:key a owl:DatatypeProperty ;
    rdfs:label "key" ;
    rdfs:domain gh:License ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "key" ;
    gh:required true .

gh:label a owl:DatatypeProperty ;
    rdfs:label "label" ;
    rdfs:domain gh:ReleaseAsset ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "label" ;
    gh:required true .

gh:labels a owl:DatatypeProperty,
        owl:ObjectProperty ;
    rdfs:label "labels" ;
    rdfs:comment "Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository" ;
    rdfs:domain gh:Discussion,
        gh:Issue,
        gh:PullRequest ;
    rdfs:range xsd:string,
        gh:Label ;
    gh:openApiPropertyName "labels" .

gh:language a owl:DatatypeProperty ;
    rdfs:label "language" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "language" ;
    gh:required true .

gh:laugh a owl:DatatypeProperty ;
    rdfs:label "laugh" ;
    rdfs:domain gh:ReactionRollup ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "laugh" ;
    gh:required true .

gh:license a owl:ObjectProperty ;
    rdfs:label "license" ;
    rdfs:domain gh:Repository ;
    rdfs:range gh:License ;
    gh:openApiPropertyName "license" .

gh:line a owl:DatatypeProperty ;
    rdfs:label "line" ;
    rdfs:comment "The line of the blob to which the comment applies. The last line of the range for a multi-line comment" ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "line" .

gh:location a owl:DatatypeProperty ;
    rdfs:label "location" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "location" .

gh:locationsUrl a owl:DatatypeProperty ;
    rdfs:label "locationsUrl" ;
    rdfs:comment "The REST API URL of the code locations for this alert." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "locations_url" .

gh:locked a owl:DatatypeProperty ;
    rdfs:label "locked" ;
    rdfs:domain gh:Discussion,
        gh:Issue,
        gh:PullRequest ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "locked" ;
    gh:required true .

gh:login a owl:DatatypeProperty ;
    rdfs:label "login" ;
    rdfs:domain gh:Organization,
        gh:User ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "login" ;
    gh:required true .

gh:maintainerCanModify a owl:DatatypeProperty ;
    rdfs:label "maintainerCanModify" ;
    rdfs:comment "Indicates whether maintainers can modify the pull request." ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "maintainer_can_modify" ;
    gh:required true .

gh:masterBranch a owl:DatatypeProperty ;
    rdfs:label "masterBranch" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "master_branch" .

gh:membersAllowedRepositoryCreationType a owl:DatatypeProperty ;
    rdfs:label "membersAllowedRepositoryCreationType" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "members_allowed_repository_creation_type" .

gh:membersCanChangeRepoVisibility a owl:DatatypeProperty ;
    rdfs:label "membersCanChangeRepoVisibility" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_change_repo_visibility" .

gh:membersCanCreateInternalRepositories a owl:DatatypeProperty ;
    rdfs:label "membersCanCreateInternalRepositories" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_create_internal_repositories" .

gh:membersCanCreatePages a owl:DatatypeProperty ;
    rdfs:label "membersCanCreatePages" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_create_pages" .

gh:membersCanCreatePrivatePages a owl:DatatypeProperty ;
    rdfs:label "membersCanCreatePrivatePages" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_create_private_pages" .

gh:membersCanCreatePrivateRepositories a owl:DatatypeProperty ;
    rdfs:label "membersCanCreatePrivateRepositories" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_create_private_repositories" .

gh:membersCanCreatePublicPages a owl:DatatypeProperty ;
    rdfs:label "membersCanCreatePublicPages" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_create_public_pages" .

gh:membersCanCreatePublicRepositories a owl:DatatypeProperty ;
    rdfs:label "membersCanCreatePublicRepositories" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_create_public_repositories" .

gh:membersCanCreateRepositories a owl:DatatypeProperty ;
    rdfs:label "membersCanCreateRepositories" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_create_repositories" .

gh:membersCanCreateTeams a owl:DatatypeProperty ;
    rdfs:label "membersCanCreateTeams" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_create_teams" .

gh:membersCanDeleteIssues a owl:DatatypeProperty ;
    rdfs:label "membersCanDeleteIssues" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_delete_issues" .

gh:membersCanDeleteRepositories a owl:DatatypeProperty ;
    rdfs:label "membersCanDeleteRepositories" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_delete_repositories" .

gh:membersCanForkPrivateRepositories a owl:DatatypeProperty ;
    rdfs:label "membersCanForkPrivateRepositories" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_fork_private_repositories" .

gh:membersCanInviteOutsideCollaborators a owl:DatatypeProperty ;
    rdfs:label "membersCanInviteOutsideCollaborators" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_invite_outside_collaborators" .

gh:membersCanViewDependencyInsights a owl:DatatypeProperty ;
    rdfs:label "membersCanViewDependencyInsights" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "members_can_view_dependency_insights" .

gh:membersCount a owl:DatatypeProperty ;
    rdfs:label "membersCount" ;
    rdfs:domain gh:TeamFull ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "members_count" ;
    gh:required true .

gh:mentionsCount a owl:DatatypeProperty ;
    rdfs:label "mentionsCount" ;
    rdfs:domain gh:Release ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "mentions_count" .

gh:mergeCommitMessage a owl:DatatypeProperty ;
    rdfs:label "mergeCommitMessage" ;
    rdfs:comment """The default value for a merge commit message.

- `PR_TITLE` - default to the pull request's title.
- `PR_BODY` - default to the pull request's body.
- `BLANK` - default to a blank commit message.""" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "merge_commit_message" .

gh:mergeCommitTitle a owl:DatatypeProperty ;
    rdfs:label "mergeCommitTitle" ;
    rdfs:comment """The default value for a merge commit title.

  - `PR_TITLE` - default to the pull request's title.
  - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).""" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "merge_commit_title" .

gh:mergeable a owl:DatatypeProperty ;
    rdfs:label "mergeable" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "mergeable" ;
    gh:required true .

gh:mergeableState a owl:DatatypeProperty ;
    rdfs:label "mergeableState" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "mergeable_state" ;
    gh:required true .

gh:merged a owl:DatatypeProperty ;
    rdfs:label "merged" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "merged" ;
    gh:required true .

gh:mergedAt a owl:DatatypeProperty ;
    rdfs:label "mergedAt" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "merged_at" ;
    gh:required true .

gh:mergedBy a owl:ObjectProperty ;
    rdfs:label "mergedBy" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "merged_by" .

gh:milestone a owl:ObjectProperty ;
    rdfs:label "milestone" ;
    rdfs:domain gh:Issue,
        gh:PullRequest ;
    rdfs:range gh:Milestone ;
    gh:openApiPropertyName "milestone" .

gh:multiRepo a owl:DatatypeProperty ;
    rdfs:label "multiRepo" ;
    rdfs:comment "Whether the detected secret was found in multiple repositories under the same organization or enterprise." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "multi_repo" .

gh:name a owl:DatatypeProperty ;
    rdfs:label "name" ;
    rdfs:comment "Name of the team",
        "The file name of the asset.",
        "The name of the label." ;
    rdfs:domain gh:Label,
        gh:License,
        gh:Organization,
        gh:Release,
        gh:ReleaseAsset,
        gh:Repository,
        gh:Team,
        gh:TeamFull,
        gh:User ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "name" ;
    gh:required true .

gh:networkCount a owl:DatatypeProperty ;
    rdfs:label "networkCount" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "network_count" ;
    gh:required true .

gh:notificationSetting a owl:DatatypeProperty ;
    rdfs:label "notificationSetting" ;
    rdfs:comment "The notification setting the team has set" ;
    rdfs:domain gh:Team,
        gh:TeamFull ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "notification_setting" .

gh:number a owl:DatatypeProperty ;
    rdfs:label "number" ;
    rdfs:comment "Number uniquely identifying the issue within its repository",
        "Number uniquely identifying the pull request within its repository.",
        "The number of the milestone." ;
    rdfs:domain gh:Discussion,
        gh:Issue,
        gh:Milestone,
        gh:PullRequest ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "number" ;
    gh:required true .

gh:nvdPublishedAt a owl:DatatypeProperty ;
    rdfs:label "nvdPublishedAt" ;
    rdfs:comment """The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format.
This field is only populated when the advisory is imported from the National Vulnerability Database.""" ;
    rdfs:domain gh:GlobalAdvisory ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "nvd_published_at" ;
    gh:required true .

gh:openApiPropertyName a owl:AnnotationProperty ;
    rdfs:label "OpenAPI property name" ;
    rdfs:comment "The original property name from GitHub's OpenAPI spec (snake_case)" .

gh:openApiSchemaName a owl:AnnotationProperty ;
    rdfs:label "OpenAPI schema name" ;
    rdfs:comment "The original schema name from GitHub's OpenAPI spec" .

gh:openIssues a owl:DatatypeProperty ;
    rdfs:label "openIssues" ;
    rdfs:domain gh:Milestone,
        gh:Repository ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "open_issues" ;
    gh:required true .

gh:openIssuesCount a owl:DatatypeProperty ;
    rdfs:label "openIssuesCount" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "open_issues_count" ;
    gh:required true .

gh:organization a owl:ObjectProperty ;
    rdfs:label "organization" ;
    rdfs:domain gh:Repository ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "organization" .

gh:organizationId a owl:DatatypeProperty ;
    rdfs:label "organizationId" ;
    rdfs:comment "Unique identifier of the organization to which this team belongs" ;
    rdfs:domain gh:Team,
        gh:TeamFull ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "organization_id" .

gh:organizationUrl a owl:DatatypeProperty ;
    rdfs:label "organizationUrl" ;
    rdfs:domain gh:OrgMembership ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "organization_url" ;
    gh:required true .

gh:originalCommitId a owl:DatatypeProperty ;
    rdfs:label "originalCommitId" ;
    rdfs:comment "The SHA of the original commit to which the comment applies." ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "original_commit_id" ;
    gh:required true .

gh:originalLine a owl:DatatypeProperty ;
    rdfs:label "originalLine" ;
    rdfs:comment "The line of the blob to which the comment applies. The last line of the range for a multi-line comment" ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "original_line" .

gh:originalPosition a owl:DatatypeProperty ;
    rdfs:label "originalPosition" ;
    rdfs:comment "The index of the original line in the diff to which the comment applies. This field is closing down; use `original_line` instead." ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "original_position" .

gh:originalStartLine a owl:DatatypeProperty ;
    rdfs:label "originalStartLine" ;
    rdfs:comment "The first line of the range for a multi-line comment." ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "original_start_line" .

gh:ownedPrivateRepos a owl:DatatypeProperty ;
    rdfs:label "ownedPrivateRepos" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "owned_private_repos" .

gh:owner a owl:ObjectProperty ;
    rdfs:label "owner" ;
    rdfs:domain gh:Repository ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "owner" .

gh:parent a owl:ObjectProperty ;
    rdfs:label "parent" ;
    rdfs:domain gh:Repository ;
    rdfs:range gh:Repository ;
    gh:openApiPropertyName "parent" .

gh:parentIssueUrl a owl:DatatypeProperty ;
    rdfs:label "parentIssueUrl" ;
    rdfs:comment "URL to get the parent issue of this issue, if it is a sub-issue" ;
    rdfs:domain gh:Issue ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "parent_issue_url" .

gh:patchUrl a owl:DatatypeProperty ;
    rdfs:label "patchUrl" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "patch_url" ;
    gh:required true .

gh:path a owl:DatatypeProperty ;
    rdfs:label "path" ;
    rdfs:comment "The relative path of the file to which the comment applies." ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "path" ;
    gh:required true .

gh:permission a owl:DatatypeProperty ;
    rdfs:label "permission" ;
    rdfs:comment "Permission that the team will have for its repositories" ;
    rdfs:domain gh:Team,
        gh:TeamFull ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "permission" ;
    gh:required true .

gh:pinnedComment a owl:ObjectProperty ;
    rdfs:label "pinnedComment" ;
    rdfs:domain gh:Issue ;
    rdfs:range gh:IssueComment ;
    gh:openApiPropertyName "pinned_comment" .

gh:position a owl:DatatypeProperty ;
    rdfs:label "position" ;
    rdfs:comment "The line index in the diff to which the comment applies. This field is closing down; use `line` instead." ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "position" .

gh:prerelease a owl:DatatypeProperty ;
    rdfs:label "prerelease" ;
    rdfs:comment "Whether to identify the release as a prerelease or a full release." ;
    rdfs:domain gh:Release ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "prerelease" ;
    gh:required true .

gh:privacy a owl:DatatypeProperty ;
    rdfs:label "privacy" ;
    rdfs:comment "The level of privacy this team should have" ;
    rdfs:domain gh:Team,
        gh:TeamFull ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "privacy" .

gh:private a owl:DatatypeProperty ;
    rdfs:label "private" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "private" ;
    gh:required true .

gh:privateGists a owl:DatatypeProperty ;
    rdfs:label "privateGists" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "private_gists" .

gh:publicGists a owl:DatatypeProperty ;
    rdfs:label "publicGists" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "public_gists" ;
    gh:required true .

gh:publicRepos a owl:DatatypeProperty ;
    rdfs:label "publicRepos" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "public_repos" ;
    gh:required true .

gh:publiclyLeaked a owl:DatatypeProperty ;
    rdfs:label "publiclyLeaked" ;
    rdfs:comment "Whether the detected secret was publicly leaked." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "publicly_leaked" .

gh:publishedAt a owl:DatatypeProperty ;
    rdfs:label "publishedAt" ;
    rdfs:comment "The date and time of when the advisory was published, in ISO 8601 format." ;
    rdfs:domain gh:GlobalAdvisory,
        gh:Release,
        gh:RepositoryAdvisory ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "published_at" ;
    gh:required true .

gh:publisher a owl:ObjectProperty ;
    rdfs:label "publisher" ;
    rdfs:comment "The publisher of the advisory." ;
    rdfs:domain gh:RepositoryAdvisory ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "publisher" .

gh:pullRequestCreationPolicy a owl:DatatypeProperty ;
    rdfs:label "pullRequestCreationPolicy" ;
    rdfs:comment "The policy controlling who can create pull requests: all or collaborators_only." ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "pull_request_creation_policy" .

gh:pullRequestReviewId a owl:DatatypeProperty ;
    rdfs:label "pullRequestReviewId" ;
    rdfs:comment "The ID of the pull request review to which the comment belongs." ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "pull_request_review_id" ;
    gh:required true .

gh:pushProtectionBypassRequestComment a owl:DatatypeProperty ;
    rdfs:label "pushProtectionBypassRequestComment" ;
    rdfs:comment "An optional comment when requesting a push protection bypass." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "push_protection_bypass_request_comment" .

gh:pushProtectionBypassRequestHtmlUrl a owl:DatatypeProperty ;
    rdfs:label "pushProtectionBypassRequestHtmlUrl" ;
    rdfs:comment "The URL to a push protection bypass request." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "push_protection_bypass_request_html_url" .

gh:pushProtectionBypassRequestReviewer a owl:ObjectProperty ;
    rdfs:label "pushProtectionBypassRequestReviewer" ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "push_protection_bypass_request_reviewer" .

gh:pushProtectionBypassRequestReviewerComment a owl:DatatypeProperty ;
    rdfs:label "pushProtectionBypassRequestReviewerComment" ;
    rdfs:comment "An optional comment when reviewing a push protection bypass." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "push_protection_bypass_request_reviewer_comment" .

gh:pushProtectionBypassed a owl:DatatypeProperty ;
    rdfs:label "pushProtectionBypassed" ;
    rdfs:comment "Whether push protection was bypassed for the detected secret." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "push_protection_bypassed" .

gh:pushProtectionBypassedAt a owl:DatatypeProperty ;
    rdfs:label "pushProtectionBypassedAt" ;
    rdfs:comment "The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "push_protection_bypassed_at" .

gh:pushProtectionBypassedBy a owl:ObjectProperty ;
    rdfs:label "pushProtectionBypassedBy" ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "push_protection_bypassed_by" .

gh:pushedAt a owl:DatatypeProperty ;
    rdfs:label "pushedAt" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "pushed_at" ;
    gh:required true .

gh:reactions a owl:ObjectProperty ;
    rdfs:label "reactions" ;
    rdfs:domain gh:Issue,
        gh:IssueComment,
        gh:PullRequestReviewComment,
        gh:Release ;
    rdfs:range gh:ReactionRollup ;
    gh:openApiPropertyName "reactions" .

gh:readersCanCreateDiscussions a owl:DatatypeProperty ;
    rdfs:label "readersCanCreateDiscussions" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "readers_can_create_discussions" .

gh:rebaseable a owl:DatatypeProperty ;
    rdfs:label "rebaseable" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "rebaseable" .

gh:references a owl:DatatypeProperty ;
    rdfs:label "references" ;
    rdfs:domain gh:GlobalAdvisory ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "references" .

gh:reposCount a owl:DatatypeProperty ;
    rdfs:label "reposCount" ;
    rdfs:domain gh:TeamFull ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "repos_count" ;
    gh:required true .

gh:repository a owl:ObjectProperty ;
    rdfs:label "repository" ;
    rdfs:domain gh:Issue ;
    rdfs:range gh:Repository ;
    gh:openApiPropertyName "repository" .

gh:repositoryAdvisoryUrl a owl:DatatypeProperty ;
    rdfs:label "repositoryAdvisoryUrl" ;
    rdfs:comment "The API URL for the repository advisory." ;
    rdfs:domain gh:GlobalAdvisory ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "repository_advisory_url" ;
    gh:required true .

gh:requestedReviewers a owl:ObjectProperty ;
    rdfs:label "requestedReviewers" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "requested_reviewers" .

gh:required a owl:AnnotationProperty ;
    rdfs:label "required" ;
    rdfs:comment "Whether this property is required per the OpenAPI spec" .

gh:resolutionComment a owl:DatatypeProperty ;
    rdfs:label "resolutionComment" ;
    rdfs:comment "An optional comment to resolve an alert." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "resolution_comment" .

gh:resolvedAt a owl:DatatypeProperty ;
    rdfs:label "resolvedAt" ;
    rdfs:comment "The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "resolved_at" .

gh:resolvedBy a owl:ObjectProperty ;
    rdfs:label "resolvedBy" ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "resolved_by" .

gh:reviewComments a owl:DatatypeProperty ;
    rdfs:label "reviewComments" ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "review_comments" ;
    gh:required true .

gh:rocket a owl:DatatypeProperty ;
    rdfs:label "rocket" ;
    rdfs:domain gh:ReactionRollup ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "rocket" ;
    gh:required true .

gh:role a owl:DatatypeProperty ;
    rdfs:label "role" ;
    rdfs:comment "The user's membership type in the organization." ;
    rdfs:domain gh:OrgMembership ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "role" ;
    gh:required true .

gh:secret a owl:DatatypeProperty ;
    rdfs:label "secret" ;
    rdfs:comment "The secret that was detected." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "secret" .

gh:secretScanningEnabledForNewRepositories a owl:DatatypeProperty ;
    rdfs:label "secretScanningEnabledForNewRepositories" ;
    rdfs:comment """**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.

Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization.

This field is only visible to organization owners or members of a team with the security manager role.""" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "secret_scanning_enabled_for_new_repositories" .

gh:secretScanningPushProtectionCustomLink a owl:DatatypeProperty ;
    rdfs:label "secretScanningPushProtectionCustomLink" ;
    rdfs:comment "An optional URL string to display to contributors who are blocked from pushing a secret." ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "secret_scanning_push_protection_custom_link" .

gh:secretScanningPushProtectionEnabledForNewRepositories a owl:DatatypeProperty ;
    rdfs:label "secretScanningPushProtectionEnabledForNewRepositories" ;
    rdfs:comment """**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.

Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization.

This field is only visible to organization owners or members of a team with the security manager role.""" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "secret_scanning_push_protection_enabled_for_new_repositories" .

gh:secretType a owl:DatatypeProperty ;
    rdfs:label "secretType" ;
    rdfs:comment "The type of secret that secret scanning detected." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "secret_type" .

gh:secretTypeDisplayName a owl:DatatypeProperty ;
    rdfs:label "secretTypeDisplayName" ;
    rdfs:comment """User-friendly name for the detected secret, matching the `secret_type`.
For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets).\"""" ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "secret_type_display_name" .

gh:severity a owl:DatatypeProperty ;
    rdfs:label "severity" ;
    rdfs:comment "The severity of the advisory." ;
    rdfs:domain gh:GlobalAdvisory,
        gh:RepositoryAdvisory ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "severity" ;
    gh:required true .

gh:side a owl:DatatypeProperty ;
    rdfs:label "side" ;
    rdfs:comment "The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment" ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "side" .

gh:siteAdmin a owl:DatatypeProperty ;
    rdfs:label "siteAdmin" ;
    rdfs:domain gh:User ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "site_admin" ;
    gh:required true .

gh:size a owl:DatatypeProperty ;
    rdfs:label "size" ;
    rdfs:comment "The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0." ;
    rdfs:domain gh:ReleaseAsset,
        gh:Repository ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "size" ;
    gh:required true .

gh:slug a owl:DatatypeProperty ;
    rdfs:label "slug" ;
    rdfs:domain gh:Team,
        gh:TeamFull ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "slug" ;
    gh:required true .

gh:source a owl:ObjectProperty ;
    rdfs:label "source" ;
    rdfs:domain gh:Repository ;
    rdfs:range gh:Repository ;
    gh:openApiPropertyName "source" .

gh:sourceCodeLocation a owl:DatatypeProperty ;
    rdfs:label "sourceCodeLocation" ;
    rdfs:comment "The URL of the advisory's source code." ;
    rdfs:domain gh:GlobalAdvisory ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "source_code_location" ;
    gh:required true .

gh:spdxId a owl:DatatypeProperty ;
    rdfs:label "spdxId" ;
    rdfs:domain gh:License ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "spdx_id" ;
    gh:required true .

gh:squashMergeCommitMessage a owl:DatatypeProperty ;
    rdfs:label "squashMergeCommitMessage" ;
    rdfs:comment """The default value for a squash merge commit message:

- `PR_BODY` - default to the pull request's body.
- `COMMIT_MESSAGES` - default to the branch's commit messages.
- `BLANK` - default to a blank commit message.""" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "squash_merge_commit_message" .

gh:squashMergeCommitTitle a owl:DatatypeProperty ;
    rdfs:label "squashMergeCommitTitle" ;
    rdfs:comment """The default value for a squash merge commit title:

- `PR_TITLE` - default to the pull request's title.
- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).""" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "squash_merge_commit_title" .

gh:stargazersCount a owl:DatatypeProperty ;
    rdfs:label "stargazersCount" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "stargazers_count" ;
    gh:required true .

gh:starredAt a owl:DatatypeProperty ;
    rdfs:label "starredAt" ;
    rdfs:domain gh:User ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "starred_at" .

gh:startLine a owl:DatatypeProperty ;
    rdfs:label "startLine" ;
    rdfs:comment "The first line of the range for a multi-line comment." ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "start_line" .

gh:startSide a owl:DatatypeProperty ;
    rdfs:label "startSide" ;
    rdfs:comment "The side of the first line of the range for a multi-line comment." ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "start_side" .

gh:state a owl:DatatypeProperty ;
    rdfs:label "state" ;
    rdfs:comment "State of the issue; either 'open' or 'closed'",
        "State of the release asset.",
        "State of this Pull Request. Either `open` or `closed`.",
        """The current state of the discussion.
`converting` means that the discussion is being converted from an issue.
`transferring` means that the discussion is being transferred from another repository.""",
        "The state of the Dependabot alert.",
        "The state of the advisory.",
        "The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation.",
        "The state of the milestone." ;
    rdfs:domain gh:DependabotAlert,
        gh:DependabotAlertWithRepository,
        gh:Discussion,
        gh:Issue,
        gh:Milestone,
        gh:OrgMembership,
        gh:PullRequest,
        gh:PullRequestReview,
        gh:ReleaseAsset,
        gh:RepositoryAdvisory ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "state" ;
    gh:required true .

gh:stateReason a owl:DatatypeProperty ;
    rdfs:label "stateReason" ;
    rdfs:comment "The reason for the current state" ;
    rdfs:domain gh:Discussion,
        gh:Issue ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "state_reason" ;
    gh:required true .

gh:subjectType a owl:DatatypeProperty ;
    rdfs:label "subjectType" ;
    rdfs:comment "The level at which the comment is targeted, can be a diff line or a file." ;
    rdfs:domain gh:PullRequestReviewComment ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "subject_type" .

gh:submittedAt a owl:DatatypeProperty ;
    rdfs:label "submittedAt" ;
    rdfs:domain gh:PullRequestReview ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "submitted_at" .

gh:subscribersCount a owl:DatatypeProperty ;
    rdfs:label "subscribersCount" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "subscribers_count" ;
    gh:required true .

gh:subscribersUrl a owl:DatatypeProperty ;
    rdfs:label "subscribersUrl" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "subscribers_url" ;
    gh:required true .

gh:subscriptionUrl a owl:DatatypeProperty ;
    rdfs:label "subscriptionUrl" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:anyURI ;
    gh:openApiPropertyName "subscription_url" ;
    gh:required true .

gh:summary a owl:DatatypeProperty ;
    rdfs:label "summary" ;
    rdfs:comment "A short summary of the advisory." ;
    rdfs:domain gh:GlobalAdvisory,
        gh:RepositoryAdvisory ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "summary" ;
    gh:required true .

gh:tagName a owl:DatatypeProperty ;
    rdfs:label "tagName" ;
    rdfs:comment "The name of the tag." ;
    rdfs:domain gh:Release ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "tag_name" ;
    gh:required true .

gh:targetCommitish a owl:DatatypeProperty ;
    rdfs:label "targetCommitish" ;
    rdfs:comment "Specifies the commitish value that determines where the Git tag is created from." ;
    rdfs:domain gh:Release ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "target_commitish" ;
    gh:required true .

gh:tempCloneToken a owl:DatatypeProperty ;
    rdfs:label "tempCloneToken" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "temp_clone_token" .

gh:templateRepository a owl:ObjectProperty ;
    rdfs:label "templateRepository" ;
    rdfs:domain gh:Repository ;
    rdfs:range gh:Repository ;
    gh:openApiPropertyName "template_repository" .

gh:timelineUrl a owl:DatatypeProperty ;
    rdfs:label "timelineUrl" ;
    rdfs:domain gh:Discussion,
        gh:Issue ;
    rdfs:range xsd:anyURI,
        xsd:string ;
    gh:openApiPropertyName "timeline_url" .

gh:title a owl:DatatypeProperty ;
    rdfs:label "title" ;
    rdfs:comment "The title of the milestone.",
        "The title of the pull request.",
        "Title of the issue" ;
    rdfs:domain gh:Discussion,
        gh:Issue,
        gh:Milestone,
        gh:PullRequest ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "title" ;
    gh:required true .

gh:topics a owl:DatatypeProperty ;
    rdfs:label "topics" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "topics" .

gh:totalCount a owl:DatatypeProperty ;
    rdfs:label "totalCount" ;
    rdfs:domain gh:ReactionRollup ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "total_count" ;
    gh:required true .

gh:totalPrivateRepos a owl:DatatypeProperty ;
    rdfs:label "totalPrivateRepos" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "total_private_repos" .

gh:twitterUsername a owl:DatatypeProperty ;
    rdfs:label "twitterUsername" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "twitter_username" .

gh:twoFactorRequirementEnabled a owl:DatatypeProperty ;
    rdfs:label "twoFactorRequirementEnabled" ;
    rdfs:domain gh:Organization ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "two_factor_requirement_enabled" .

gh:type a owl:DatatypeProperty ;
    rdfs:label "type" ;
    rdfs:comment "The ownership type of the team",
        "The type of advisory." ;
    rdfs:domain gh:GlobalAdvisory,
        gh:Organization,
        gh:Team,
        gh:TeamFull,
        gh:User ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "type" ;
    gh:required true .

gh:updatedAt a owl:DatatypeProperty ;
    rdfs:label "updatedAt" ;
    rdfs:comment "The date and time of when the advisory was last updated, in ISO 8601 format." ;
    rdfs:domain gh:Discussion,
        gh:GlobalAdvisory,
        gh:Issue,
        gh:IssueComment,
        gh:Milestone,
        gh:Organization,
        gh:PullRequest,
        gh:PullRequestReviewComment,
        gh:Release,
        gh:ReleaseAsset,
        gh:Repository,
        gh:RepositoryAdvisory,
        gh:TeamFull ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "updated_at" ;
    gh:required true .

gh:uploader a owl:ObjectProperty ;
    rdfs:label "uploader" ;
    rdfs:domain gh:ReleaseAsset ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "uploader" .

gh:user a owl:ObjectProperty ;
    rdfs:label "user" ;
    rdfs:domain gh:Issue,
        gh:IssueComment,
        gh:OrgMembership,
        gh:PullRequest,
        gh:PullRequestReview,
        gh:PullRequestReviewComment ;
    rdfs:range gh:User ;
    gh:openApiPropertyName "user" .

gh:userViewType a owl:DatatypeProperty ;
    rdfs:label "userViewType" ;
    rdfs:domain gh:User ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "user_view_type" .

gh:validity a owl:DatatypeProperty ;
    rdfs:label "validity" ;
    rdfs:comment "The token status as of the latest validity check." ;
    rdfs:domain gh:SecretScanningAlert ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "validity" .

gh:visibility a owl:DatatypeProperty ;
    rdfs:label "visibility" ;
    rdfs:comment "The repository visibility: public, private, or internal." ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "visibility" .

gh:vulnerabilities a owl:ObjectProperty ;
    rdfs:label "vulnerabilities" ;
    rdfs:comment "The products and respective version ranges affected by the advisory." ;
    rdfs:domain gh:GlobalAdvisory ;
    rdfs:range gh:Vulnerability ;
    gh:openApiPropertyName "vulnerabilities" .

gh:vulnerableFunctions a owl:DatatypeProperty ;
    rdfs:label "vulnerableFunctions" ;
    rdfs:comment "The functions in the package that are affected by the vulnerability." ;
    rdfs:domain gh:Vulnerability ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "vulnerable_functions" .

gh:vulnerableVersionRange a owl:DatatypeProperty ;
    rdfs:label "vulnerableVersionRange" ;
    rdfs:comment "The range of the package versions affected by the vulnerability." ;
    rdfs:domain gh:Vulnerability ;
    rdfs:range xsd:string ;
    gh:openApiPropertyName "vulnerable_version_range" ;
    gh:required true .

gh:watchers a owl:DatatypeProperty ;
    rdfs:label "watchers" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "watchers" ;
    gh:required true .

gh:watchersCount a owl:DatatypeProperty ;
    rdfs:label "watchersCount" ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:integer ;
    gh:openApiPropertyName "watchers_count" ;
    gh:required true .

gh:webCommitSignoffRequired a owl:DatatypeProperty ;
    rdfs:label "webCommitSignoffRequired" ;
    rdfs:domain gh:Organization,
        gh:Repository ;
    rdfs:range xsd:boolean ;
    gh:openApiPropertyName "web_commit_signoff_required" .

gh:withdrawnAt a owl:DatatypeProperty ;
    rdfs:label "withdrawnAt" ;
    rdfs:comment "The date and time of when the advisory was withdrawn, in ISO 8601 format." ;
    rdfs:domain gh:GlobalAdvisory,
        gh:RepositoryAdvisory ;
    rdfs:range xsd:dateTime ;
    gh:openApiPropertyName "withdrawn_at" ;
    gh:required true .

git: a owl:Ontology ;
    rdfs:label "Git Core Ontology" ;
    rdfs:comment "Core ontology for Git objects (commits, trees, blobs, tags). Extracted by introspection from GitPython bindings." ;
    owl:versionInfo "v3.1.46" .

git:abspath a owl:DatatypeProperty ;
    rdfs:label "abspath" ;
    rdfs:comment "Absolute path in the working directory" ;
    rdfs:domain git:IndexObject ;
    rdfs:range xsd:string .

git:actorName a owl:DatatypeProperty ;
    rdfs:label "actorName" ;
    rdfs:comment "The person's name" ;
    rdfs:domain git:Actor ;
    rdfs:range xsd:string .

git:author a owl:ObjectProperty ;
    rdfs:label "author" ;
    rdfs:comment "The person who originally wrote the code" ;
    rdfs:domain git:Commit ;
    rdfs:range git:Actor .

git:authorTimezone a owl:DatatypeProperty ;
    rdfs:label "authorTimezone" ;
    rdfs:comment "Author's timezone offset in seconds" ;
    rdfs:domain git:Commit ;
    rdfs:range xsd:integer .

git:authoredDate a owl:DatatypeProperty ;
    rdfs:label "authoredDate" ;
    rdfs:comment "When the commit was authored (original creation time)" ;
    rdfs:domain git:Commit ;
    rdfs:range xsd:dateTime .

git:bare a owl:DatatypeProperty ;
    rdfs:label "bare" ;
    rdfs:comment "Whether this is a bare repository" ;
    rdfs:domain git:Repository ;
    rdfs:range xsd:boolean .

git:binsha a owl:DatatypeProperty ;
    rdfs:label "binsha" ;
    rdfs:comment "The 20-byte binary SHA-1 hash identifying this object" ;
    rdfs:domain git:Object ;
    rdfs:range xsd:hexBinary .

git:blob a owl:ObjectProperty ;
    rdfs:label "blob" ;
    rdfs:comment "Blobs (files) contained directly in this tree" ;
    rdfs:domain git:Tree ;
    rdfs:range git:Blob .

git:branch a owl:ObjectProperty ;
    rdfs:label "branch" ;
    rdfs:comment "Local branches in this repository" ;
    rdfs:domain git:Repository ;
    rdfs:range git:Reference .

git:childCommit a owl:ObjectProperty ;
    rdfs:label "child commit" ;
    rdfs:comment "Inverse of git:parent. Inferred by reasoner: if commit B has parent A, then A has child B. Enables 'what commits came after this one?' queries." ;
    owl:inverseOf git:parent .

git:commit a owl:ObjectProperty ;
    rdfs:label "commit" ;
    rdfs:comment "The commit this reference points to" ;
    rdfs:domain git:Reference ;
    rdfs:range git:Commit .

git:committedDate a owl:DatatypeProperty ;
    rdfs:label "committedDate" ;
    rdfs:comment "When the commit was committed (may differ from authored if rebased)" ;
    rdfs:domain git:Commit ;
    rdfs:range xsd:dateTime .

git:committer a owl:ObjectProperty ;
    rdfs:label "committer" ;
    rdfs:comment "The person who committed the code (may differ from author)" ;
    rdfs:domain git:Commit ;
    rdfs:range git:Actor .

git:committerTimezone a owl:DatatypeProperty ;
    rdfs:label "committerTimezone" ;
    rdfs:comment "Committer's timezone offset in seconds" ;
    rdfs:domain git:Commit ;
    rdfs:range xsd:integer .

git:description a owl:DatatypeProperty ;
    rdfs:label "description" ;
    rdfs:comment "Repository description from .git/description" ;
    rdfs:domain git:Repository ;
    rdfs:range xsd:string .

git:email a owl:DatatypeProperty ;
    rdfs:label "email" ;
    rdfs:comment "The person's email address" ;
    rdfs:domain git:Actor ;
    rdfs:range xsd:string .

git:encoding a owl:DatatypeProperty ;
    rdfs:label "encoding" ;
    rdfs:comment "Character encoding of the commit message" ;
    rdfs:domain git:Commit ;
    rdfs:range xsd:string .

git:fetchUrl a owl:DatatypeProperty ;
    rdfs:label "fetchUrl" ;
    rdfs:comment "URL used for fetching" ;
    rdfs:domain git:Remote ;
    rdfs:range xsd:anyURI .

git:gitDir a owl:DatatypeProperty ;
    rdfs:label "gitDir" ;
    rdfs:comment "Path to the .git directory" ;
    rdfs:domain git:Repository ;
    rdfs:range xsd:string .

git:gpgsig a owl:DatatypeProperty ;
    rdfs:label "gpgsig" ;
    rdfs:comment "GPG signature if the commit is signed" ;
    rdfs:domain git:Commit ;
    rdfs:range xsd:string .

git:head a owl:ObjectProperty ;
    rdfs:label "head" ;
    rdfs:comment "The HEAD reference" ;
    rdfs:domain git:Repository ;
    rdfs:range git:Reference .

git:hexsha a owl:DatatypeProperty ;
    rdfs:label "hexsha" ;
    rdfs:comment "The 40-character hexadecimal SHA-1 hash identifying this object" ;
    rdfs:domain git:Object ;
    rdfs:range xsd:string .

git:isDetached a owl:DatatypeProperty ;
    rdfs:label "isDetached" ;
    rdfs:comment "Whether HEAD is in detached state" ;
    rdfs:domain git:Reference ;
    rdfs:range xsd:boolean .

git:isRemote a owl:DatatypeProperty ;
    rdfs:label "isRemote" ;
    rdfs:comment "Whether this is a remote-tracking reference" ;
    rdfs:domain git:Reference ;
    rdfs:range xsd:boolean .

git:message a owl:DatatypeProperty ;
    rdfs:label "message" ;
    rdfs:comment "The commit message" ;
    rdfs:domain git:Commit ;
    rdfs:range xsd:string .

git:mimeType a owl:DatatypeProperty ;
    rdfs:label "mimeType" ;
    rdfs:comment "MIME type of the file content" ;
    rdfs:domain git:Blob ;
    rdfs:range xsd:string .

git:mode a owl:DatatypeProperty ;
    rdfs:label "mode" ;
    rdfs:comment "Unix file mode bits (e.g., 33188 for regular file, 16384 for directory)" ;
    rdfs:domain git:IndexObject ;
    rdfs:range xsd:integer .

git:name a owl:DatatypeProperty ;
    rdfs:label "name" ;
    rdfs:comment "Name of the file or directory" ;
    rdfs:domain git:IndexObject ;
    rdfs:range xsd:string .

git:path a owl:DatatypeProperty ;
    rdfs:label "path" ;
    rdfs:comment "Path relative to repository root" ;
    rdfs:domain git:IndexObject ;
    rdfs:range xsd:string .

git:pushUrl a owl:DatatypeProperty ;
    rdfs:label "pushUrl" ;
    rdfs:comment "URL used for pushing" ;
    rdfs:domain git:Remote ;
    rdfs:range xsd:anyURI .

git:refName a owl:DatatypeProperty ;
    rdfs:label "refName" ;
    rdfs:comment "Full reference name (e.g., 'refs/heads/main')" ;
    rdfs:domain git:Reference ;
    rdfs:range xsd:string .

git:remote a owl:ObjectProperty ;
    rdfs:label "remote" ;
    rdfs:comment "Remote repositories configured" ;
    rdfs:domain git:Repository ;
    rdfs:range git:Remote .

git:remoteName a owl:DatatypeProperty ;
    rdfs:label "remoteName" ;
    rdfs:comment "Name of the remote (e.g., 'origin')" ;
    rdfs:domain git:Remote ;
    rdfs:range xsd:string .

git:shortName a owl:DatatypeProperty ;
    rdfs:label "shortName" ;
    rdfs:comment "Short reference name (e.g., 'main')" ;
    rdfs:domain git:Reference ;
    rdfs:range xsd:string .

git:size a owl:DatatypeProperty ;
    rdfs:label "size" ;
    rdfs:comment "Size of the object in bytes" ;
    rdfs:domain git:Object ;
    rdfs:range xsd:nonNegativeInteger .

git:subtree a owl:ObjectProperty ;
    rdfs:label "subtree" ;
    rdfs:comment "Subtrees (subdirectories) contained in this tree" ;
    rdfs:domain git:Tree ;
    rdfs:range git:Tree .

git:summary a owl:DatatypeProperty ;
    rdfs:label "summary" ;
    rdfs:comment "First line of the commit message" ;
    rdfs:domain git:Commit ;
    rdfs:range xsd:string .

git:tagMessage a owl:DatatypeProperty ;
    rdfs:label "tagMessage" ;
    rdfs:comment "Tag annotation message" ;
    rdfs:domain git:Tag ;
    rdfs:range xsd:string .

git:tagName a owl:DatatypeProperty ;
    rdfs:label "tagName" ;
    rdfs:comment "Name of the tag" ;
    rdfs:domain git:Tag ;
    rdfs:range xsd:string .

git:taggedDate a owl:DatatypeProperty ;
    rdfs:label "taggedDate" ;
    rdfs:comment "When the tag was created" ;
    rdfs:domain git:Tag ;
    rdfs:range xsd:dateTime .

git:taggedObject a owl:ObjectProperty ;
    rdfs:label "taggedObject" ;
    rdfs:comment "The object being tagged (usually a commit)" ;
    rdfs:domain git:Tag ;
    rdfs:range git:Object .

git:tagger a owl:ObjectProperty ;
    rdfs:label "tagger" ;
    rdfs:comment "Person who created the tag" ;
    rdfs:domain git:Tag ;
    rdfs:range git:Actor .

git:trackingBranch a owl:ObjectProperty ;
    rdfs:label "trackingBranch" ;
    rdfs:comment "The remote-tracking branch this local branch tracks" ;
    rdfs:domain git:Reference ;
    rdfs:range git:Reference .

git:tree a owl:ObjectProperty ;
    rdfs:label "tree" ;
    rdfs:comment "The tree object representing the project snapshot at this commit" ;
    rdfs:domain git:Commit ;
    rdfs:range git:Tree .

git:type a owl:DatatypeProperty ;
    rdfs:label "type" ;
    rdfs:comment "The git object type string ('commit', 'tree', 'blob', 'tag')" ;
    rdfs:domain git:Object ;
    rdfs:range xsd:string .

git:url a owl:DatatypeProperty ;
    rdfs:label "url" ;
    rdfs:comment "URL of the remote repository" ;
    rdfs:domain git:Remote ;
    rdfs:range xsd:anyURI .

git:workingDir a owl:DatatypeProperty ;
    rdfs:label "workingDir" ;
    rdfs:comment "Path to the working directory" ;
    rdfs:domain git:Repository ;
    rdfs:range xsd:string .

lsp: a owl:Ontology ;
    rdfs:label "multilspy Core Ontology" ;
    rdfs:comment "Ontology for the types produced by multilspy - a language-agnostic LSP client. Covers all 11 supported language servers (Python, Java, Rust, TypeScript, JavaScript, Go, Ruby, C#, Kotlin, Dart, C++). Types are derived from multilspy's multilspy_types.py by introspection. Upstream spec: LSP v3.17.0 (microsoft.github.io/language-server-protocol)." ;
    rdfs:seeAlso "https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/" ;
    owl:versionInfo "v0.0.15" .

lsp:CompletionItemKind-Class a lsp:CompletionItemKind ;
    rdfs:label "Class" ;
    lsp:completionItemKindValue 7 .

lsp:CompletionItemKind-Color a lsp:CompletionItemKind ;
    rdfs:label "Color" ;
    lsp:completionItemKindValue 16 .

lsp:CompletionItemKind-Constant a lsp:CompletionItemKind ;
    rdfs:label "Constant" ;
    lsp:completionItemKindValue 21 .

lsp:CompletionItemKind-Constructor a lsp:CompletionItemKind ;
    rdfs:label "Constructor" ;
    lsp:completionItemKindValue 4 .

lsp:CompletionItemKind-Enum a lsp:CompletionItemKind ;
    rdfs:label "Enum" ;
    lsp:completionItemKindValue 13 .

lsp:CompletionItemKind-EnumMember a lsp:CompletionItemKind ;
    rdfs:label "EnumMember" ;
    lsp:completionItemKindValue 20 .

lsp:CompletionItemKind-Event a lsp:CompletionItemKind ;
    rdfs:label "Event" ;
    lsp:completionItemKindValue 23 .

lsp:CompletionItemKind-Field a lsp:CompletionItemKind ;
    rdfs:label "Field" ;
    lsp:completionItemKindValue 5 .

lsp:CompletionItemKind-File a lsp:CompletionItemKind ;
    rdfs:label "File" ;
    lsp:completionItemKindValue 17 .

lsp:CompletionItemKind-Folder a lsp:CompletionItemKind ;
    rdfs:label "Folder" ;
    lsp:completionItemKindValue 19 .

lsp:CompletionItemKind-Function a lsp:CompletionItemKind ;
    rdfs:label "Function" ;
    lsp:completionItemKindValue 3 .

lsp:CompletionItemKind-Interface a lsp:CompletionItemKind ;
    rdfs:label "Interface" ;
    lsp:completionItemKindValue 8 .

lsp:CompletionItemKind-Keyword a lsp:CompletionItemKind ;
    rdfs:label "Keyword" ;
    lsp:completionItemKindValue 14 .

lsp:CompletionItemKind-Method a lsp:CompletionItemKind ;
    rdfs:label "Method" ;
    lsp:completionItemKindValue 2 .

lsp:CompletionItemKind-Module a lsp:CompletionItemKind ;
    rdfs:label "Module" ;
    lsp:completionItemKindValue 9 .

lsp:CompletionItemKind-Operator a lsp:CompletionItemKind ;
    rdfs:label "Operator" ;
    lsp:completionItemKindValue 24 .

lsp:CompletionItemKind-Property a lsp:CompletionItemKind ;
    rdfs:label "Property" ;
    lsp:completionItemKindValue 10 .

lsp:CompletionItemKind-Reference a lsp:CompletionItemKind ;
    rdfs:label "Reference" ;
    lsp:completionItemKindValue 18 .

lsp:CompletionItemKind-Snippet a lsp:CompletionItemKind ;
    rdfs:label "Snippet" ;
    lsp:completionItemKindValue 15 .

lsp:CompletionItemKind-Struct a lsp:CompletionItemKind ;
    rdfs:label "Struct" ;
    lsp:completionItemKindValue 22 .

lsp:CompletionItemKind-Text a lsp:CompletionItemKind ;
    rdfs:label "Text" ;
    lsp:completionItemKindValue 1 .

lsp:CompletionItemKind-TypeParameter a lsp:CompletionItemKind ;
    rdfs:label "TypeParameter" ;
    lsp:completionItemKindValue 25 .

lsp:CompletionItemKind-Unit a lsp:CompletionItemKind ;
    rdfs:label "Unit" ;
    lsp:completionItemKindValue 11 .

lsp:CompletionItemKind-Value a lsp:CompletionItemKind ;
    rdfs:label "Value" ;
    lsp:completionItemKindValue 12 .

lsp:CompletionItemKind-Variable a lsp:CompletionItemKind ;
    rdfs:label "Variable" ;
    lsp:completionItemKindValue 6 .

lsp:CompletionsRequest a owl:Class ;
    rdfs:label "CompletionsRequest" ;
    rdfs:comment "A textDocument/completion request. Returns completion suggestions at the given position. Corresponds to SyncLanguageServer.request_completions()." ;
    rdfs:subClassOf lsp:LspRequest .

lsp:DefinitionRequest a owl:Class ;
    rdfs:label "DefinitionRequest" ;
    rdfs:comment "A textDocument/definition request. Returns the location(s) where the symbol at the given position is defined. Resolves imports and cross-file references. Corresponds to SyncLanguageServer.request_definition()." ;
    rdfs:subClassOf lsp:LspRequest .

lsp:DocumentSymbolsRequest a owl:Class ;
    rdfs:label "DocumentSymbolsRequest" ;
    rdfs:comment "A textDocument/documentSymbol request. Returns all symbols (classes, functions, variables, imports) defined in a file. Corresponds to SyncLanguageServer.request_document_symbols()." ;
    rdfs:subClassOf lsp:LspRequest .

lsp:HoverRequest a owl:Class ;
    rdfs:label "HoverRequest" ;
    rdfs:comment "A textDocument/hover request. Returns type signature and documentation for the symbol at the given position. Corresponds to SyncLanguageServer.request_hover()." ;
    rdfs:subClassOf lsp:LspRequest .

lsp:MarkupKind-Markdown a lsp:MarkupKind ;
    rdfs:label "Markdown" ;
    lsp:markupKindValue "markdown" .

lsp:MarkupKind-PlainText a lsp:MarkupKind ;
    rdfs:label "PlainText" ;
    lsp:markupKindValue "plaintext" .

lsp:ReferencesRequest a owl:Class ;
    rdfs:label "ReferencesRequest" ;
    rdfs:comment "A textDocument/references request. Returns all locations in the workspace that reference the symbol at the given position. Corresponds to SyncLanguageServer.request_references()." ;
    rdfs:subClassOf lsp:LspRequest .

lsp:SymbolKind-Array a lsp:SymbolKind ;
    rdfs:label "Array" ;
    lsp:symbolKindValue 18 .

lsp:SymbolKind-Boolean a lsp:SymbolKind ;
    rdfs:label "Boolean" ;
    lsp:symbolKindValue 17 .

lsp:SymbolKind-Class a lsp:SymbolKind ;
    rdfs:label "Class" ;
    rdfs:subClassOf sem:Declaration,
        sem:Type ;
    lsp:symbolKindValue 5 .

lsp:SymbolKind-Constant a lsp:SymbolKind ;
    rdfs:label "Constant" ;
    rdfs:subClassOf sem:Declaration ;
    lsp:symbolKindValue 14 .

lsp:SymbolKind-Constructor a lsp:SymbolKind ;
    rdfs:label "Constructor" ;
    rdfs:subClassOf sem:Declaration ;
    lsp:symbolKindValue 9 .

lsp:SymbolKind-Enum a lsp:SymbolKind ;
    rdfs:label "Enum" ;
    rdfs:subClassOf sem:Declaration,
        sem:Type ;
    lsp:symbolKindValue 10 .

lsp:SymbolKind-EnumMember a lsp:SymbolKind ;
    rdfs:label "EnumMember" ;
    lsp:symbolKindValue 22 .

lsp:SymbolKind-Event a lsp:SymbolKind ;
    rdfs:label "Event" ;
    lsp:symbolKindValue 24 .

lsp:SymbolKind-Field a lsp:SymbolKind ;
    rdfs:label "Field" ;
    rdfs:subClassOf sem:Declaration ;
    lsp:symbolKindValue 8 .

lsp:SymbolKind-File a lsp:SymbolKind ;
    rdfs:label "File" ;
    lsp:symbolKindValue 1 .

lsp:SymbolKind-Function a lsp:SymbolKind ;
    rdfs:label "Function" ;
    rdfs:subClassOf sem:Declaration ;
    lsp:symbolKindValue 12 .

lsp:SymbolKind-Interface a lsp:SymbolKind ;
    rdfs:label "Interface" ;
    rdfs:subClassOf sem:Declaration,
        sem:Type ;
    lsp:symbolKindValue 11 .

lsp:SymbolKind-Key a lsp:SymbolKind ;
    rdfs:label "Key" ;
    lsp:symbolKindValue 20 .

lsp:SymbolKind-Method a lsp:SymbolKind ;
    rdfs:label "Method" ;
    rdfs:subClassOf sem:Declaration ;
    lsp:symbolKindValue 6 .

lsp:SymbolKind-Module a lsp:SymbolKind ;
    rdfs:label "Module" ;
    lsp:symbolKindValue 2 .

lsp:SymbolKind-Namespace a lsp:SymbolKind ;
    rdfs:label "Namespace" ;
    lsp:symbolKindValue 3 .

lsp:SymbolKind-Null a lsp:SymbolKind ;
    rdfs:label "Null" ;
    lsp:symbolKindValue 21 .

lsp:SymbolKind-Number a lsp:SymbolKind ;
    rdfs:label "Number" ;
    lsp:symbolKindValue 16 .

lsp:SymbolKind-Object a lsp:SymbolKind ;
    rdfs:label "Object" ;
    lsp:symbolKindValue 19 .

lsp:SymbolKind-Operator a lsp:SymbolKind ;
    rdfs:label "Operator" ;
    lsp:symbolKindValue 25 .

lsp:SymbolKind-Package a lsp:SymbolKind ;
    rdfs:label "Package" ;
    lsp:symbolKindValue 4 .

lsp:SymbolKind-Property a lsp:SymbolKind ;
    rdfs:label "Property" ;
    rdfs:subClassOf sem:Declaration ;
    lsp:symbolKindValue 7 .

lsp:SymbolKind-String a lsp:SymbolKind ;
    rdfs:label "String" ;
    lsp:symbolKindValue 15 .

lsp:SymbolKind-Struct a lsp:SymbolKind ;
    rdfs:label "Struct" ;
    rdfs:subClassOf sem:Declaration,
        sem:Type ;
    lsp:symbolKindValue 23 .

lsp:SymbolKind-TypeParameter a lsp:SymbolKind ;
    rdfs:label "TypeParameter" ;
    lsp:symbolKindValue 26 .

lsp:SymbolKind-Variable a lsp:SymbolKind ;
    rdfs:label "Variable" ;
    rdfs:subClassOf sem:Declaration ;
    lsp:symbolKindValue 13 .

lsp:SymbolTag-Deprecated a lsp:SymbolTag ;
    rdfs:label "Deprecated" ;
    lsp:symbolTagValue 1 .

lsp:WorkspaceSymbolRequest a owl:Class ;
    rdfs:label "WorkspaceSymbolRequest" ;
    rdfs:comment "A workspace/symbol request. Searches for symbols matching a query string across the entire repository. Corresponds to SyncLanguageServer.request_workspace_symbol()." ;
    rdfs:subClassOf lsp:LspRequest .

lsp:absolutePath a owl:DatatypeProperty ;
    rdfs:label "absolutePath" ;
    rdfs:comment "Absolute filesystem path to the file. (multilspy addition, not in LSP spec.)" ;
    rdfs:domain lsp:Location ;
    rdfs:range xsd:string .

lsp:character a owl:DatatypeProperty ;
    rdfs:label "character" ;
    rdfs:comment "Zero-based character offset on the line." ;
    rdfs:domain lsp:Position ;
    rdfs:range xsd:nonNegativeInteger .

lsp:completionDetail a owl:DatatypeProperty ;
    rdfs:label "completionDetail" ;
    rdfs:comment "A human-readable string with additional information about this item, such as type or symbol information. Optional. Note: serialised as 'detail' in the TypedDict." ;
    rdfs:domain lsp:CompletionItem ;
    rdfs:range xsd:string .

lsp:completionItemKindValue a owl:DatatypeProperty ;
    rdfs:label "completionItemKindValue" ;
    rdfs:comment "The integer value of the CompletionItemKind as defined in the LSP spec." ;
    rdfs:domain lsp:CompletionItemKind ;
    rdfs:range xsd:integer .

lsp:completionKind a owl:ObjectProperty ;
    rdfs:label "completionKind" ;
    rdfs:comment "The kind of completion item (method, function, class, variable, etc.). Note: serialised as 'kind' in the TypedDict." ;
    rdfs:domain lsp:CompletionItem ;
    rdfs:range lsp:CompletionItemKind .

lsp:completionText a owl:DatatypeProperty ;
    rdfs:label "completionText" ;
    rdfs:comment "The text to insert when this completion is selected. (multilspy field name; LSP spec uses 'label'.)" ;
    rdfs:domain lsp:CompletionItem ;
    rdfs:range xsd:string .

lsp:containerName a owl:DatatypeProperty ;
    rdfs:label "containerName" ;
    rdfs:comment "The name of the symbol containing this symbol, for display purposes. Optional." ;
    rdfs:domain lsp:UnifiedSymbolInformation ;
    rdfs:range xsd:string .

lsp:contents a owl:ObjectProperty ;
    rdfs:label "contents" ;
    rdfs:comment "The hover contents. May be MarkupContent, a MarkedString, or a list of MarkedStrings (the latter two are deprecated LSP formats)." ;
    rdfs:domain lsp:Hover ;
    rdfs:range lsp:MarkupContent .

lsp:deprecated a owl:DatatypeProperty ;
    rdfs:label "deprecated" ;
    rdfs:comment "Whether this symbol is deprecated. Optional. @deprecated in LSP: use tags instead." ;
    rdfs:domain lsp:UnifiedSymbolInformation ;
    rdfs:range xsd:boolean .

lsp:detail a owl:DatatypeProperty ;
    rdfs:label "detail" ;
    rdfs:comment "Additional detail for the symbol, e.g. the signature of a function. Optional." ;
    rdfs:domain lsp:UnifiedSymbolInformation ;
    rdfs:range xsd:string .

lsp:end a owl:ObjectProperty ;
    rdfs:label "end" ;
    rdfs:comment "The end position of the range (exclusive)." ;
    rdfs:domain lsp:Range ;
    rdfs:range lsp:Position .

lsp:hoverRange a owl:ObjectProperty ;
    rdfs:label "hoverRange" ;
    rdfs:comment "An optional range in the document that is used to visualise the hover. Note: serialised as 'range' in the TypedDict." ;
    rdfs:domain lsp:Hover ;
    rdfs:range lsp:Range .

lsp:kind a owl:ObjectProperty ;
    rdfs:label "kind" ;
    rdfs:comment "The kind of this symbol (class, method, function, variable, etc.)." ;
    rdfs:domain lsp:UnifiedSymbolInformation ;
    rdfs:range lsp:SymbolKind .

lsp:line a owl:DatatypeProperty ;
    rdfs:label "line" ;
    rdfs:comment "Zero-based line number in the document." ;
    rdfs:domain lsp:Position ;
    rdfs:range xsd:nonNegativeInteger .

lsp:location a owl:ObjectProperty ;
    rdfs:label "location" ;
    rdfs:comment "The location of this symbol. Optional (present for flat symbol info, absent for hierarchical document symbols)." ;
    rdfs:domain lsp:UnifiedSymbolInformation ;
    rdfs:range lsp:Location .

lsp:markedStringLanguage a owl:DatatypeProperty ;
    rdfs:label "markedStringLanguage" ;
    rdfs:comment "The language identifier for the code block (e.g. 'python', 'typescript'). Only present when MarkedString is in code-block form, not plain string form. Note: serialised as 'language' in the TypedDict." ;
    rdfs:domain lsp:MarkedString ;
    rdfs:range xsd:string .

lsp:markedStringValue a owl:DatatypeProperty ;
    rdfs:label "markedStringValue" ;
    rdfs:comment "The content of the MarkedString - either the full plain string, or the code snippet when in code-block form. Note: serialised as 'value' in the TypedDict." ;
    rdfs:domain lsp:MarkedString ;
    rdfs:range xsd:string .

lsp:markupKind a owl:ObjectProperty ;
    rdfs:label "markupKind" ;
    rdfs:comment "The type of markup (plaintext or markdown). Note: serialised as 'kind' in the TypedDict." ;
    rdfs:domain lsp:MarkupContent ;
    rdfs:range lsp:MarkupKind .

lsp:markupKindValue a owl:DatatypeProperty ;
    rdfs:label "markupKindValue" ;
    rdfs:comment "The string value of the MarkupKind ('plaintext' or 'markdown')." ;
    rdfs:domain lsp:MarkupKind ;
    rdfs:range xsd:string .

lsp:name a owl:DatatypeProperty ;
    rdfs:label "name" ;
    rdfs:comment "The name of the symbol." ;
    rdfs:domain lsp:UnifiedSymbolInformation ;
    rdfs:range xsd:string .

lsp:range a owl:ObjectProperty ;
    rdfs:label "range" ;
    rdfs:comment "The range within the document. (LSP spec field.)" ;
    rdfs:domain lsp:Location ;
    rdfs:range lsp:Range .

lsp:relativePath a owl:DatatypeProperty ;
    rdfs:label "relativePath" ;
    rdfs:comment "Path relative to the repository root. Null if the location is outside the repository (e.g. stdlib or third-party). (multilspy addition, not in LSP spec.)" ;
    rdfs:domain lsp:Location ;
    rdfs:range xsd:string .

lsp:requestCharacter a owl:DatatypeProperty ;
    rdfs:label "requestCharacter" ;
    rdfs:comment "Zero-based character offset of the query position." ;
    rdfs:domain lsp:LspRequest ;
    rdfs:range xsd:nonNegativeInteger .

lsp:requestFile a owl:DatatypeProperty ;
    rdfs:label "requestFile" ;
    rdfs:comment "Relative path to the file being queried (from repository root)." ;
    rdfs:domain lsp:LspRequest ;
    rdfs:range xsd:string .

lsp:requestLine a owl:DatatypeProperty ;
    rdfs:label "requestLine" ;
    rdfs:comment "Zero-based line number of the query position." ;
    rdfs:domain lsp:LspRequest ;
    rdfs:range xsd:nonNegativeInteger .

lsp:selectionRange a owl:ObjectProperty ;
    rdfs:label "selectionRange" ;
    rdfs:comment "The range that should be selected when this symbol is picked, e.g. the name span of a function definition. Present for hierarchical document symbols." ;
    rdfs:domain lsp:UnifiedSymbolInformation ;
    rdfs:range lsp:Range .

lsp:start a owl:ObjectProperty ;
    rdfs:label "start" ;
    rdfs:comment "The start position of the range (inclusive)." ;
    rdfs:domain lsp:Range ;
    rdfs:range lsp:Position .

lsp:symbolKindValue a owl:DatatypeProperty ;
    rdfs:label "symbolKindValue" ;
    rdfs:comment "The integer value of the SymbolKind as defined in the LSP spec." ;
    rdfs:domain lsp:SymbolKind ;
    rdfs:range xsd:integer .

lsp:symbolRange a owl:ObjectProperty ;
    rdfs:label "symbolRange" ;
    rdfs:comment "The range enclosing this symbol including comments. Present for hierarchical document symbols. Note: serialised as 'range' in the TypedDict." ;
    rdfs:domain lsp:UnifiedSymbolInformation ;
    rdfs:range lsp:Range .

lsp:symbolTagValue a owl:DatatypeProperty ;
    rdfs:label "symbolTagValue" ;
    rdfs:comment "The integer value of the SymbolTag as defined in the LSP spec." ;
    rdfs:domain lsp:SymbolTag ;
    rdfs:range xsd:integer .

lsp:treeChildren a owl:ObjectProperty ;
    rdfs:label "treeChildren" ;
    rdfs:comment "Child TreeRepr nodes nested under this node, representing symbols defined within the scope of the parent symbol." ;
    rdfs:domain lsp:TreeRepr ;
    rdfs:range lsp:TreeRepr .

lsp:treeNodeId a owl:DatatypeProperty ;
    rdfs:label "treeNodeId" ;
    rdfs:comment "The integer node ID key in the TreeRepr mapping. Corresponds to the index position of the symbol in the document symbols list." ;
    rdfs:domain lsp:TreeRepr ;
    rdfs:range xsd:integer .

lsp:uri a owl:DatatypeProperty ;
    rdfs:label "uri" ;
    rdfs:comment "The document URI as a file:// URI string. (LSP spec field.)" ;
    rdfs:domain lsp:Location ;
    rdfs:range xsd:anyURI .

lsp:value a owl:DatatypeProperty ;
    rdfs:label "value" ;
    rdfs:comment "The content itself." ;
    rdfs:domain lsp:MarkupContent ;
    rdfs:range xsd:string .

ast: a owl:Ontology ;
    rdfs:label "AST Core Ontology" ;
    rdfs:comment "Core ontology for tree-sitter AST nodes. Extracted by introspection from tree-sitter Python bindings." ;
    owl:versionInfo "v0.25" .

ast:childCount a owl:DatatypeProperty ;
    rdfs:label "childCount" ;
    rdfs:comment "Total number of children (named + anonymous)" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:column a owl:DatatypeProperty ;
    rdfs:label "column" ;
    rdfs:comment "Column number in source code (0-indexed)" ;
    rdfs:domain ast:Point ;
    rdfs:range xsd:nonNegativeInteger .

ast:descendantCount a owl:DatatypeProperty ;
    rdfs:label "descendantCount" ;
    rdfs:comment "Total number of descendants in subtree" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:endByte a owl:DatatypeProperty ;
    rdfs:label "endByte" ;
    rdfs:comment "Ending byte offset in source code (exclusive)" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:endColumn a owl:DatatypeProperty ;
    rdfs:label "endColumn" ;
    rdfs:comment "Ending column number in source code (0-indexed). Convenience property derived from end_point tuple." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:endPoint a owl:ObjectProperty ;
    rdfs:label "endPoint" ;
    rdfs:comment "Ending position in source code (Point object with row and column)" ;
    rdfs:domain ast:Node ;
    rdfs:range ast:Point .

ast:endRow a owl:DatatypeProperty ;
    rdfs:label "endRow" ;
    rdfs:comment "Ending row (line) number in source code (0-indexed). Convenience property derived from end_point tuple." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:grammarId a owl:DatatypeProperty ;
    rdfs:label "grammarId" ;
    rdfs:comment "Numeric ID of the grammar this node belongs to" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:integer .

ast:grammarName a owl:DatatypeProperty ;
    rdfs:label "grammarName" ;
    rdfs:comment "Name of the grammar/language (e.g., 'python', 'javascript')" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

ast:hasChanges a owl:DatatypeProperty ;
    rdfs:label "hasChanges" ;
    rdfs:comment "Whether this node changed between parses (incremental parsing)" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

ast:hasError a owl:DatatypeProperty ;
    rdfs:label "hasError" ;
    rdfs:comment "Whether this node or any descendant has an error" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

ast:id a owl:DatatypeProperty ;
    rdfs:label "id" ;
    rdfs:comment "Unique numeric identifier for this node" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:isError a owl:DatatypeProperty ;
    rdfs:label "isError" ;
    rdfs:comment "Whether this node represents a syntax error" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

ast:isExtra a owl:DatatypeProperty ;
    rdfs:label "isExtra" ;
    rdfs:comment "Whether this node is extra (e.g., comments, whitespace)" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

ast:isMissing a owl:DatatypeProperty ;
    rdfs:label "isMissing" ;
    rdfs:comment "Whether this node was inserted by error recovery" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

ast:isNamed a owl:DatatypeProperty ;
    rdfs:label "isNamed" ;
    rdfs:comment "Whether this is a named node (semantic) vs anonymous (punctuation)" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

ast:kindId a owl:DatatypeProperty ;
    rdfs:label "kindId" ;
    rdfs:comment "Numeric ID for this node kind in the language grammar" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:integer .

ast:namedChildCount a owl:DatatypeProperty ;
    rdfs:label "namedChildCount" ;
    rdfs:comment "Number of named children only" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:nextNamedSibling a owl:ObjectProperty ;
    rdfs:label "nextNamedSibling" ;
    rdfs:comment "The next named sibling node" ;
    rdfs:domain ast:Node ;
    rdfs:range ast:Node .

ast:nextParseState a owl:DatatypeProperty ;
    rdfs:label "nextParseState" ;
    rdfs:comment "The parse state after this node" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:nextSibling a owl:ObjectProperty ;
    rdfs:label "nextSibling" ;
    rdfs:comment "The next sibling node" ;
    rdfs:domain ast:Node ;
    rdfs:range ast:Node .

ast:parent a owl:ObjectProperty,
        owl:TransitiveProperty ;
    rdfs:label "parent" ;
    rdfs:comment "The parent node in the AST" ;
    rdfs:domain ast:Node ;
    rdfs:range ast:Node .

ast:parseState a owl:DatatypeProperty ;
    rdfs:label "parseState" ;
    rdfs:comment "The parse state at the start of this node" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:prevNamedSibling a owl:ObjectProperty ;
    rdfs:label "prevNamedSibling" ;
    rdfs:comment "The previous named sibling node" ;
    rdfs:domain ast:Node ;
    rdfs:range ast:Node .

ast:prevSibling a owl:ObjectProperty ;
    rdfs:label "prevSibling" ;
    rdfs:comment "The previous sibling node" ;
    rdfs:domain ast:Node ;
    rdfs:range ast:Node .

ast:row a owl:DatatypeProperty ;
    rdfs:label "row" ;
    rdfs:comment "Row (line) number in source code (0-indexed)" ;
    rdfs:domain ast:Point ;
    rdfs:range xsd:nonNegativeInteger .

ast:startByte a owl:DatatypeProperty ;
    rdfs:label "startByte" ;
    rdfs:comment "Starting byte offset in source code (0-indexed)" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:startColumn a owl:DatatypeProperty ;
    rdfs:label "startColumn" ;
    rdfs:comment "Starting column number in source code (0-indexed). Convenience property derived from start_point tuple." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:startPoint a owl:ObjectProperty ;
    rdfs:label "startPoint" ;
    rdfs:comment "Starting position in source code (Point object with row and column)" ;
    rdfs:domain ast:Node ;
    rdfs:range ast:Point .

ast:startRow a owl:DatatypeProperty ;
    rdfs:label "startRow" ;
    rdfs:comment "Starting row (line) number in source code (0-indexed). Convenience property derived from start_point tuple." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast:text a owl:DatatypeProperty ;
    rdfs:label "text" ;
    rdfs:comment "The source code text for this node" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

ast:type a owl:DatatypeProperty ;
    rdfs:label "type" ;
    rdfs:comment "The node's type as a string (e.g., 'class_definition', 'identifier')" ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

c:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

c:abstract_array_declarator a owl:Class ;
    rdfs:label "abstract_array_declarator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 239 .

c:abstract_function_declarator a owl:Class ;
    rdfs:label "abstract_function_declarator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 234 .

c:abstract_parenthesized_declarator a owl:Class ;
    rdfs:label "abstract_parenthesized_declarator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 222 .

c:abstract_pointer_declarator a owl:Class ;
    rdfs:label "abstract_pointer_declarator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 229 .

c:alignas_qualifier a owl:Class ;
    rdfs:label "alignas_qualifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 244 .

c:alignof_expression a owl:Class ;
    rdfs:label "alignof_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 295 .

c:argument a owl:DatatypeProperty ;
    rdfs:label "argument (literal)" ;
    rdfs:comment "Literal value for argument field when it contains a terminal node" ;
    c:fieldId 2 ;
    c:isTerminalField true .

c:argument_list a owl:Class ;
    rdfs:label "argument_list" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 194,
        309 .

c:array_declarator a owl:Class ;
    rdfs:label "array_declarator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 236,
        237,
        238 .

c:assignment_expression a owl:Class ;
    rdfs:label "assignment_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 287 .

c:attribute a owl:Class ;
    rdfs:label "attribute" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 206 .

c:attribute_declaration a owl:Class ;
    rdfs:label "attribute_declaration" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 207 .

c:attribute_specifier a owl:Class ;
    rdfs:label "attribute_specifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 205 .

c:attributed_declarator a owl:Class ;
    rdfs:label "attributed_declarator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 223,
        224,
        225 .

c:attributed_statement a owl:Class ;
    rdfs:label "attributed_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 261 .

c:binary_expression a owl:Class ;
    rdfs:label "binary_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 195,
        290 .

c:bitfield_clause a owl:Class ;
    rdfs:label "bitfield_clause" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 255 .

c:break_statement a owl:Class ;
    rdfs:label "break_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 276 .

c:call_expression a owl:Class ;
    rdfs:label "call_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 193,
        299 .

c:case_statement a owl:Class ;
    rdfs:label "case_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 270 .

c:cast_expression a owl:Class ;
    rdfs:label "cast_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 292 .

c:char_literal a owl:Class ;
    rdfs:label "char_literal" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 318 .

c:character a owl:Class ;
    rdfs:label "character" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 147 .

c:comma_expression a owl:Class ;
    rdfs:label "comma_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 285 .

c:comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 160 .

c:compound_literal_expression a owl:Class ;
    rdfs:label "compound_literal_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 311 .

c:compound_statement a owl:Class ;
    rdfs:label "compound_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 241 .

c:concatenated_string a owl:Class ;
    rdfs:label "concatenated_string" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 319 .

c:condition a owl:DatatypeProperty ;
    rdfs:label "condition (literal)" ;
    rdfs:comment "Literal value for condition field when it contains a terminal node" ;
    c:fieldId 7 ;
    c:isTerminalField true .

c:conditional_expression a owl:Class ;
    rdfs:label "conditional_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 286 .

c:continue_statement a owl:Class ;
    rdfs:label "continue_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 277 .

c:declaration a owl:Class ;
    rdfs:label "declaration" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 198 .

c:declaration_list a owl:Class ;
    rdfs:label "declaration_list" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 213 .

c:declarator a owl:DatatypeProperty ;
    rdfs:label "declarator (literal)" ;
    rdfs:comment "Literal value for declarator field when it contains a terminal node" ;
    c:fieldId 10 ;
    c:isTerminalField true .

c:designator a owl:DatatypeProperty ;
    rdfs:label "designator (literal)" ;
    rdfs:comment "Literal value for designator field when it contains a terminal node" ;
    c:fieldId 11 ;
    c:isTerminalField true .

c:directive a owl:DatatypeProperty ;
    rdfs:label "directive (literal)" ;
    rdfs:comment "Literal value for directive field when it contains a terminal node" ;
    c:fieldId 12 ;
    c:isTerminalField true .

c:do_statement a owl:Class ;
    rdfs:label "do_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 272 .

c:else_clause a owl:Class ;
    rdfs:label "else_clause" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 268 .

c:enum_specifier a owl:Class ;
    rdfs:label "enum_specifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 247 .

c:enumerator a owl:Class ;
    rdfs:label "enumerator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 256 .

c:enumerator_list a owl:Class ;
    rdfs:label "enumerator_list" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 248 .

c:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 154 .

c:expression_statement a owl:Class ;
    rdfs:label "expression_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 265,
        266 .

c:extension_expression a owl:Class ;
    rdfs:label "extension_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 308 .

c:false a owl:Class ;
    rdfs:label "false" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 157 .

c:field a owl:DatatypeProperty ;
    rdfs:label "field (literal)" ;
    rdfs:comment "Literal value for field field when it contains a terminal node" ;
    c:fieldId 14 ;
    c:isTerminalField true .

c:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

c:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

c:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    c:fieldId 1 .

c:field_argument a owl:ObjectProperty ;
    rdfs:label "argument (structural)" ;
    rdfs:comment "Structural reference for argument field when it contains a non-terminal node" ;
    c:fieldId 2 .

c:field_arguments a owl:ObjectProperty ;
    rdfs:label "arguments (structural)" ;
    rdfs:comment "Structural reference for arguments field when it contains a non-terminal node" ;
    c:fieldId 3 .

c:field_assembly_code a owl:ObjectProperty ;
    rdfs:label "assembly_code (structural)" ;
    rdfs:comment "Structural reference for assembly_code field when it contains a non-terminal node" ;
    c:fieldId 4 .

c:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    c:fieldId 5 .

c:field_clobbers a owl:ObjectProperty ;
    rdfs:label "clobbers (structural)" ;
    rdfs:comment "Structural reference for clobbers field when it contains a non-terminal node" ;
    c:fieldId 6 .

c:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    c:fieldId 7 .

c:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    c:fieldId 8 .

c:field_constraint a owl:ObjectProperty ;
    rdfs:label "constraint (structural)" ;
    rdfs:comment "Structural reference for constraint field when it contains a non-terminal node" ;
    c:fieldId 9 .

c:field_declaration a owl:Class ;
    rdfs:label "field_declaration" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 253 .

c:field_declaration_list a owl:Class ;
    rdfs:label "field_declaration_list" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 251 .

c:field_declarator a owl:ObjectProperty ;
    rdfs:label "declarator (structural)" ;
    rdfs:comment "Structural reference for declarator field when it contains a non-terminal node" ;
    c:fieldId 10 .

c:field_designator a owl:Class,
        owl:ObjectProperty ;
    rdfs:label "designator (structural)",
        "field_designator" ;
    rdfs:comment "Structural reference for designator field when it contains a non-terminal node" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:fieldId 11 ;
    c:isSupertype true ;
    c:nodeTypeId 317 .

c:field_end a owl:ObjectProperty ;
    rdfs:label "end (structural)" ;
    rdfs:comment "Structural reference for end field when it contains a non-terminal node" ;
    c:fieldId 13 .

c:field_expression a owl:Class ;
    rdfs:label "field_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 310 .

c:field_filter a owl:ObjectProperty ;
    rdfs:label "filter (structural)" ;
    rdfs:comment "Structural reference for filter field when it contains a non-terminal node" ;
    c:fieldId 15 .

c:field_function a owl:ObjectProperty ;
    rdfs:label "function (structural)" ;
    rdfs:comment "Structural reference for function field when it contains a non-terminal node" ;
    c:fieldId 16 .

c:field_goto_labels a owl:ObjectProperty ;
    rdfs:label "goto_labels (structural)" ;
    rdfs:comment "Structural reference for goto_labels field when it contains a non-terminal node" ;
    c:fieldId 17 .

c:field_identifier a owl:Class ;
    rdfs:label "field_identifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 360 .

c:field_index a owl:ObjectProperty ;
    rdfs:label "index (structural)" ;
    rdfs:comment "Structural reference for index field when it contains a non-terminal node" ;
    c:fieldId 18 .

c:field_initializer a owl:ObjectProperty ;
    rdfs:label "initializer (structural)" ;
    rdfs:comment "Structural reference for initializer field when it contains a non-terminal node" ;
    c:fieldId 19 .

c:field_input_operands a owl:ObjectProperty ;
    rdfs:label "input_operands (structural)" ;
    rdfs:comment "Structural reference for input_operands field when it contains a non-terminal node" ;
    c:fieldId 20 .

c:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    c:fieldId 22 .

c:field_operand a owl:ObjectProperty ;
    rdfs:label "operand (structural)" ;
    rdfs:comment "Structural reference for operand field when it contains a non-terminal node" ;
    c:fieldId 25 .

c:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    c:fieldId 26 .

c:field_output_operands a owl:ObjectProperty ;
    rdfs:label "output_operands (structural)" ;
    rdfs:comment "Structural reference for output_operands field when it contains a non-terminal node" ;
    c:fieldId 27 .

c:field_parameters a owl:ObjectProperty ;
    rdfs:label "parameters (structural)" ;
    rdfs:comment "Structural reference for parameters field when it contains a non-terminal node" ;
    c:fieldId 28 .

c:field_path a owl:ObjectProperty ;
    rdfs:label "path (structural)" ;
    rdfs:comment "Structural reference for path field when it contains a non-terminal node" ;
    c:fieldId 29 .

c:field_register a owl:ObjectProperty ;
    rdfs:label "register (structural)" ;
    rdfs:comment "Structural reference for register field when it contains a non-terminal node" ;
    c:fieldId 31 .

c:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    c:fieldId 32 .

c:field_size a owl:ObjectProperty ;
    rdfs:label "size (structural)" ;
    rdfs:comment "Structural reference for size field when it contains a non-terminal node" ;
    c:fieldId 33 .

c:field_start a owl:ObjectProperty ;
    rdfs:label "start (structural)" ;
    rdfs:comment "Structural reference for start field when it contains a non-terminal node" ;
    c:fieldId 34 .

c:field_type a owl:ObjectProperty ;
    rdfs:label "type (structural)" ;
    rdfs:comment "Structural reference for type field when it contains a non-terminal node" ;
    c:fieldId 36 .

c:field_update a owl:ObjectProperty ;
    rdfs:label "update (structural)" ;
    rdfs:comment "Structural reference for update field when it contains a non-terminal node" ;
    c:fieldId 38 .

c:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    c:fieldId 39 .

c:for_statement a owl:Class ;
    rdfs:label "for_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 273 .

c:function_declarator a owl:Class ;
    rdfs:label "function_declarator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 230,
        231,
        232,
        233,
        235 .

c:function_definition a owl:Class ;
    rdfs:label "function_definition" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 196,
        197 .

c:generic_expression a owl:Class ;
    rdfs:label "generic_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 297 .

c:gnu_asm_clobber_list a owl:Class ;
    rdfs:label "gnu_asm_clobber_list" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 306 .

c:gnu_asm_expression a owl:Class ;
    rdfs:label "gnu_asm_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 300 .

c:gnu_asm_goto_list a owl:Class ;
    rdfs:label "gnu_asm_goto_list" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 307 .

c:gnu_asm_input_operand a owl:Class ;
    rdfs:label "gnu_asm_input_operand" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 305 .

c:gnu_asm_input_operand_list a owl:Class ;
    rdfs:label "gnu_asm_input_operand_list" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 304 .

c:gnu_asm_output_operand a owl:Class ;
    rdfs:label "gnu_asm_output_operand" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 303 .

c:gnu_asm_output_operand_list a owl:Class ;
    rdfs:label "gnu_asm_output_operand_list" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 302 .

c:gnu_asm_qualifier a owl:Class ;
    rdfs:label "gnu_asm_qualifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 301 .

c:goto_statement a owl:Class ;
    rdfs:label "goto_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 278 .

c:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 1 .

c:if_statement a owl:Class ;
    rdfs:label "if_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 267 .

c:init_declarator a owl:Class ;
    rdfs:label "init_declarator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 240 .

c:initializer_list a owl:Class ;
    rdfs:label "initializer_list" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 313 .

c:initializer_pair a owl:Class ;
    rdfs:label "initializer_pair" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 314 .

c:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

c:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

c:label a owl:DatatypeProperty ;
    rdfs:label "label (literal)" ;
    rdfs:comment "Literal value for label field when it contains a terminal node" ;
    c:fieldId 21 ;
    c:isTerminalField true .

c:labeled_statement a owl:Class ;
    rdfs:label "labeled_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 264 .

c:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

c:left a owl:DatatypeProperty ;
    rdfs:label "left (literal)" ;
    rdfs:comment "Literal value for left field when it contains a terminal node" ;
    c:fieldId 22 ;
    c:isTerminalField true .

c:linkage_specification a owl:Class ;
    rdfs:label "linkage_specification" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 204 .

c:macro_type_specifier a owl:Class ;
    rdfs:label "macro_type_specifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 323 .

c:member a owl:DatatypeProperty ;
    rdfs:label "member (literal)" ;
    rdfs:comment "Literal value for member field when it contains a terminal node" ;
    c:fieldId 23 ;
    c:isTerminalField true .

c:ms_based_modifier a owl:Class ;
    rdfs:label "ms_based_modifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 209 .

c:ms_call_modifier a owl:Class ;
    rdfs:label "ms_call_modifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 210 .

c:ms_declspec_modifier a owl:Class ;
    rdfs:label "ms_declspec_modifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 208 .

c:ms_pointer_modifier a owl:Class ;
    rdfs:label "ms_pointer_modifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 212 .

c:ms_restrict_modifier a owl:Class ;
    rdfs:label "ms_restrict_modifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 59 .

c:ms_signed_ptr_modifier a owl:Class ;
    rdfs:label "ms_signed_ptr_modifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 61 .

c:ms_unaligned_ptr_modifier a owl:Class ;
    rdfs:label "ms_unaligned_ptr_modifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 211 .

c:ms_unsigned_ptr_modifier a owl:Class ;
    rdfs:label "ms_unsigned_ptr_modifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 60 .

c:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    c:fieldId 24 ;
    c:isTerminalField true .

c:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

c:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

c:null a owl:Class ;
    rdfs:label "null" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 321 .

c:number_literal a owl:Class ;
    rdfs:label "number_literal" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 141 .

c:offsetof_expression a owl:Class ;
    rdfs:label "offsetof_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 296 .

c:parameter_declaration a owl:Class ;
    rdfs:label "parameter_declaration" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 260 .

c:parameter_list a owl:Class ;
    rdfs:label "parameter_list" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 258,
        259 .

c:parenthesized_declarator a owl:Class ;
    rdfs:label "parenthesized_declarator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 219,
        220,
        221 .

c:parenthesized_expression a owl:Class ;
    rdfs:label "parenthesized_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 190,
        312 .

c:path a owl:DatatypeProperty ;
    rdfs:label "path (literal)" ;
    rdfs:comment "Literal value for path field when it contains a terminal node" ;
    c:fieldId 29 ;
    c:isTerminalField true .

c:pointer_declarator a owl:Class ;
    rdfs:label "pointer_declarator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 226,
        227,
        228 .

c:pointer_expression a owl:Class ;
    rdfs:label "pointer_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 288 .

c:prefix a owl:DatatypeProperty ;
    rdfs:label "prefix (literal)" ;
    rdfs:comment "Literal value for prefix field when it contains a terminal node" ;
    c:fieldId 30 ;
    c:isTerminalField true .

c:preproc_arg a owl:Class ;
    rdfs:label "preproc_arg" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 18 .

c:preproc_call a owl:Class ;
    rdfs:label "preproc_call" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 168 .

c:preproc_def a owl:Class ;
    rdfs:label "preproc_def" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 165 .

c:preproc_defined a owl:Class ;
    rdfs:label "preproc_defined" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 191 .

c:preproc_directive a owl:Class ;
    rdfs:label "preproc_directive" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 19 .

c:preproc_elif a owl:Class ;
    rdfs:label "preproc_elif" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 172,
        177,
        182,
        187 .

c:preproc_elifdef a owl:Class ;
    rdfs:label "preproc_elifdef" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 173,
        178,
        183,
        188 .

c:preproc_else a owl:Class ;
    rdfs:label "preproc_else" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 171,
        176,
        181,
        186 .

c:preproc_function_def a owl:Class ;
    rdfs:label "preproc_function_def" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 166 .

c:preproc_if a owl:Class ;
    rdfs:label "preproc_if" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 169,
        174,
        179,
        184 .

c:preproc_ifdef a owl:Class ;
    rdfs:label "preproc_ifdef" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 170,
        175,
        180,
        185 .

c:preproc_include a owl:Class ;
    rdfs:label "preproc_include" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 164 .

c:preproc_params a owl:Class ;
    rdfs:label "preproc_params" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 167 .

c:primitive_type a owl:Class ;
    rdfs:label "primitive_type" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 93 .

c:return_statement a owl:Class ;
    rdfs:label "return_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 275 .

c:seh_except_clause a owl:Class ;
    rdfs:label "seh_except_clause" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 280 .

c:seh_finally_clause a owl:Class ;
    rdfs:label "seh_finally_clause" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 281 .

c:seh_leave_statement a owl:Class ;
    rdfs:label "seh_leave_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 282 .

c:seh_try_statement a owl:Class ;
    rdfs:label "seh_try_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 279 .

c:sized_type_specifier a owl:Class ;
    rdfs:label "sized_type_specifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 246 .

c:sizeof_expression a owl:Class ;
    rdfs:label "sizeof_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 294 .

c:statement_identifier a owl:Class ;
    rdfs:label "statement_identifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 361 .

c:storage_class_specifier a owl:Class ;
    rdfs:label "storage_class_specifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 242 .

c:string_content a owl:Class ;
    rdfs:label "string_content" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 153 .

c:string_literal a owl:Class ;
    rdfs:label "string_literal" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 320 .

c:struct_specifier a owl:Class ;
    rdfs:label "struct_specifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 249 .

c:subscript_designator a owl:Class ;
    rdfs:label "subscript_designator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 315 .

c:subscript_expression a owl:Class ;
    rdfs:label "subscript_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 298 .

c:subscript_range_designator a owl:Class ;
    rdfs:label "subscript_range_designator" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 316 .

c:switch_statement a owl:Class ;
    rdfs:label "switch_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 269 .

c:symbol a owl:DatatypeProperty ;
    rdfs:label "symbol (literal)" ;
    rdfs:comment "Literal value for symbol field when it contains a terminal node" ;
    c:fieldId 35 ;
    c:isTerminalField true .

c:system_lib_string a owl:Class ;
    rdfs:label "system_lib_string" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 155 .

c:translation_unit a owl:Class ;
    rdfs:label "translation_unit" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 161 .

c:true a owl:Class ;
    rdfs:label "true" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 156 .

c:type a owl:DatatypeProperty ;
    rdfs:label "type (literal)" ;
    rdfs:comment "Literal value for type field when it contains a terminal node" ;
    c:fieldId 36 ;
    c:isTerminalField true .

c:type_definition a owl:Class ;
    rdfs:label "type_definition" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 199 .

c:type_descriptor a owl:Class ;
    rdfs:label "type_descriptor" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 293 .

c:type_identifier a owl:Class ;
    rdfs:label "type_identifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 362 .

c:type_qualifier a owl:Class ;
    rdfs:label "type_qualifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 243 .

c:unary_expression a owl:Class ;
    rdfs:label "unary_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 192,
        289 .

c:underlying_type a owl:DatatypeProperty ;
    rdfs:label "underlying_type (literal)" ;
    rdfs:comment "Literal value for underlying_type field when it contains a terminal node" ;
    c:fieldId 37 ;
    c:isTerminalField true .

c:union_specifier a owl:Class ;
    rdfs:label "union_specifier" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 250 .

c:update_expression a owl:Class ;
    rdfs:label "update_expression" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 291 .

c:value a owl:DatatypeProperty ;
    rdfs:label "value (literal)" ;
    rdfs:comment "Literal value for value field when it contains a terminal node" ;
    c:fieldId 39 ;
    c:isTerminalField true .

c:variadic_parameter a owl:Class ;
    rdfs:label "variadic_parameter" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 257 .

c:while_statement a owl:Class ;
    rdfs:label "while_statement" ;
    rdfs:isDefinedBy c: ;
    rdfs:subClassOf ast:Node ;
    c:isSupertype true ;
    c:nodeTypeId 271 .

cpp:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

cpp:abstract_array_declarator a owl:Class ;
    rdfs:label "abstract_array_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 299 .

cpp:abstract_function_declarator a owl:Class ;
    rdfs:label "abstract_function_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 295 .

cpp:abstract_parenthesized_declarator a owl:Class ;
    rdfs:label "abstract_parenthesized_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 284 .

cpp:abstract_pointer_declarator a owl:Class ;
    rdfs:label "abstract_pointer_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 291 .

cpp:abstract_reference_declarator a owl:Class ;
    rdfs:label "abstract_reference_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 430 .

cpp:access_specifier a owl:Class ;
    rdfs:label "access_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 426 .

cpp:alias_declaration a owl:Class ;
    rdfs:label "alias_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 450 .

cpp:alignas_qualifier a owl:Class ;
    rdfs:label "alignas_qualifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 304 .

cpp:alignof_expression a owl:Class ;
    rdfs:label "alignof_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 352 .

cpp:annotation a owl:Class ;
    rdfs:label "annotation" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 383 .

cpp:argument a owl:DatatypeProperty ;
    rdfs:label "argument (literal)" ;
    rdfs:comment "Literal value for argument field when it contains a terminal node" ;
    cpp:fieldId 2 ;
    cpp:isTerminalField true .

cpp:argument_list a owl:Class ;
    rdfs:label "argument_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 258,
        366 .

cpp:array_declarator a owl:Class ;
    rdfs:label "array_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 296,
        297,
        298 .

cpp:assignment_expression a owl:Class ;
    rdfs:label "assignment_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 344,
        506 .

cpp:attribute a owl:Class ;
    rdfs:label "attribute" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 269 .

cpp:attribute_declaration a owl:Class ;
    rdfs:label "attribute_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 270 .

cpp:attribute_specifier a owl:Class ;
    rdfs:label "attribute_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 268 .

cpp:attributed_declarator a owl:Class ;
    rdfs:label "attributed_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 285,
        286,
        287 .

cpp:attributed_statement a owl:Class ;
    rdfs:label "attributed_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 318 .

cpp:auto a owl:Class ;
    rdfs:label "auto" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 180 .

cpp:base a owl:DatatypeProperty ;
    rdfs:label "base (literal)" ;
    rdfs:comment "Literal value for base field when it contains a terminal node" ;
    cpp:fieldId 5 ;
    cpp:isTerminalField true .

cpp:base_class_clause a owl:Class ;
    rdfs:label "base_class_clause" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:ExtendsClause ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 390 .

cpp:binary_expression a owl:Class ;
    rdfs:label "binary_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 259,
        347 .

cpp:bitfield_clause a owl:Class ;
    rdfs:label "bitfield_clause" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 314 .

cpp:break_statement a owl:Class ;
    rdfs:label "break_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 333 .

cpp:call_expression a owl:Class ;
    rdfs:label "call_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 257,
        356 .

cpp:case_statement a owl:Class ;
    rdfs:label "case_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 327 .

cpp:cast_expression a owl:Class ;
    rdfs:label "cast_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 349 .

cpp:catch_clause a owl:Class ;
    rdfs:label "catch_clause" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 463 .

cpp:char_literal a owl:Class ;
    rdfs:label "char_literal" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 375 .

cpp:character a owl:Class ;
    rdfs:label "character" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 166 .

cpp:class_specifier a owl:Class ;
    rdfs:label "class_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 386 .

cpp:co_await_expression a owl:Class ;
    rdfs:label "co_await_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 466 .

cpp:co_return_statement a owl:Class ;
    rdfs:label "co_return_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:ReturnStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 459 .

cpp:co_yield_statement a owl:Class ;
    rdfs:label "co_yield_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:YieldStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 460 .

cpp:comma_expression a owl:Class ;
    rdfs:label "comma_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 342 .

cpp:comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 179 .

cpp:compound_literal_expression a owl:Class ;
    rdfs:label "compound_literal_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 368 .

cpp:compound_requirement a owl:Class ;
    rdfs:label "compound_requirement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 471 .

cpp:compound_statement a owl:Class ;
    rdfs:label "compound_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 301 .

cpp:concatenated_string a owl:Class ;
    rdfs:label "concatenated_string" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 376 .

cpp:concept_definition a owl:Class ;
    rdfs:label "concept_definition" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 453 .

cpp:condition a owl:DatatypeProperty ;
    rdfs:label "condition (literal)" ;
    rdfs:comment "Literal value for condition field when it contains a terminal node" ;
    cpp:fieldId 9 ;
    cpp:isTerminalField true .

cpp:condition_clause a owl:Class ;
    rdfs:label "condition_clause" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 457 .

cpp:conditional_expression a owl:Class ;
    rdfs:label "conditional_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 343 .

cpp:consteval_block_declaration a owl:Class ;
    rdfs:label "consteval_block_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 452 .

cpp:constraint a owl:DatatypeProperty ;
    rdfs:label "constraint (literal)" ;
    rdfs:comment "Literal value for constraint field when it contains a terminal node" ;
    cpp:fieldId 11 ;
    cpp:isTerminalField true .

cpp:constraint_conjunction a owl:Class ;
    rdfs:label "constraint_conjunction" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 474 .

cpp:constraint_disjunction a owl:Class ;
    rdfs:label "constraint_disjunction" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 475 .

cpp:continue_statement a owl:Class ;
    rdfs:label "continue_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:ContinueStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 334 .

cpp:declaration a owl:Class ;
    rdfs:label "declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 261,
        418,
        421,
        458 .

cpp:declaration_list a owl:Class ;
    rdfs:label "declaration_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 276 .

cpp:declarator a owl:DatatypeProperty ;
    rdfs:label "declarator (literal)" ;
    rdfs:comment "Literal value for declarator field when it contains a terminal node" ;
    cpp:fieldId 12 ;
    cpp:isTerminalField true .

cpp:decltype a owl:Class ;
    rdfs:label "decltype" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 381,
        382 .

cpp:default_method_clause a owl:Class ;
    rdfs:label "default_method_clause" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 422 .

cpp:delete_expression a owl:Class ;
    rdfs:label "delete_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 469 .

cpp:delete_method_clause a owl:Class ;
    rdfs:label "delete_method_clause" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 423 .

cpp:delimiter a owl:DatatypeProperty ;
    rdfs:label "delimiter (literal)" ;
    rdfs:comment "Literal value for delimiter field when it contains a terminal node" ;
    cpp:fieldId 15 ;
    cpp:isTerminalField true .

cpp:dependent_name a owl:Class ;
    rdfs:label "dependent_name" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 498,
        499,
        500 .

cpp:dependent_type a owl:Class ;
    rdfs:label "dependent_type" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 392 .

cpp:designator a owl:DatatypeProperty ;
    rdfs:label "designator (literal)" ;
    rdfs:comment "Literal value for designator field when it contains a terminal node" ;
    cpp:fieldId 16 ;
    cpp:isTerminalField true .

cpp:destructor_name a owl:Class ;
    rdfs:label "destructor_name" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 497 .

cpp:directive a owl:DatatypeProperty ;
    rdfs:label "directive (literal)" ;
    rdfs:comment "Literal value for directive field when it contains a terminal node" ;
    cpp:fieldId 17 ;
    cpp:isTerminalField true .

cpp:do_statement a owl:Class ;
    rdfs:label "do_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 329 .

cpp:else_clause a owl:Class ;
    rdfs:label "else_clause" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 325 .

cpp:enum_specifier a owl:Class ;
    rdfs:label "enum_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 307 .

cpp:enumerator a owl:Class ;
    rdfs:label "enumerator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 315 .

cpp:enumerator_list a owl:Class ;
    rdfs:label "enumerator_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 308 .

cpp:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 173 .

cpp:expansion_statement a owl:Class ;
    rdfs:label "expansion_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 512 .

cpp:explicit_function_specifier a owl:Class ;
    rdfs:label "explicit_function_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 389 .

cpp:explicit_object_parameter_declaration a owl:Class ;
    rdfs:label "explicit_object_parameter_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 407 .

cpp:export_declaration a owl:Class ;
    rdfs:label "export_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 396 .

cpp:expression_statement a owl:Class ;
    rdfs:label "expression_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 322,
        323 .

cpp:extension_expression a owl:Class ;
    rdfs:label "extension_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 365 .

cpp:false a owl:Class ;
    rdfs:label "false" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 176 .

cpp:field a owl:DatatypeProperty ;
    rdfs:label "field (literal)" ;
    rdfs:comment "Literal value for field field when it contains a terminal node" ;
    cpp:fieldId 19 ;
    cpp:isTerminalField true .

cpp:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

cpp:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

cpp:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    cpp:fieldId 1 .

cpp:field_argument a owl:ObjectProperty ;
    rdfs:label "argument (structural)" ;
    rdfs:comment "Structural reference for argument field when it contains a non-terminal node" ;
    cpp:fieldId 2 .

cpp:field_arguments a owl:ObjectProperty ;
    rdfs:label "arguments (structural)" ;
    rdfs:comment "Structural reference for arguments field when it contains a non-terminal node" ;
    cpp:fieldId 3 .

cpp:field_assembly_code a owl:ObjectProperty ;
    rdfs:label "assembly_code (structural)" ;
    rdfs:comment "Structural reference for assembly_code field when it contains a non-terminal node" ;
    cpp:fieldId 4 .

cpp:field_base a owl:ObjectProperty ;
    rdfs:label "base (structural)" ;
    rdfs:comment "Structural reference for base field when it contains a non-terminal node" ;
    cpp:fieldId 5 .

cpp:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    cpp:fieldId 6 .

cpp:field_captures a owl:ObjectProperty ;
    rdfs:label "captures (structural)" ;
    rdfs:comment "Structural reference for captures field when it contains a non-terminal node" ;
    cpp:fieldId 7 .

cpp:field_clobbers a owl:ObjectProperty ;
    rdfs:label "clobbers (structural)" ;
    rdfs:comment "Structural reference for clobbers field when it contains a non-terminal node" ;
    cpp:fieldId 8 .

cpp:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    cpp:fieldId 9 .

cpp:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    cpp:fieldId 10 .

cpp:field_constraint a owl:ObjectProperty ;
    rdfs:label "constraint (structural)" ;
    rdfs:comment "Structural reference for constraint field when it contains a non-terminal node" ;
    cpp:fieldId 11 .

cpp:field_declaration a owl:Class ;
    rdfs:label "field_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 313 .

cpp:field_declaration_list a owl:Class ;
    rdfs:label "field_declaration_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 311 .

cpp:field_declarator a owl:ObjectProperty ;
    rdfs:label "declarator (structural)" ;
    rdfs:comment "Structural reference for declarator field when it contains a non-terminal node" ;
    cpp:fieldId 12 .

cpp:field_default_type a owl:ObjectProperty ;
    rdfs:label "default_type (structural)" ;
    rdfs:comment "Structural reference for default_type field when it contains a non-terminal node" ;
    cpp:fieldId 13 .

cpp:field_default_value a owl:ObjectProperty ;
    rdfs:label "default_value (structural)" ;
    rdfs:comment "Structural reference for default_value field when it contains a non-terminal node" ;
    cpp:fieldId 14 .

cpp:field_designator a owl:Class,
        owl:ObjectProperty ;
    rdfs:label "designator (structural)",
        "field_designator" ;
    rdfs:comment "Structural reference for designator field when it contains a non-terminal node" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:fieldId 16 ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 374 .

cpp:field_end a owl:ObjectProperty ;
    rdfs:label "end (structural)" ;
    rdfs:comment "Structural reference for end field when it contains a non-terminal node" ;
    cpp:fieldId 18 .

cpp:field_expression a owl:Class ;
    rdfs:label "field_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 367 .

cpp:field_field a owl:ObjectProperty ;
    rdfs:label "field (structural)" ;
    rdfs:comment "Structural reference for field field when it contains a non-terminal node" ;
    cpp:fieldId 19 .

cpp:field_filter a owl:ObjectProperty ;
    rdfs:label "filter (structural)" ;
    rdfs:comment "Structural reference for filter field when it contains a non-terminal node" ;
    cpp:fieldId 20 .

cpp:field_function a owl:ObjectProperty ;
    rdfs:label "function (structural)" ;
    rdfs:comment "Structural reference for function field when it contains a non-terminal node" ;
    cpp:fieldId 21 .

cpp:field_goto_labels a owl:ObjectProperty ;
    rdfs:label "goto_labels (structural)" ;
    rdfs:comment "Structural reference for goto_labels field when it contains a non-terminal node" ;
    cpp:fieldId 22 .

cpp:field_header a owl:ObjectProperty ;
    rdfs:label "header (structural)" ;
    rdfs:comment "Structural reference for header field when it contains a non-terminal node" ;
    cpp:fieldId 23 .

cpp:field_identifier a owl:Class ;
    rdfs:label "field_identifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 565 .

cpp:field_indices a owl:ObjectProperty ;
    rdfs:label "indices (structural)" ;
    rdfs:comment "Structural reference for indices field when it contains a non-terminal node" ;
    cpp:fieldId 24 .

cpp:field_initializer a owl:Class,
        owl:ObjectProperty ;
    rdfs:label "field_initializer",
        "initializer (structural)" ;
    rdfs:comment "Structural reference for initializer field when it contains a non-terminal node" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:fieldId 25 ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 414 .

cpp:field_initializer_list a owl:Class ;
    rdfs:label "field_initializer_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 413 .

cpp:field_input_operands a owl:ObjectProperty ;
    rdfs:label "input_operands (structural)" ;
    rdfs:comment "Structural reference for input_operands field when it contains a non-terminal node" ;
    cpp:fieldId 26 .

cpp:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    cpp:fieldId 28 .

cpp:field_length a owl:ObjectProperty ;
    rdfs:label "length (structural)" ;
    rdfs:comment "Structural reference for length field when it contains a non-terminal node" ;
    cpp:fieldId 29 .

cpp:field_message a owl:ObjectProperty ;
    rdfs:label "message (structural)" ;
    rdfs:comment "Structural reference for message field when it contains a non-terminal node" ;
    cpp:fieldId 31 .

cpp:field_name a owl:ObjectProperty ;
    rdfs:label "name (structural)" ;
    rdfs:comment "Structural reference for name field when it contains a non-terminal node" ;
    cpp:fieldId 32 .

cpp:field_operand a owl:ObjectProperty ;
    rdfs:label "operand (structural)" ;
    rdfs:comment "Structural reference for operand field when it contains a non-terminal node" ;
    cpp:fieldId 34 .

cpp:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    cpp:fieldId 35 .

cpp:field_output_operands a owl:ObjectProperty ;
    rdfs:label "output_operands (structural)" ;
    rdfs:comment "Structural reference for output_operands field when it contains a non-terminal node" ;
    cpp:fieldId 36 .

cpp:field_parameters a owl:ObjectProperty ;
    rdfs:label "parameters (structural)" ;
    rdfs:comment "Structural reference for parameters field when it contains a non-terminal node" ;
    cpp:fieldId 37 .

cpp:field_partition a owl:ObjectProperty ;
    rdfs:label "partition (structural)" ;
    rdfs:comment "Structural reference for partition field when it contains a non-terminal node" ;
    cpp:fieldId 38 .

cpp:field_path a owl:ObjectProperty ;
    rdfs:label "path (structural)" ;
    rdfs:comment "Structural reference for path field when it contains a non-terminal node" ;
    cpp:fieldId 39 .

cpp:field_pattern a owl:ObjectProperty ;
    rdfs:label "pattern (structural)" ;
    rdfs:comment "Structural reference for pattern field when it contains a non-terminal node" ;
    cpp:fieldId 40 .

cpp:field_placement a owl:ObjectProperty ;
    rdfs:label "placement (structural)" ;
    rdfs:comment "Structural reference for placement field when it contains a non-terminal node" ;
    cpp:fieldId 41 .

cpp:field_register a owl:ObjectProperty ;
    rdfs:label "register (structural)" ;
    rdfs:comment "Structural reference for register field when it contains a non-terminal node" ;
    cpp:fieldId 43 .

cpp:field_requirements a owl:ObjectProperty ;
    rdfs:label "requirements (structural)" ;
    rdfs:comment "Structural reference for requirements field when it contains a non-terminal node" ;
    cpp:fieldId 44 .

cpp:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    cpp:fieldId 45 .

cpp:field_scope a owl:ObjectProperty ;
    rdfs:label "scope (structural)" ;
    rdfs:comment "Structural reference for scope field when it contains a non-terminal node" ;
    cpp:fieldId 46 .

cpp:field_size a owl:ObjectProperty ;
    rdfs:label "size (structural)" ;
    rdfs:comment "Structural reference for size field when it contains a non-terminal node" ;
    cpp:fieldId 47 .

cpp:field_start a owl:ObjectProperty ;
    rdfs:label "start (structural)" ;
    rdfs:comment "Structural reference for start field when it contains a non-terminal node" ;
    cpp:fieldId 48 .

cpp:field_template_parameters a owl:ObjectProperty ;
    rdfs:label "template_parameters (structural)" ;
    rdfs:comment "Structural reference for template_parameters field when it contains a non-terminal node" ;
    cpp:fieldId 50 .

cpp:field_type a owl:ObjectProperty ;
    rdfs:label "type (structural)" ;
    rdfs:comment "Structural reference for type field when it contains a non-terminal node" ;
    cpp:fieldId 51 .

cpp:field_update a owl:ObjectProperty ;
    rdfs:label "update (structural)" ;
    rdfs:comment "Structural reference for update field when it contains a non-terminal node" ;
    cpp:fieldId 52 .

cpp:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    cpp:fieldId 53 .

cpp:fold_expression a owl:Class ;
    rdfs:label "fold_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 493 .

cpp:for_range_loop a owl:Class ;
    rdfs:label "for_range_loop" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 454 .

cpp:for_statement a owl:Class ;
    rdfs:label "for_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 330 .

cpp:friend_declaration a owl:Class ;
    rdfs:label "friend_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 425 .

cpp:function a owl:DatatypeProperty ;
    rdfs:label "function (literal)" ;
    rdfs:comment "Literal value for function field when it contains a terminal node" ;
    cpp:fieldId 21 ;
    cpp:isTerminalField true .

cpp:function_declarator a owl:Class ;
    rdfs:label "function_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 292,
        293,
        294 .

cpp:function_definition a owl:Class ;
    rdfs:label "function_definition" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 260,
        415,
        417,
        420 .

cpp:generic_expression a owl:Class ;
    rdfs:label "generic_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 354 .

cpp:global_module_fragment_declaration a owl:Class ;
    rdfs:label "global_module_fragment_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 398 .

cpp:gnu_asm_clobber_list a owl:Class ;
    rdfs:label "gnu_asm_clobber_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 363 .

cpp:gnu_asm_expression a owl:Class ;
    rdfs:label "gnu_asm_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 357 .

cpp:gnu_asm_goto_list a owl:Class ;
    rdfs:label "gnu_asm_goto_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 364 .

cpp:gnu_asm_input_operand a owl:Class ;
    rdfs:label "gnu_asm_input_operand" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 362 .

cpp:gnu_asm_input_operand_list a owl:Class ;
    rdfs:label "gnu_asm_input_operand_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 361 .

cpp:gnu_asm_output_operand a owl:Class ;
    rdfs:label "gnu_asm_output_operand" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 360 .

cpp:gnu_asm_output_operand_list a owl:Class ;
    rdfs:label "gnu_asm_output_operand_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 359 .

cpp:gnu_asm_qualifier a owl:Class ;
    rdfs:label "gnu_asm_qualifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 358 .

cpp:goto_statement a owl:Class ;
    rdfs:label "goto_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 335 .

cpp:header a owl:DatatypeProperty ;
    rdfs:label "header (literal)" ;
    rdfs:comment "Literal value for header field when it contains a terminal node" ;
    cpp:fieldId 23 ;
    cpp:isTerminalField true .

cpp:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 1 .

cpp:if_statement a owl:Class ;
    rdfs:label "if_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 324 .

cpp:import_declaration a owl:Class ;
    rdfs:label "import_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 397 .

cpp:init_declarator a owl:Class ;
    rdfs:label "init_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 300 .

cpp:init_statement a owl:Class ;
    rdfs:label "init_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 456 .

cpp:initializer_list a owl:Class ;
    rdfs:label "initializer_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 370 .

cpp:initializer_pair a owl:Class ;
    rdfs:label "initializer_pair" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 371 .

cpp:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

cpp:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

cpp:label a owl:DatatypeProperty ;
    rdfs:label "label (literal)" ;
    rdfs:comment "Literal value for label field when it contains a terminal node" ;
    cpp:fieldId 27 ;
    cpp:isTerminalField true .

cpp:labeled_statement a owl:Class ;
    rdfs:label "labeled_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 321 .

cpp:lambda_capture_initializer a owl:Class ;
    rdfs:label "lambda_capture_initializer" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 486 .

cpp:lambda_capture_specifier a owl:Class ;
    rdfs:label "lambda_capture_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 483 .

cpp:lambda_declarator a owl:Class ;
    rdfs:label "lambda_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 481 .

cpp:lambda_default_capture a owl:Class ;
    rdfs:label "lambda_default_capture" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 484 .

cpp:lambda_expression a owl:Class ;
    rdfs:label "lambda_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 482 .

cpp:lambda_specifier a owl:Class ;
    rdfs:label "lambda_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 480 .

cpp:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

cpp:left a owl:DatatypeProperty ;
    rdfs:label "left (literal)" ;
    rdfs:comment "Literal value for left field when it contains a terminal node" ;
    cpp:fieldId 28 ;
    cpp:isTerminalField true .

cpp:linkage_specification a owl:Class ;
    rdfs:label "linkage_specification" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 267 .

cpp:literal_suffix a owl:Class ;
    rdfs:label "literal_suffix" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 222 .

cpp:member a owl:DatatypeProperty ;
    rdfs:label "member (literal)" ;
    rdfs:comment "Literal value for member field when it contains a terminal node" ;
    cpp:fieldId 30 ;
    cpp:isTerminalField true .

cpp:module_declaration a owl:Class ;
    rdfs:label "module_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 395 .

cpp:module_name a owl:Class ;
    rdfs:label "module_name" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 393 .

cpp:module_partition a owl:Class ;
    rdfs:label "module_partition" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 394 .

cpp:ms_based_modifier a owl:Class ;
    rdfs:label "ms_based_modifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 272 .

cpp:ms_call_modifier a owl:Class ;
    rdfs:label "ms_call_modifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 273 .

cpp:ms_declspec_modifier a owl:Class ;
    rdfs:label "ms_declspec_modifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 271 .

cpp:ms_pointer_modifier a owl:Class ;
    rdfs:label "ms_pointer_modifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 275 .

cpp:ms_restrict_modifier a owl:Class ;
    rdfs:label "ms_restrict_modifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 62 .

cpp:ms_signed_ptr_modifier a owl:Class ;
    rdfs:label "ms_signed_ptr_modifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 64 .

cpp:ms_unaligned_ptr_modifier a owl:Class ;
    rdfs:label "ms_unaligned_ptr_modifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 274 .

cpp:ms_unsigned_ptr_modifier a owl:Class ;
    rdfs:label "ms_unsigned_ptr_modifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 63 .

cpp:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    cpp:fieldId 32 ;
    cpp:isTerminalField true .

cpp:namespace a owl:DatatypeProperty ;
    rdfs:label "namespace (literal)" ;
    rdfs:comment "Literal value for namespace field when it contains a terminal node" ;
    cpp:fieldId 33 ;
    cpp:isTerminalField true .

cpp:namespace_alias_definition a owl:Class ;
    rdfs:label "namespace_alias_definition" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 446 .

cpp:namespace_definition a owl:Class ;
    rdfs:label "namespace_definition" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 445 .

cpp:namespace_identifier a owl:Class ;
    rdfs:label "namespace_identifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 566 .

cpp:nested_namespace_specifier a owl:Class ;
    rdfs:label "nested_namespace_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 448 .

cpp:new_declarator a owl:Class ;
    rdfs:label "new_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 468 .

cpp:new_expression a owl:Class ;
    rdfs:label "new_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 467 .

cpp:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

cpp:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

cpp:noexcept a owl:Class ;
    rdfs:label "noexcept" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 439 .

cpp:null a owl:Class ;
    rdfs:label "null" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 378 .

cpp:number_literal a owl:Class ;
    rdfs:label "number_literal" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 160 .

cpp:offsetof_expression a owl:Class ;
    rdfs:label "offsetof_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 353 .

cpp:operator_cast a owl:Class ;
    rdfs:label "operator_cast" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 412 .

cpp:operator_name a owl:Class ;
    rdfs:label "operator_name" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 513 .

cpp:optional_parameter_declaration a owl:Class ;
    rdfs:label "optional_parameter_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 408 .

cpp:optional_type_parameter_declaration a owl:Class ;
    rdfs:label "optional_type_parameter_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 405 .

cpp:parameter_declaration a owl:Class ;
    rdfs:label "parameter_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 317 .

cpp:parameter_list a owl:Class ;
    rdfs:label "parameter_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 316,
        478 .

cpp:parameter_pack_expansion a owl:Class ;
    rdfs:label "parameter_pack_expansion" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 494,
        495,
        496 .

cpp:parenthesized_declarator a owl:Class ;
    rdfs:label "parenthesized_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 281,
        282,
        283 .

cpp:parenthesized_expression a owl:Class ;
    rdfs:label "parenthesized_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 254,
        369 .

cpp:path a owl:DatatypeProperty ;
    rdfs:label "path (literal)" ;
    rdfs:comment "Literal value for path field when it contains a terminal node" ;
    cpp:fieldId 39 ;
    cpp:isTerminalField true .

cpp:placeholder_type_specifier a owl:Class ;
    rdfs:label "placeholder_type_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 380 .

cpp:pointer_declarator a owl:Class ;
    rdfs:label "pointer_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 288,
        289 .

cpp:pointer_expression a owl:Class ;
    rdfs:label "pointer_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 345 .

cpp:pointer_type_declarator a owl:Class ;
    rdfs:label "pointer_type_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 290 .

cpp:prefix a owl:DatatypeProperty ;
    rdfs:label "prefix (literal)" ;
    rdfs:comment "Literal value for prefix field when it contains a terminal node" ;
    cpp:fieldId 42 ;
    cpp:isTerminalField true .

cpp:preproc_arg a owl:Class ;
    rdfs:label "preproc_arg" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 18 .

cpp:preproc_call a owl:Class ;
    rdfs:label "preproc_call" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 232 .

cpp:preproc_def a owl:Class ;
    rdfs:label "preproc_def" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 229 .

cpp:preproc_defined a owl:Class ;
    rdfs:label "preproc_defined" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 255 .

cpp:preproc_directive a owl:Class ;
    rdfs:label "preproc_directive" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 19 .

cpp:preproc_elif a owl:Class ;
    rdfs:label "preproc_elif" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 236,
        241,
        246,
        251 .

cpp:preproc_elifdef a owl:Class ;
    rdfs:label "preproc_elifdef" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 237,
        242,
        247,
        252 .

cpp:preproc_else a owl:Class ;
    rdfs:label "preproc_else" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 235,
        240,
        245,
        250 .

cpp:preproc_function_def a owl:Class ;
    rdfs:label "preproc_function_def" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 230 .

cpp:preproc_if a owl:Class ;
    rdfs:label "preproc_if" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 233,
        238,
        243,
        248 .

cpp:preproc_ifdef a owl:Class ;
    rdfs:label "preproc_ifdef" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 234,
        239,
        244,
        249 .

cpp:preproc_include a owl:Class ;
    rdfs:label "preproc_include" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 228 .

cpp:preproc_params a owl:Class ;
    rdfs:label "preproc_params" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 231 .

cpp:primitive_type a owl:Class ;
    rdfs:label "primitive_type" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 98 .

cpp:private_module_fragment_declaration a owl:Class ;
    rdfs:label "private_module_fragment_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 399 .

cpp:pure_virtual_clause a owl:Class ;
    rdfs:label "pure_virtual_clause" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 424 .

cpp:qualified_identifier a owl:Class ;
    rdfs:label "qualified_identifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 502,
        503,
        504,
        505 .

cpp:raw_string_content a owl:Class ;
    rdfs:label "raw_string_content" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 224 .

cpp:raw_string_delimiter a owl:Class ;
    rdfs:label "raw_string_delimiter" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 223 .

cpp:raw_string_literal a owl:Class ;
    rdfs:label "raw_string_literal" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 464 .

cpp:ref_qualifier a owl:Class ;
    rdfs:label "ref_qualifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 432 .

cpp:reference_declarator a owl:Class ;
    rdfs:label "reference_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 411,
        427,
        428,
        429 .

cpp:reflect_expression a owl:Class ;
    rdfs:label "reflect_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 507 .

cpp:requirement_seq a owl:Class ;
    rdfs:label "requirement_seq" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 473 .

cpp:requires_clause a owl:Class ;
    rdfs:label "requires_clause" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 477 .

cpp:requires_expression a owl:Class ;
    rdfs:label "requires_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 479 .

cpp:return_statement a owl:Class ;
    rdfs:label "return_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:ReturnStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 332 .

cpp:right a owl:DatatypeProperty ;
    rdfs:label "right (literal)" ;
    rdfs:comment "Literal value for right field when it contains a terminal node" ;
    cpp:fieldId 45 ;
    cpp:isTerminalField true .

cpp:scope a owl:DatatypeProperty ;
    rdfs:label "scope (literal)" ;
    rdfs:comment "Literal value for scope field when it contains a terminal node" ;
    cpp:fieldId 46 ;
    cpp:isTerminalField true .

cpp:seh_except_clause a owl:Class ;
    rdfs:label "seh_except_clause" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 337 .

cpp:seh_finally_clause a owl:Class ;
    rdfs:label "seh_finally_clause" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 338 .

cpp:seh_leave_statement a owl:Class ;
    rdfs:label "seh_leave_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 339 .

cpp:seh_try_statement a owl:Class ;
    rdfs:label "seh_try_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 336 .

cpp:simple_requirement a owl:Class ;
    rdfs:label "simple_requirement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 567 .

cpp:sized_type_specifier a owl:Class ;
    rdfs:label "sized_type_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 306 .

cpp:sizeof_expression a owl:Class ;
    rdfs:label "sizeof_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 351 .

cpp:splice_expression a owl:Class ;
    rdfs:label "splice_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 511 .

cpp:splice_specifier a owl:Class ;
    rdfs:label "splice_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 508 .

cpp:splice_type_specifier a owl:Class ;
    rdfs:label "splice_type_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 510 .

cpp:statement_identifier a owl:Class ;
    rdfs:label "statement_identifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 568 .

cpp:static_assert_declaration a owl:Class ;
    rdfs:label "static_assert_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 451 .

cpp:storage_class_specifier a owl:Class ;
    rdfs:label "storage_class_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 302 .

cpp:string_content a owl:Class ;
    rdfs:label "string_content" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 172 .

cpp:string_literal a owl:Class ;
    rdfs:label "string_literal" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 377 .

cpp:struct_specifier a owl:Class ;
    rdfs:label "struct_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 309 .

cpp:structured_binding_declarator a owl:Class ;
    rdfs:label "structured_binding_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 431 .

cpp:subscript_argument_list a owl:Class ;
    rdfs:label "subscript_argument_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 465 .

cpp:subscript_designator a owl:Class ;
    rdfs:label "subscript_designator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 372 .

cpp:subscript_expression a owl:Class ;
    rdfs:label "subscript_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 355 .

cpp:subscript_range_designator a owl:Class ;
    rdfs:label "subscript_range_designator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 373 .

cpp:switch_statement a owl:Class ;
    rdfs:label "switch_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 326 .

cpp:symbol a owl:DatatypeProperty ;
    rdfs:label "symbol (literal)" ;
    rdfs:comment "Literal value for symbol field when it contains a terminal node" ;
    cpp:fieldId 49 ;
    cpp:isTerminalField true .

cpp:system_lib_string a owl:Class ;
    rdfs:label "system_lib_string" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 174 .

cpp:template_argument_list a owl:Class ;
    rdfs:label "template_argument_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 444 .

cpp:template_declaration a owl:Class ;
    rdfs:label "template_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 400 .

cpp:template_function a owl:Class ;
    rdfs:label "template_function" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 443 .

cpp:template_instantiation a owl:Class ;
    rdfs:label "template_instantiation" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 401 .

cpp:template_method a owl:Class ;
    rdfs:label "template_method" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 442 .

cpp:template_parameter_list a owl:Class ;
    rdfs:label "template_parameter_list" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 402 .

cpp:template_template_parameter_declaration a owl:Class ;
    rdfs:label "template_template_parameter_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 406 .

cpp:template_type a owl:Class ;
    rdfs:label "template_type" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 441 .

cpp:this a owl:Class ;
    rdfs:label "this" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 221 .

cpp:throw_specifier a owl:Class ;
    rdfs:label "throw_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 440 .

cpp:throw_statement a owl:Class ;
    rdfs:label "throw_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:ThrowStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 461 .

cpp:trailing_return_type a owl:Class ;
    rdfs:label "trailing_return_type" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 438 .

cpp:translation_unit a owl:Class ;
    rdfs:label "translation_unit" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 225 .

cpp:true a owl:Class ;
    rdfs:label "true" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 175 .

cpp:try_statement a owl:Class ;
    rdfs:label "try_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 419,
        462 .

cpp:type a owl:DatatypeProperty ;
    rdfs:label "type (literal)" ;
    rdfs:comment "Literal value for type field when it contains a terminal node" ;
    cpp:fieldId 51 ;
    cpp:isTerminalField true .

cpp:type_definition a owl:Class ;
    rdfs:label "type_definition" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 262 .

cpp:type_descriptor a owl:Class ;
    rdfs:label "type_descriptor" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 350 .

cpp:type_identifier a owl:Class ;
    rdfs:label "type_identifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 569 .

cpp:type_parameter_declaration a owl:Class ;
    rdfs:label "type_parameter_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 403 .

cpp:type_qualifier a owl:Class ;
    rdfs:label "type_qualifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 303 .

cpp:type_requirement a owl:Class ;
    rdfs:label "type_requirement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 470 .

cpp:unary_expression a owl:Class ;
    rdfs:label "unary_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 256,
        346 .

cpp:union_specifier a owl:Class ;
    rdfs:label "union_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 310 .

cpp:update_expression a owl:Class ;
    rdfs:label "update_expression" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 348 .

cpp:user_defined_literal a owl:Class ;
    rdfs:label "user_defined_literal" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 514 .

cpp:using_declaration a owl:Class ;
    rdfs:label "using_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 449 .

cpp:value a owl:DatatypeProperty ;
    rdfs:label "value (literal)" ;
    rdfs:comment "Literal value for value field when it contains a terminal node" ;
    cpp:fieldId 53 ;
    cpp:isTerminalField true .

cpp:variadic_declarator a owl:Class ;
    rdfs:label "variadic_declarator" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 410 .

cpp:variadic_parameter_declaration a owl:Class ;
    rdfs:label "variadic_parameter_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 409 .

cpp:variadic_type_parameter_declaration a owl:Class ;
    rdfs:label "variadic_type_parameter_declaration" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 404 .

cpp:virtual_specifier a owl:Class ;
    rdfs:label "virtual_specifier" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 388 .

cpp:while_statement a owl:Class ;
    rdfs:label "while_statement" ;
    rdfs:isDefinedBy cpp: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    cpp:isSupertype true ;
    cpp:nodeTypeId 328 .

csharp:assignment_expression rdfs:subClassOf ast-x:Assignment .

csharp:break_statement rdfs:subClassOf ast-x:BreakStatement .

csharp:catch_clause rdfs:subClassOf ast-x:CatchClause .

csharp:class_declaration rdfs:subClassOf ast-x:ClassDefinition .

csharp:comment rdfs:subClassOf ast-x:Comment .

csharp:constructor_declaration rdfs:subClassOf ast-x:FunctionDefinition .

csharp:continue_statement rdfs:subClassOf ast-x:ContinueStatement .

csharp:do_statement rdfs:subClassOf ast-x:WhileStatement .

csharp:for_statement rdfs:subClassOf ast-x:ForStatement .

csharp:foreach_statement rdfs:subClassOf ast-x:ForStatement .

csharp:if_statement rdfs:subClassOf ast-x:IfStatement .

csharp:interface_declaration rdfs:subClassOf ast-x:ClassDefinition .

csharp:invocation_expression rdfs:subClassOf ast-x:CallSite .

csharp:method_declaration rdfs:subClassOf ast-x:FunctionDefinition .

csharp:parameter rdfs:subClassOf ast-x:Parameter .

csharp:parameter_list rdfs:subClassOf ast-x:ParameterList .

csharp:return_statement rdfs:subClassOf ast-x:ReturnStatement .

csharp:struct_declaration rdfs:subClassOf ast-x:ClassDefinition .

csharp:switch_statement rdfs:subClassOf ast-x:SwitchStatement .

csharp:throw_statement rdfs:subClassOf ast-x:ThrowStatement .

csharp:try_statement rdfs:subClassOf ast-x:TryStatement .

csharp:using_directive rdfs:subClassOf ast-x:ImportStatement .

csharp:variable_declaration rdfs:subClassOf ast-x:VariableDeclaration .

csharp:while_statement rdfs:subClassOf ast-x:WhileStatement .

csharp:yield_statement rdfs:subClassOf ast-x:YieldStatement .

dart:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

dart:abstract a owl:Class ;
    rdfs:label "abstract" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 443 .

dart:additive_expression a owl:Class ;
    rdfs:label "additive_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 216 .

dart:additive_operator a owl:Class ;
    rdfs:label "additive_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 222 .

dart:alternative a owl:DatatypeProperty ;
    rdfs:label "alternative (literal)" ;
    rdfs:comment "Literal value for alternative field when it contains a terminal node" ;
    dart:fieldId 1 ;
    dart:isTerminalField true .

dart:annotation a owl:Class ;
    rdfs:label "annotation" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 319 .

dart:argument a owl:Class ;
    rdfs:label "argument" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 251 .

dart:argument_part a owl:Class ;
    rdfs:label "argument_part" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 258 .

dart:arguments a owl:Class ;
    rdfs:label "arguments" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 248 .

dart:as_operator a owl:Class ;
    rdfs:label "as_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 240 .

dart:assert_builtin a owl:Class ;
    rdfs:label "assert_builtin" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 117 .

dart:assert_statement a owl:Class ;
    rdfs:label "assert_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 267 .

dart:assertion a owl:Class ;
    rdfs:label "assertion" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 268 .

dart:assertion_arguments a owl:Class ;
    rdfs:label "assertion_arguments" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 269 .

dart:assignable_expression a owl:Class ;
    rdfs:label "assignable_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 197 .

dart:assignment_expression a owl:Class ;
    rdfs:label "assignment_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    dart:isSupertype true ;
    dart:nodeTypeId 195 .

dart:assignment_expression_without_cascade a owl:Class ;
    rdfs:label "assignment_expression_without_cascade" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    dart:isSupertype true ;
    dart:nodeTypeId 196 .

dart:await_expression a owl:Class ;
    rdfs:label "await_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 236 .

dart:base a owl:Class ;
    rdfs:label "base" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 442 .

dart:binary_operator a owl:Class ;
    rdfs:label "binary_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 363 .

dart:bitwise_and_expression a owl:Class ;
    rdfs:label "bitwise_and_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 214 .

dart:bitwise_operator a owl:Class ;
    rdfs:label "bitwise_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 218 .

dart:bitwise_or_expression a owl:Class ;
    rdfs:label "bitwise_or_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 212 .

dart:bitwise_xor_expression a owl:Class ;
    rdfs:label "bitwise_xor_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 213 .

dart:block a owl:Class ;
    rdfs:label "block" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 265 .

dart:body a owl:DatatypeProperty ;
    rdfs:label "body (literal)" ;
    rdfs:comment "Literal value for body field when it contains a terminal node" ;
    dart:fieldId 2 ;
    dart:isTerminalField true .

dart:break_builtin a owl:Class ;
    rdfs:label "break_builtin" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 116 .

dart:break_statement a owl:Class ;
    rdfs:label "break_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    dart:isSupertype true ;
    dart:nodeTypeId 301 .

dart:cascade_section a owl:Class ;
    rdfs:label "cascade_section" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 253 .

dart:cascade_selector a owl:Class ;
    rdfs:label "cascade_selector" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 257 .

dart:case_builtin a owl:Class ;
    rdfs:label "case_builtin" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 430 .

dart:cast_pattern a owl:Class ;
    rdfs:label "cast_pattern" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 280 .

dart:catch_clause a owl:Class ;
    rdfs:label "catch_clause" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    dart:isSupertype true ;
    dart:nodeTypeId 309 .

dart:catch_parameters a owl:Class ;
    rdfs:label "catch_parameters" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 310 .

dart:class a owl:DatatypeProperty ;
    rdfs:label "class (literal)" ;
    rdfs:comment "Literal value for class field when it contains a terminal node" ;
    dart:fieldId 3 ;
    dart:isTerminalField true .

dart:class_body a owl:Class ;
    rdfs:label "class_body" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 353 .

dart:class_definition a owl:Class ;
    rdfs:label "class_definition" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    dart:isSupertype true ;
    dart:nodeTypeId 339 .

dart:combinator a owl:Class ;
    rdfs:label "combinator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 331 .

dart:comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    dart:isSupertype true ;
    dart:nodeTypeId 461 .

dart:condition a owl:DatatypeProperty ;
    rdfs:label "condition (literal)" ;
    rdfs:comment "Literal value for condition field when it contains a terminal node" ;
    dart:fieldId 4 ;
    dart:isTerminalField true .

dart:conditional_assignable_selector a owl:Class ;
    rdfs:label "conditional_assignable_selector" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 260 .

dart:conditional_expression a owl:Class ;
    rdfs:label "conditional_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 204 .

dart:configurable_uri a owl:Class ;
    rdfs:label "configurable_uri" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 327 .

dart:configuration_uri a owl:Class ;
    rdfs:label "configuration_uri" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 328 .

dart:configuration_uri_condition a owl:Class ;
    rdfs:label "configuration_uri_condition" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 329 .

dart:consequence a owl:DatatypeProperty ;
    rdfs:label "consequence (literal)" ;
    rdfs:comment "Literal value for consequence field when it contains a terminal node" ;
    dart:fieldId 5 ;
    dart:isTerminalField true .

dart:const_builtin a owl:Class ;
    rdfs:label "const_builtin" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 142 .

dart:const_object_expression a owl:Class ;
    rdfs:label "const_object_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 243 .

dart:constant_constructor_signature a owl:Class ;
    rdfs:label "constant_constructor_signature" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 375 .

dart:constant_pattern a owl:Class ;
    rdfs:label "constant_pattern" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 283 .

dart:constructor_invocation a owl:Class ;
    rdfs:label "constructor_invocation" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 246 .

dart:constructor_param a owl:Class ;
    rdfs:label "constructor_param" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 422 .

dart:constructor_signature a owl:Class ;
    rdfs:label "constructor_signature" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 374 .

dart:constructor_tearoff a owl:Class ;
    rdfs:label "constructor_tearoff" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 247 .

dart:continue_statement a owl:Class ;
    rdfs:label "continue_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:ContinueStatement ;
    dart:isSupertype true ;
    dart:nodeTypeId 302 .

dart:decimal_floating_point_literal a owl:Class ;
    rdfs:label "decimal_floating_point_literal" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 5 .

dart:decimal_integer_literal a owl:Class ;
    rdfs:label "decimal_integer_literal" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 3 .

dart:declaration a owl:Class ;
    rdfs:label "declaration" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 358 .

dart:destructured_parameter rdfs:subClassOf ast-x:Parameter .

dart:do_statement a owl:Class ;
    rdfs:label "do_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    dart:isSupertype true ;
    dart:nodeTypeId 300 .

dart:documentation_comment a owl:Class ;
    rdfs:label "documentation_comment" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    dart:isSupertype true ;
    dart:nodeTypeId 462 .

dart:dotted_identifier_list a owl:Class ;
    rdfs:label "dotted_identifier_list" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 426 .

dart:enum_body a owl:Class ;
    rdfs:label "enum_body" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 334 .

dart:enum_constant a owl:Class ;
    rdfs:label "enum_constant" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 335 .

dart:enum_declaration a owl:Class ;
    rdfs:label "enum_declaration" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 333 .

dart:equality_expression a owl:Class ;
    rdfs:label "equality_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 207 .

dart:equality_operator a owl:Class ;
    rdfs:label "equality_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 45 .

dart:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 180 .

dart:expression_statement a owl:Class ;
    rdfs:label "expression_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 266 .

dart:extension_body a owl:Class ;
    rdfs:label "extension_body" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 354 .

dart:extension_declaration a owl:Class ;
    rdfs:label "extension_declaration" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 340 .

dart:extension_type_declaration a owl:Class ;
    rdfs:label "extension_type_declaration" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 341 .

dart:factory_constructor_signature a owl:Class ;
    rdfs:label "factory_constructor_signature" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 371 .

dart:false a owl:Class ;
    rdfs:label "false" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 168 .

dart:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

dart:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

dart:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    dart:fieldId 1 .

dart:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    dart:fieldId 2 .

dart:field_class a owl:ObjectProperty ;
    rdfs:label "class (structural)" ;
    rdfs:comment "Structural reference for class field when it contains a non-terminal node" ;
    dart:fieldId 3 .

dart:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    dart:fieldId 4 .

dart:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    dart:fieldId 5 .

dart:field_first a owl:ObjectProperty ;
    rdfs:label "first (structural)" ;
    rdfs:comment "Structural reference for first field when it contains a non-terminal node" ;
    dart:fieldId 6 .

dart:field_init a owl:ObjectProperty ;
    rdfs:label "init (structural)" ;
    rdfs:comment "Structural reference for init field when it contains a non-terminal node" ;
    dart:fieldId 7 .

dart:field_initializer a owl:Class ;
    rdfs:label "field_initializer" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 370 .

dart:field_interfaces a owl:ObjectProperty ;
    rdfs:label "interfaces (structural)" ;
    rdfs:comment "Structural reference for interfaces field when it contains a non-terminal node" ;
    dart:fieldId 8 .

dart:field_key a owl:ObjectProperty ;
    rdfs:label "key (structural)" ;
    rdfs:comment "Structural reference for key field when it contains a non-terminal node" ;
    dart:fieldId 9 .

dart:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    dart:fieldId 10 .

dart:field_name a owl:ObjectProperty ;
    rdfs:label "name (structural)" ;
    rdfs:comment "Structural reference for name field when it contains a non-terminal node" ;
    dart:fieldId 11 .

dart:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    dart:fieldId 12 .

dart:field_parameters a owl:ObjectProperty ;
    rdfs:label "parameters (structural)" ;
    rdfs:comment "Structural reference for parameters field when it contains a non-terminal node" ;
    dart:fieldId 13 .

dart:field_representation a owl:ObjectProperty ;
    rdfs:label "representation (structural)" ;
    rdfs:comment "Structural reference for representation field when it contains a non-terminal node" ;
    dart:fieldId 14 .

dart:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    dart:fieldId 15 .

dart:field_scope a owl:ObjectProperty ;
    rdfs:label "scope (structural)" ;
    rdfs:comment "Structural reference for scope field when it contains a non-terminal node" ;
    dart:fieldId 16 .

dart:field_second a owl:ObjectProperty ;
    rdfs:label "second (structural)" ;
    rdfs:comment "Structural reference for second field when it contains a non-terminal node" ;
    dart:fieldId 17 .

dart:field_superclass a owl:ObjectProperty ;
    rdfs:label "superclass (structural)" ;
    rdfs:comment "Structural reference for superclass field when it contains a non-terminal node" ;
    dart:fieldId 18 .

dart:field_type a owl:ObjectProperty ;
    rdfs:label "type (structural)" ;
    rdfs:comment "Structural reference for type field when it contains a non-terminal node" ;
    dart:fieldId 19 .

dart:field_type_parameters a owl:ObjectProperty ;
    rdfs:label "type_parameters (structural)" ;
    rdfs:comment "Structural reference for type_parameters field when it contains a non-terminal node" ;
    dart:fieldId 20 .

dart:field_update a owl:ObjectProperty ;
    rdfs:label "update (structural)" ;
    rdfs:comment "Structural reference for update field when it contains a non-terminal node" ;
    dart:fieldId 21 .

dart:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    dart:fieldId 22 .

dart:final_builtin a owl:Class ;
    rdfs:label "final_builtin" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 454 .

dart:finally_clause a owl:Class ;
    rdfs:label "finally_clause" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 311 .

dart:first a owl:DatatypeProperty ;
    rdfs:label "first (literal)" ;
    rdfs:comment "Literal value for first field when it contains a terminal node" ;
    dart:fieldId 6 ;
    dart:isTerminalField true .

dart:for_element a owl:Class ;
    rdfs:label "for_element" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 318 .

dart:for_loop_parts a owl:Class ;
    rdfs:label "for_loop_parts" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 316 .

dart:for_statement a owl:Class ;
    rdfs:label "for_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    dart:isSupertype true ;
    dart:nodeTypeId 315 .

dart:formal_parameter a owl:Class ;
    rdfs:label "formal_parameter" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    dart:isSupertype true ;
    dart:nodeTypeId 415 .

dart:formal_parameter_list a owl:Class ;
    rdfs:label "formal_parameter_list" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    dart:isSupertype true ;
    dart:nodeTypeId 409 .

dart:function_body a owl:Class ;
    rdfs:label "function_body" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 405 .

dart:function_expression a owl:Class ;
    rdfs:label "function_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    dart:isSupertype true ;
    dart:nodeTypeId 201 .

dart:function_expression_body a owl:Class ;
    rdfs:label "function_expression_body" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    dart:isSupertype true ;
    dart:nodeTypeId 406 .

dart:function_signature a owl:Class ;
    rdfs:label "function_signature" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    dart:isSupertype true ;
    dart:nodeTypeId 407 .

dart:function_type a owl:Class ;
    rdfs:label "function_type" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 383 .

dart:getter_signature a owl:Class ;
    rdfs:label "getter_signature" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 355 .

dart:hex_integer_literal a owl:Class ;
    rdfs:label "hex_integer_literal" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 4 .

dart:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 1 .

dart:identifier_dollar_escaped a owl:Class ;
    rdfs:label "identifier_dollar_escaped" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 147 .

dart:identifier_list a owl:Class ;
    rdfs:label "identifier_list" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 359 .

dart:if_element a owl:Class ;
    rdfs:label "if_element" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 312 .

dart:if_null_expression a owl:Class ;
    rdfs:label "if_null_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 202 .

dart:if_statement a owl:Class ;
    rdfs:label "if_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    dart:isSupertype true ;
    dart:nodeTypeId 313 .

dart:import_or_export a owl:Class ;
    rdfs:label "import_or_export" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    dart:isSupertype true ;
    dart:nodeTypeId 320 .

dart:import_specification a owl:Class ;
    rdfs:label "import_specification" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 323 .

dart:increment_operator a owl:Class ;
    rdfs:label "increment_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 61 .

dart:index_selector a owl:Class ;
    rdfs:label "index_selector" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 256 .

dart:inferred_type a owl:Class ;
    rdfs:label "inferred_type" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 404 .

dart:init a owl:DatatypeProperty ;
    rdfs:label "init (literal)" ;
    rdfs:comment "Literal value for init field when it contains a terminal node" ;
    dart:fieldId 7 ;
    dart:isTerminalField true .

dart:initialized_identifier a owl:Class ;
    rdfs:label "initialized_identifier" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 361 .

dart:initialized_identifier_list a owl:Class ;
    rdfs:label "initialized_identifier_list" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 360 .

dart:initialized_variable_definition a owl:Class ;
    rdfs:label "initialized_variable_definition" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 377 .

dart:initializer_list_entry a owl:Class ;
    rdfs:label "initializer_list_entry" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 369 .

dart:initializers a owl:Class ;
    rdfs:label "initializers" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 368 .

dart:interface a owl:Class ;
    rdfs:label "interface" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 441 .

dart:interfaces a owl:Class ;
    rdfs:label "interfaces" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 352 .

dart:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

dart:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

dart:is_operator a owl:Class ;
    rdfs:label "is_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 238 .

dart:key a owl:DatatypeProperty ;
    rdfs:label "key (literal)" ;
    rdfs:comment "Literal value for key field when it contains a terminal node" ;
    dart:fieldId 9 ;
    dart:isTerminalField true .

dart:label a owl:Class ;
    rdfs:label "label" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 459 .

dart:lambda_expression a owl:Class ;
    rdfs:label "lambda_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 200 .

dart:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

dart:library_export a owl:Class ;
    rdfs:label "library_export" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 322 .

dart:library_import a owl:Class ;
    rdfs:label "library_import" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 321 .

dart:library_name a owl:Class ;
    rdfs:label "library_name" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 425 .

dart:list_literal a owl:Class ;
    rdfs:label "list_literal" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 181 .

dart:list_pattern a owl:Class ;
    rdfs:label "list_pattern" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 286 .

dart:local_function_declaration a owl:Class ;
    rdfs:label "local_function_declaration" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 264 .

dart:local_variable_declaration a owl:Class ;
    rdfs:label "local_variable_declaration" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    dart:isSupertype true ;
    dart:nodeTypeId 423 .

dart:logical_and_expression a owl:Class ;
    rdfs:label "logical_and_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 206 .

dart:logical_and_operator a owl:Class ;
    rdfs:label "logical_and_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 452 .

dart:logical_or_expression a owl:Class ;
    rdfs:label "logical_or_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 205 .

dart:logical_or_operator a owl:Class ;
    rdfs:label "logical_or_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 453 .

dart:map_pattern a owl:Class ;
    rdfs:label "map_pattern" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 289 .

dart:method_signature a owl:Class ;
    rdfs:label "method_signature" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 357 .

dart:minus_operator a owl:Class ;
    rdfs:label "minus_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 63 .

dart:mixin a owl:Class ;
    rdfs:label "mixin" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 446 .

dart:mixin_application a owl:Class ;
    rdfs:label "mixin_application" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 350 .

dart:mixin_application_class a owl:Class ;
    rdfs:label "mixin_application_class" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 349 .

dart:mixin_declaration a owl:Class ;
    rdfs:label "mixin_declaration" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    dart:isSupertype true ;
    dart:nodeTypeId 351 .

dart:mixins a owl:Class ;
    rdfs:label "mixins" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 348 .

dart:multiplicative_expression a owl:Class ;
    rdfs:label "multiplicative_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 217 .

dart:multiplicative_operator a owl:Class ;
    rdfs:label "multiplicative_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 223 .

dart:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    dart:fieldId 11 ;
    dart:isTerminalField true .

dart:named_argument a owl:Class ;
    rdfs:label "named_argument" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 252 .

dart:named_parameter_types a owl:Class ;
    rdfs:label "named_parameter_types" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 390 .

dart:negation_operator a owl:Class ;
    rdfs:label "negation_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 233 .

dart:new_expression a owl:Class ;
    rdfs:label "new_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 241 .

dart:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

dart:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

dart:normal_parameter_type a owl:Class ;
    rdfs:label "normal_parameter_type" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 387 .

dart:null_assert_pattern a owl:Class ;
    rdfs:label "null_assert_pattern" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 282 .

dart:null_check_pattern a owl:Class ;
    rdfs:label "null_check_pattern" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 281 .

dart:null_literal a owl:Class ;
    rdfs:label "null_literal" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 185 .

dart:nullable_selector a owl:Class ;
    rdfs:label "nullable_selector" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 401 .

dart:nullable_type a owl:Class ;
    rdfs:label "nullable_type" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 400 .

dart:object_pattern a owl:Class ;
    rdfs:label "object_pattern" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 293 .

dart:operator_signature a owl:Class ;
    rdfs:label "operator_signature" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 364 .

dart:optional_formal_parameters a owl:Class ;
    rdfs:label "optional_formal_parameters" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 412 .

dart:optional_parameter_types a owl:Class ;
    rdfs:label "optional_parameter_types" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 388 .

dart:optional_positional_parameter_types a owl:Class ;
    rdfs:label "optional_positional_parameter_types" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 389 .

dart:pair a owl:Class ;
    rdfs:label "pair" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 183 .

dart:parameter_type_list a owl:Class ;
    rdfs:label "parameter_type_list" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 386 .

dart:parenthesized_expression a owl:Class ;
    rdfs:label "parenthesized_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 245 .

dart:part_directive a owl:Class ;
    rdfs:label "part_directive" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 324 .

dart:part_of_builtin a owl:Class ;
    rdfs:label "part_of_builtin" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 119 .

dart:part_of_directive a owl:Class ;
    rdfs:label "part_of_directive" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 325 .

dart:pattern_assignment a owl:Class ;
    rdfs:label "pattern_assignment" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 296 .

dart:pattern_variable_declaration a owl:Class ;
    rdfs:label "pattern_variable_declaration" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 294 .

dart:postfix_expression a owl:Class ;
    rdfs:label "postfix_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 228 .

dart:postfix_operator a owl:Class ;
    rdfs:label "postfix_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 229 .

dart:prefix_operator a owl:Class ;
    rdfs:label "prefix_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 232 .

dart:program a owl:Class ;
    rdfs:label "program" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 161 .

dart:qualified a owl:Class ;
    rdfs:label "qualified" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 428 .

dart:record_field a owl:Class ;
    rdfs:label "record_field" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 188 .

dart:record_literal a owl:Class ;
    rdfs:label "record_literal" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 186 .

dart:record_pattern a owl:Class ;
    rdfs:label "record_pattern" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 291 .

dart:record_type a owl:Class ;
    rdfs:label "record_type" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 393 .

dart:record_type_field a owl:Class ;
    rdfs:label "record_type_field" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 394 .

dart:record_type_named_field a owl:Class ;
    rdfs:label "record_type_named_field" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 395 .

dart:redirecting_factory_constructor_signature a owl:Class ;
    rdfs:label "redirecting_factory_constructor_signature" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 372 .

dart:redirection a owl:Class ;
    rdfs:label "redirection" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 373 .

dart:relational_expression a owl:Class ;
    rdfs:label "relational_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 210 .

dart:relational_operator a owl:Class ;
    rdfs:label "relational_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 211 .

dart:representation_declaration a owl:Class ;
    rdfs:label "representation_declaration" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 342 .

dart:rest_pattern a owl:Class ;
    rdfs:label "rest_pattern" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 288 .

dart:rethrow_builtin a owl:Class ;
    rdfs:label "rethrow_builtin" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 118 .

dart:rethrow_expression a owl:Class ;
    rdfs:label "rethrow_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 194 .

dart:rethrow_statement rdfs:subClassOf ast-x:ThrowStatement .

dart:return_statement a owl:Class ;
    rdfs:label "return_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:ReturnStatement ;
    dart:isSupertype true ;
    dart:nodeTypeId 305 .

dart:right a owl:DatatypeProperty ;
    rdfs:label "right (literal)" ;
    rdfs:comment "Literal value for right field when it contains a terminal node" ;
    dart:fieldId 15 ;
    dart:isTerminalField true .

dart:scope a owl:DatatypeProperty ;
    rdfs:label "scope (literal)" ;
    rdfs:comment "Literal value for scope field when it contains a terminal node" ;
    dart:fieldId 16 ;
    dart:isTerminalField true .

dart:scoped_identifier a owl:Class ;
    rdfs:label "scoped_identifier" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 376 .

dart:script_tag a owl:Class ;
    rdfs:label "script_tag" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 424 .

dart:sealed a owl:Class ;
    rdfs:label "sealed" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 444 .

dart:second a owl:DatatypeProperty ;
    rdfs:label "second (literal)" ;
    rdfs:comment "Literal value for second field when it contains a terminal node" ;
    dart:fieldId 17 ;
    dart:isTerminalField true .

dart:selector a owl:Class ;
    rdfs:label "selector" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 231 .

dart:set_or_map_literal a owl:Class ;
    rdfs:label "set_or_map_literal" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 182 .

dart:setter_signature a owl:Class ;
    rdfs:label "setter_signature" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 356 .

dart:shift_expression a owl:Class ;
    rdfs:label "shift_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 215 .

dart:shift_operator a owl:Class ;
    rdfs:label "shift_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 220 .

dart:spread_element a owl:Class ;
    rdfs:label "spread_element" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 230 .

dart:static_final_declaration a owl:Class ;
    rdfs:label "static_final_declaration" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 365 .

dart:static_final_declaration_list a owl:Class ;
    rdfs:label "static_final_declaration_list" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 362 .

dart:string_literal a owl:Class ;
    rdfs:label "string_literal" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 169 .

dart:super a owl:Class ;
    rdfs:label "super" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 458 .

dart:super_formal_parameter a owl:Class ;
    rdfs:label "super_formal_parameter" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    dart:isSupertype true ;
    dart:nodeTypeId 421 .

dart:superclass a owl:Class ;
    rdfs:label "superclass" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:ExtendsClause ;
    dart:isSupertype true ;
    dart:nodeTypeId 347 .

dart:switch_block a owl:Class ;
    rdfs:label "switch_block" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 297 .

dart:switch_expression a owl:Class ;
    rdfs:label "switch_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 271 .

dart:switch_expression_case a owl:Class ;
    rdfs:label "switch_expression_case" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 272 .

dart:switch_statement a owl:Class ;
    rdfs:label "switch_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    dart:isSupertype true ;
    dart:nodeTypeId 270 .

dart:switch_statement_case a owl:Class ;
    rdfs:label "switch_statement_case" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 298 .

dart:switch_statement_default a owl:Class ;
    rdfs:label "switch_statement_default" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 299 .

dart:symbol_literal a owl:Class ;
    rdfs:label "symbol_literal" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 166 .

dart:template_substitution a owl:Class ;
    rdfs:label "template_substitution" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 178 .

dart:this a owl:Class ;
    rdfs:label "this" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 457 .

dart:throw_expression a owl:Class ;
    rdfs:label "throw_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 192 .

dart:throw_expression_without_cascade a owl:Class ;
    rdfs:label "throw_expression_without_cascade" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 193 .

dart:tilde_operator a owl:Class ;
    rdfs:label "tilde_operator" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 235 .

dart:true a owl:Class ;
    rdfs:label "true" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 167 .

dart:try_statement a owl:Class ;
    rdfs:label "try_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    dart:isSupertype true ;
    dart:nodeTypeId 306 .

dart:type a owl:DatatypeProperty ;
    rdfs:label "type (literal)" ;
    rdfs:comment "Literal value for type field when it contains a terminal node" ;
    dart:fieldId 19 ;
    dart:isTerminalField true .

dart:type_alias a owl:Class ;
    rdfs:label "type_alias" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 336 .

dart:type_arguments a owl:Class ;
    rdfs:label "type_arguments" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 262 .

dart:type_bound a owl:Class ;
    rdfs:label "type_bound" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 346 .

dart:type_cast a owl:Class ;
    rdfs:label "type_cast" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 239 .

dart:type_cast_expression a owl:Class ;
    rdfs:label "type_cast_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 208 .

dart:type_identifier a owl:Class ;
    rdfs:label "type_identifier" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 524 .

dart:type_parameter a owl:Class ;
    rdfs:label "type_parameter" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 345 .

dart:type_parameters a owl:Class ;
    rdfs:label "type_parameters" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 344 .

dart:type_test a owl:Class ;
    rdfs:label "type_test" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 237 .

dart:type_test_expression a owl:Class ;
    rdfs:label "type_test_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 209 .

dart:typed_identifier a owl:Class ;
    rdfs:label "typed_identifier" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 399 .

dart:unary_expression a owl:Class ;
    rdfs:label "unary_expression" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 226 .

dart:unconditional_assignable_selector a owl:Class ;
    rdfs:label "unconditional_assignable_selector" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 259 .

dart:update a owl:DatatypeProperty ;
    rdfs:label "update (literal)" ;
    rdfs:comment "Literal value for update field when it contains a terminal node" ;
    dart:fieldId 21 ;
    dart:isTerminalField true .

dart:uri a owl:Class ;
    rdfs:label "uri" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 326 .

dart:uri_test a owl:Class ;
    rdfs:label "uri_test" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 330 .

dart:value a owl:DatatypeProperty ;
    rdfs:label "value (literal)" ;
    rdfs:comment "Literal value for value field when it contains a terminal node" ;
    dart:fieldId 22 ;
    dart:isTerminalField true .

dart:variable_pattern a owl:Class ;
    rdfs:label "variable_pattern" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 284 .

dart:void_type a owl:Class ;
    rdfs:label "void_type" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 107 .

dart:while_statement a owl:Class ;
    rdfs:label "while_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    dart:isSupertype true ;
    dart:nodeTypeId 314 .

dart:yield_each_statement a owl:Class ;
    rdfs:label "yield_each_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 304 .

dart:yield_statement a owl:Class ;
    rdfs:label "yield_statement" ;
    rdfs:isDefinedBy dart: ;
    rdfs:subClassOf ast:Node ;
    dart:isSupertype true ;
    dart:nodeTypeId 303 .

elixir:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

elixir:access_call a owl:Class ;
    rdfs:label "access_call" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 195 .

elixir:after_block a owl:Class ;
    rdfs:label "after_block" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 191 .

elixir:alias a owl:Class ;
    rdfs:label "alias" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 7 .

elixir:anonymous_function a owl:Class ;
    rdfs:label "anonymous_function" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 203 .

elixir:arguments a owl:Class ;
    rdfs:label "arguments" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 186,
        187,
        189,
        198,
        199 .

elixir:atom a owl:Class ;
    rdfs:label "atom" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 14 .

elixir:binary_operator a owl:Class ;
    rdfs:label "binary_operator" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 171,
        200,
        201 .

elixir:bitstring a owl:Class ;
    rdfs:label "bitstring" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 164 .

elixir:block a owl:Class ;
    rdfs:label "block" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 127 .

elixir:body a owl:Class ;
    rdfs:label "body" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 202 .

elixir:boolean a owl:Class ;
    rdfs:label "boolean" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 129 .

elixir:call a owl:Class ;
    rdfs:label "call" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 174 .

elixir:catch_block a owl:Class ;
    rdfs:label "catch_block" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 193 .

elixir:char a owl:Class ;
    rdfs:label "char" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 10 .

elixir:charlist a owl:Class ;
    rdfs:label "charlist" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 154 .

elixir:comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 97 .

elixir:do_block a owl:Class ;
    rdfs:label "do_block" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 190 .

elixir:dot a owl:Class ;
    rdfs:label "dot" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 173,
        182,
        184 .

elixir:else_block a owl:Class ;
    rdfs:label "else_block" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 194 .

elixir:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 28 .

elixir:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

elixir:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

elixir:field_key a owl:ObjectProperty ;
    rdfs:label "key (structural)" ;
    rdfs:comment "Structural reference for key field when it contains a non-terminal node" ;
    elixir:fieldId 1 .

elixir:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    elixir:fieldId 2 .

elixir:field_operand a owl:ObjectProperty ;
    rdfs:label "operand (structural)" ;
    rdfs:comment "Structural reference for operand field when it contains a non-terminal node" ;
    elixir:fieldId 3 .

elixir:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    elixir:fieldId 4 .

elixir:field_quoted_end a owl:ObjectProperty ;
    rdfs:label "quoted_end (structural)" ;
    rdfs:comment "Structural reference for quoted_end field when it contains a non-terminal node" ;
    elixir:fieldId 5 .

elixir:field_quoted_start a owl:ObjectProperty ;
    rdfs:label "quoted_start (structural)" ;
    rdfs:comment "Structural reference for quoted_start field when it contains a non-terminal node" ;
    elixir:fieldId 6 .

elixir:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    elixir:fieldId 7 .

elixir:field_target a owl:ObjectProperty ;
    rdfs:label "target (structural)" ;
    rdfs:comment "Structural reference for target field when it contains a non-terminal node" ;
    elixir:fieldId 8 .

elixir:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    elixir:fieldId 9 .

elixir:float a owl:Class ;
    rdfs:label "float" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 9 .

elixir:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 128 .

elixir:integer a owl:Class ;
    rdfs:label "integer" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 8 .

elixir:interpolation a owl:Class ;
    rdfs:label "interpolation" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 155 .

elixir:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

elixir:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

elixir:key a owl:DatatypeProperty ;
    rdfs:label "key (literal)" ;
    rdfs:comment "Literal value for key field when it contains a terminal node" ;
    elixir:fieldId 1 ;
    elixir:isTerminalField true .

elixir:keyword a owl:Class ;
    rdfs:label "keyword" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 34 .

elixir:keywords a owl:Class ;
    rdfs:label "keywords" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 157,
        158 .

elixir:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

elixir:left a owl:DatatypeProperty ;
    rdfs:label "left (literal)" ;
    rdfs:comment "Literal value for left field when it contains a terminal node" ;
    elixir:fieldId 2 ;
    elixir:isTerminalField true .

elixir:list a owl:Class ;
    rdfs:label "list" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 162 .

elixir:map a owl:Class ;
    rdfs:label "map" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 165 .

elixir:map_content a owl:Class ;
    rdfs:label "map_content" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 234 .

elixir:nil a owl:Class ;
    rdfs:label "nil" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 130 .

elixir:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

elixir:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

elixir:operand a owl:DatatypeProperty ;
    rdfs:label "operand (literal)" ;
    rdfs:comment "Literal value for operand field when it contains a terminal node" ;
    elixir:fieldId 3 ;
    elixir:isTerminalField true .

elixir:operator_identifier a owl:Class ;
    rdfs:label "operator_identifier" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 172 .

elixir:pair a owl:Class ;
    rdfs:label "pair" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 159 .

elixir:quoted_atom a owl:Class ;
    rdfs:label "quoted_atom" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 132 .

elixir:quoted_content a owl:Class ;
    rdfs:label "quoted_content" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 98,
        99,
        100,
        101,
        102,
        103,
        104,
        105,
        106,
        107,
        108,
        109,
        110,
        111,
        112,
        113,
        114,
        115,
        116,
        117 .

elixir:quoted_keyword a owl:Class ;
    rdfs:label "quoted_keyword" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 161 .

elixir:rescue_block a owl:Class ;
    rdfs:label "rescue_block" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 192 .

elixir:right a owl:DatatypeProperty ;
    rdfs:label "right (literal)" ;
    rdfs:comment "Literal value for right field when it contains a terminal node" ;
    elixir:fieldId 7 ;
    elixir:isTerminalField true .

elixir:sigil a owl:Class ;
    rdfs:label "sigil" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 156 .

elixir:sigil_modifiers a owl:Class ;
    rdfs:label "sigil_modifiers" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 32 .

elixir:sigil_name a owl:Class ;
    rdfs:label "sigil_name" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 30,
        31 .

elixir:source a owl:Class ;
    rdfs:label "source" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 124 .

elixir:stab_clause a owl:Class ;
    rdfs:label "stab_clause" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node,
        ast-x:ElseClause ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 196 .

elixir:string a owl:Class ;
    rdfs:label "string" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 153 .

elixir:struct a owl:Class ;
    rdfs:label "struct" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 166 .

elixir:target a owl:DatatypeProperty ;
    rdfs:label "target (literal)" ;
    rdfs:comment "Literal value for target field when it contains a terminal node" ;
    elixir:fieldId 8 ;
    elixir:isTerminalField true .

elixir:tuple a owl:Class ;
    rdfs:label "tuple" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 163 .

elixir:unary_operator a owl:Class ;
    rdfs:label "unary_operator" ;
    rdfs:isDefinedBy elixir: ;
    rdfs:subClassOf ast:Node ;
    elixir:isSupertype true ;
    elixir:nodeTypeId 169 .

elixir:value a owl:DatatypeProperty ;
    rdfs:label "value (literal)" ;
    rdfs:comment "Literal value for value field when it contains a terminal node" ;
    elixir:fieldId 9 ;
    elixir:isTerminalField true .

go:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

go:argument_list a owl:Class ;
    rdfs:label "argument_list" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 173,
        174 .

go:array_type a owl:Class ;
    rdfs:label "array_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 123 .

go:assignment_statement a owl:Class ;
    rdfs:label "assignment_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    go:isSupertype true ;
    go:nodeTypeId 146 .

go:binary_expression a owl:Class ;
    rdfs:label "binary_expression" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 187 .

go:blank_identifier a owl:Class ;
    rdfs:label "blank_identifier" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 8 .

go:block a owl:Class ;
    rdfs:label "block" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 136 .

go:break_statement a owl:Class ;
    rdfs:label "break_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    go:isSupertype true ;
    go:nodeTypeId 151 .

go:call_expression a owl:Class ;
    rdfs:label "call_expression" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    go:isSupertype true ;
    go:nodeTypeId 171 .

go:channel_type a owl:Class ;
    rdfs:label "channel_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 134 .

go:comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    go:isSupertype true ;
    go:nodeTypeId 94 .

go:communication_case a owl:Class ;
    rdfs:label "communication_case" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 168 .

go:composite_literal a owl:Class ;
    rdfs:label "composite_literal" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 181 .

go:const_declaration a owl:Class ;
    rdfs:label "const_declaration" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 102 .

go:const_spec a owl:Class ;
    rdfs:label "const_spec" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 103 .

go:continue_statement a owl:Class ;
    rdfs:label "continue_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:ContinueStatement ;
    go:isSupertype true ;
    go:nodeTypeId 152 .

go:dec_statement a owl:Class ;
    rdfs:label "dec_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 145 .

go:default_case a owl:Class ;
    rdfs:label "default_case" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 163 .

go:defer_statement a owl:Class ;
    rdfs:label "defer_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 156 .

go:dot a owl:Class ;
    rdfs:label "dot" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 99 .

go:empty_statement a owl:Class ;
    rdfs:label "empty_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 139 .

go:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 85 .

go:expression_case a owl:Class ;
    rdfs:label "expression_case" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 162 .

go:expression_list a owl:Class ;
    rdfs:label "expression_list" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 117 .

go:expression_statement a owl:Class ;
    rdfs:label "expression_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 141 .

go:expression_switch_statement a owl:Class ;
    rdfs:label "expression_switch_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    go:isSupertype true ;
    go:nodeTypeId 161 .

go:fallthrough_statement a owl:Class ;
    rdfs:label "fallthrough_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    go:isSupertype true ;
    go:nodeTypeId 150 .

go:false a owl:Class ;
    rdfs:label "false" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 92 .

go:field a owl:DatatypeProperty ;
    rdfs:label "field (literal)" ;
    rdfs:comment "Literal value for field field when it contains a terminal node" ;
    go:fieldId 12 ;
    go:isTerminalField true .

go:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

go:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

go:field_alias a owl:ObjectProperty ;
    rdfs:label "alias (structural)" ;
    rdfs:comment "Structural reference for alias field when it contains a non-terminal node" ;
    go:fieldId 1 .

go:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    go:fieldId 2 .

go:field_arguments a owl:ObjectProperty ;
    rdfs:label "arguments (structural)" ;
    rdfs:comment "Structural reference for arguments field when it contains a non-terminal node" ;
    go:fieldId 3 .

go:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    go:fieldId 4 .

go:field_capacity a owl:ObjectProperty ;
    rdfs:label "capacity (structural)" ;
    rdfs:comment "Structural reference for capacity field when it contains a non-terminal node" ;
    go:fieldId 5 .

go:field_channel a owl:ObjectProperty ;
    rdfs:label "channel (structural)" ;
    rdfs:comment "Structural reference for channel field when it contains a non-terminal node" ;
    go:fieldId 6 .

go:field_communication a owl:ObjectProperty ;
    rdfs:label "communication (structural)" ;
    rdfs:comment "Structural reference for communication field when it contains a non-terminal node" ;
    go:fieldId 7 .

go:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    go:fieldId 8 .

go:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    go:fieldId 9 .

go:field_declaration a owl:Class ;
    rdfs:label "field_declaration" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 129 .

go:field_declaration_list a owl:Class ;
    rdfs:label "field_declaration_list" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 128 .

go:field_element a owl:ObjectProperty ;
    rdfs:label "element (structural)" ;
    rdfs:comment "Structural reference for element field when it contains a non-terminal node" ;
    go:fieldId 10 .

go:field_end a owl:ObjectProperty ;
    rdfs:label "end (structural)" ;
    rdfs:comment "Structural reference for end field when it contains a non-terminal node" ;
    go:fieldId 11 .

go:field_function a owl:ObjectProperty ;
    rdfs:label "function (structural)" ;
    rdfs:comment "Structural reference for function field when it contains a non-terminal node" ;
    go:fieldId 13 .

go:field_identifier a owl:Class ;
    rdfs:label "field_identifier" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 214 .

go:field_index a owl:ObjectProperty ;
    rdfs:label "index (structural)" ;
    rdfs:comment "Structural reference for index field when it contains a non-terminal node" ;
    go:fieldId 14 .

go:field_initializer a owl:ObjectProperty ;
    rdfs:label "initializer (structural)" ;
    rdfs:comment "Structural reference for initializer field when it contains a non-terminal node" ;
    go:fieldId 15 .

go:field_key a owl:ObjectProperty ;
    rdfs:label "key (structural)" ;
    rdfs:comment "Structural reference for key field when it contains a non-terminal node" ;
    go:fieldId 16 .

go:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    go:fieldId 18 .

go:field_length a owl:ObjectProperty ;
    rdfs:label "length (structural)" ;
    rdfs:comment "Structural reference for length field when it contains a non-terminal node" ;
    go:fieldId 19 .

go:field_name a owl:ObjectProperty ;
    rdfs:label "name (structural)" ;
    rdfs:comment "Structural reference for name field when it contains a non-terminal node" ;
    go:fieldId 20 .

go:field_operand a owl:ObjectProperty ;
    rdfs:label "operand (structural)" ;
    rdfs:comment "Structural reference for operand field when it contains a non-terminal node" ;
    go:fieldId 21 .

go:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    go:fieldId 22 .

go:field_parameters a owl:ObjectProperty ;
    rdfs:label "parameters (structural)" ;
    rdfs:comment "Structural reference for parameters field when it contains a non-terminal node" ;
    go:fieldId 24 .

go:field_path a owl:ObjectProperty ;
    rdfs:label "path (structural)" ;
    rdfs:comment "Structural reference for path field when it contains a non-terminal node" ;
    go:fieldId 25 .

go:field_receiver a owl:ObjectProperty ;
    rdfs:label "receiver (structural)" ;
    rdfs:comment "Structural reference for receiver field when it contains a non-terminal node" ;
    go:fieldId 26 .

go:field_result a owl:ObjectProperty ;
    rdfs:label "result (structural)" ;
    rdfs:comment "Structural reference for result field when it contains a non-terminal node" ;
    go:fieldId 27 .

go:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    go:fieldId 28 .

go:field_start a owl:ObjectProperty ;
    rdfs:label "start (structural)" ;
    rdfs:comment "Structural reference for start field when it contains a non-terminal node" ;
    go:fieldId 29 .

go:field_tag a owl:ObjectProperty ;
    rdfs:label "tag (structural)" ;
    rdfs:comment "Structural reference for tag field when it contains a non-terminal node" ;
    go:fieldId 30 .

go:field_type a owl:ObjectProperty ;
    rdfs:label "type (structural)" ;
    rdfs:comment "Structural reference for type field when it contains a non-terminal node" ;
    go:fieldId 31 .

go:field_type_arguments a owl:ObjectProperty ;
    rdfs:label "type_arguments (structural)" ;
    rdfs:comment "Structural reference for type_arguments field when it contains a non-terminal node" ;
    go:fieldId 32 .

go:field_type_parameters a owl:ObjectProperty ;
    rdfs:label "type_parameters (structural)" ;
    rdfs:comment "Structural reference for type_parameters field when it contains a non-terminal node" ;
    go:fieldId 33 .

go:field_update a owl:ObjectProperty ;
    rdfs:label "update (structural)" ;
    rdfs:comment "Structural reference for update field when it contains a non-terminal node" ;
    go:fieldId 34 .

go:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    go:fieldId 35 .

go:float_literal a owl:Class ;
    rdfs:label "float_literal" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 87 .

go:for_clause a owl:Class ;
    rdfs:label "for_clause" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 159 .

go:for_statement a owl:Class ;
    rdfs:label "for_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    go:isSupertype true ;
    go:nodeTypeId 158 .

go:func_literal a owl:Class ;
    rdfs:label "func_literal" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 185 .

go:function_declaration a owl:Class ;
    rdfs:label "function_declaration" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    go:isSupertype true ;
    go:nodeTypeId 107 .

go:function_type a owl:Class ;
    rdfs:label "function_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 135 .

go:generic_type a owl:Class ;
    rdfs:label "generic_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 120 .

go:go_statement a owl:Class ;
    rdfs:label "go_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 155 .

go:goto_statement a owl:Class ;
    rdfs:label "goto_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 153 .

go:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 1,
        60,
        61 .

go:if_statement a owl:Class ;
    rdfs:label "if_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    go:isSupertype true ;
    go:nodeTypeId 157 .

go:imaginary_literal a owl:Class ;
    rdfs:label "imaginary_literal" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 88 .

go:implicit_length_array_type a owl:Class ;
    rdfs:label "implicit_length_array_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 124 .

go:import_declaration a owl:Class ;
    rdfs:label "import_declaration" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    go:isSupertype true ;
    go:nodeTypeId 97 .

go:import_spec a owl:Class ;
    rdfs:label "import_spec" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 98 .

go:import_spec_list a owl:Class ;
    rdfs:label "import_spec_list" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 100 .

go:inc_statement a owl:Class ;
    rdfs:label "inc_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 144 .

go:index_expression a owl:Class ;
    rdfs:label "index_expression" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 176 .

go:int_literal a owl:Class ;
    rdfs:label "int_literal" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 86 .

go:interface_type a owl:Class ;
    rdfs:label "interface_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition,
        ast-x:InheritanceSpecifier ;
    go:isSupertype true ;
    go:nodeTypeId 130 .

go:interpreted_string_literal a owl:Class ;
    rdfs:label "interpreted_string_literal" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 190 .

go:interpreted_string_literal_content a owl:Class ;
    rdfs:label "interpreted_string_literal_content" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 83 .

go:iota a owl:Class ;
    rdfs:label "iota" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 93 .

go:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

go:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

go:keyed_element a owl:Class ;
    rdfs:label "keyed_element" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 184 .

go:label a owl:DatatypeProperty ;
    rdfs:label "label (literal)" ;
    rdfs:comment "Literal value for label field when it contains a terminal node" ;
    go:fieldId 17 ;
    go:isTerminalField true .

go:label_name a owl:Class ;
    rdfs:label "label_name" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 215 .

go:labeled_statement a owl:Class ;
    rdfs:label "labeled_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 148,
        149 .

go:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

go:literal_element a owl:Class ;
    rdfs:label "literal_element" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 183 .

go:literal_value a owl:Class ;
    rdfs:label "literal_value" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 182 .

go:map_type a owl:Class ;
    rdfs:label "map_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 133 .

go:method_declaration a owl:Class ;
    rdfs:label "method_declaration" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    go:isSupertype true ;
    go:nodeTypeId 108 .

go:method_elem a owl:Class ;
    rdfs:label "method_elem" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 131 .

go:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    go:fieldId 20 ;
    go:isTerminalField true .

go:negated_type a owl:Class ;
    rdfs:label "negated_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 127 .

go:nil a owl:Class ;
    rdfs:label "nil" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 90 .

go:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

go:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

go:package a owl:DatatypeProperty ;
    rdfs:label "package (literal)" ;
    rdfs:comment "Literal value for package field when it contains a terminal node" ;
    go:fieldId 23 ;
    go:isTerminalField true .

go:package_clause a owl:Class ;
    rdfs:label "package_clause" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 96 .

go:package_identifier a owl:Class ;
    rdfs:label "package_identifier" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 216 .

go:parameter_declaration a owl:Class ;
    rdfs:label "parameter_declaration" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    go:isSupertype true ;
    go:nodeTypeId 112 .

go:parameter_list a owl:Class ;
    rdfs:label "parameter_list" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    go:isSupertype true ;
    go:nodeTypeId 111 .

go:parenthesized_expression a owl:Class ;
    rdfs:label "parenthesized_expression" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 170 .

go:parenthesized_type a owl:Class ;
    rdfs:label "parenthesized_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 118 .

go:pointer_type a owl:Class ;
    rdfs:label "pointer_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 122 .

go:qualified_type a owl:Class ;
    rdfs:label "qualified_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 188 .

go:range_clause a owl:Class ;
    rdfs:label "range_clause" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 160 .

go:raw_string_literal a owl:Class ;
    rdfs:label "raw_string_literal" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 189 .

go:raw_string_literal_content a owl:Class ;
    rdfs:label "raw_string_literal_content" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 81 .

go:receive_statement a owl:Class ;
    rdfs:label "receive_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 143 .

go:return_statement a owl:Class ;
    rdfs:label "return_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:ReturnStatement ;
    go:isSupertype true ;
    go:nodeTypeId 154 .

go:rune_literal a owl:Class ;
    rdfs:label "rune_literal" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 89 .

go:select_statement a owl:Class ;
    rdfs:label "select_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 167 .

go:selector_expression a owl:Class ;
    rdfs:label "selector_expression" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 175 .

go:send_statement a owl:Class ;
    rdfs:label "send_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 142 .

go:short_var_declaration a owl:Class ;
    rdfs:label "short_var_declaration" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    go:isSupertype true ;
    go:nodeTypeId 147 .

go:slice_expression a owl:Class ;
    rdfs:label "slice_expression" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 177 .

go:slice_type a owl:Class ;
    rdfs:label "slice_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 125 .

go:source_file a owl:Class ;
    rdfs:label "source_file" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 95 .

go:statement_list a owl:Class ;
    rdfs:label "statement_list" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 137 .

go:struct_type a owl:Class ;
    rdfs:label "struct_type" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    go:isSupertype true ;
    go:nodeTypeId 126 .

go:true a owl:Class ;
    rdfs:label "true" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 91 .

go:type a owl:DatatypeProperty ;
    rdfs:label "type (literal)" ;
    rdfs:comment "Literal value for type field when it contains a terminal node" ;
    go:fieldId 31 ;
    go:isTerminalField true .

go:type_alias a owl:Class ;
    rdfs:label "type_alias" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 114 .

go:type_arguments a owl:Class ;
    rdfs:label "type_arguments" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 121 .

go:type_assertion_expression a owl:Class ;
    rdfs:label "type_assertion_expression" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 178 .

go:type_case a owl:Class ;
    rdfs:label "type_case" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 166 .

go:type_constraint a owl:Class ;
    rdfs:label "type_constraint" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 217 .

go:type_conversion_expression a owl:Class ;
    rdfs:label "type_conversion_expression" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 179 .

go:type_declaration a owl:Class ;
    rdfs:label "type_declaration" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    go:isSupertype true ;
    go:nodeTypeId 115 .

go:type_elem a owl:Class ;
    rdfs:label "type_elem" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 132 .

go:type_identifier a owl:Class ;
    rdfs:label "type_identifier" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 218 .

go:type_instantiation_expression a owl:Class ;
    rdfs:label "type_instantiation_expression" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 180 .

go:type_parameter_declaration a owl:Class ;
    rdfs:label "type_parameter_declaration" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 110 .

go:type_parameter_list a owl:Class ;
    rdfs:label "type_parameter_list" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 109 .

go:type_spec a owl:Class ;
    rdfs:label "type_spec" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 116 .

go:type_switch_statement a owl:Class ;
    rdfs:label "type_switch_statement" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    go:isSupertype true ;
    go:nodeTypeId 164 .

go:unary_expression a owl:Class ;
    rdfs:label "unary_expression" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 186 .

go:var_declaration a owl:Class ;
    rdfs:label "var_declaration" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    go:isSupertype true ;
    go:nodeTypeId 104 .

go:var_spec a owl:Class ;
    rdfs:label "var_spec" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 105 .

go:var_spec_list a owl:Class ;
    rdfs:label "var_spec_list" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 106 .

go:variadic_argument a owl:Class ;
    rdfs:label "variadic_argument" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node ;
    go:isSupertype true ;
    go:nodeTypeId 172 .

go:variadic_parameter_declaration a owl:Class ;
    rdfs:label "variadic_parameter_declaration" ;
    rdfs:isDefinedBy go: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    go:isSupertype true ;
    go:nodeTypeId 113 .

java:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

java:annotated_type a owl:Class ;
    rdfs:label "annotated_type" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 265 .

java:annotation a owl:Class ;
    rdfs:label "annotation" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 211 .

java:annotation_argument_list a owl:Class ;
    rdfs:label "annotation_argument_list" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 212 .

java:annotation_type_body a owl:Class ;
    rdfs:label "annotation_type_body" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 252 .

java:annotation_type_declaration a owl:Class ;
    rdfs:label "annotation_type_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 251 .

java:annotation_type_element_declaration a owl:Class ;
    rdfs:label "annotation_type_element_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 253 .

java:argument_list a owl:Class ;
    rdfs:label "argument_list" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 168 .

java:array_access a owl:Class ;
    rdfs:label "array_access" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 166 .

java:array_creation_expression a owl:Class ;
    rdfs:label "array_creation_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 158 .

java:array_initializer a owl:Class ;
    rdfs:label "array_initializer" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 262 .

java:array_type a owl:Class ;
    rdfs:label "array_type" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 268 .

java:assert_statement a owl:Class ;
    rdfs:label "assert_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 189 .

java:assignment_expression a owl:Class ;
    rdfs:label "assignment_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    java:isSupertype true ;
    java:nodeTypeId 149 .

java:asterisk a owl:Class ;
    rdfs:label "asterisk" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 228 .

java:binary_expression a owl:Class ;
    rdfs:label "binary_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 150 .

java:binary_integer_literal a owl:Class ;
    rdfs:label "binary_integer_literal" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 5 .

java:block a owl:Class ;
    rdfs:label "block" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 186 .

java:block_comment a owl:Class ;
    rdfs:label "block_comment" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    java:isSupertype true ;
    java:nodeTypeId 137 .

java:boolean_type a owl:Class ;
    rdfs:label "boolean_type" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 130 .

java:break_statement a owl:Class ;
    rdfs:label "break_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    java:isSupertype true ;
    java:nodeTypeId 191 .

java:cast_expression a owl:Class ;
    rdfs:label "cast_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 148 .

java:catch_clause a owl:Class ;
    rdfs:label "catch_clause" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    java:isSupertype true ;
    java:nodeTypeId 198 .

java:catch_formal_parameter a owl:Class ;
    rdfs:label "catch_formal_parameter" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 199 .

java:catch_type a owl:Class ;
    rdfs:label "catch_type" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 200 .

java:character_literal a owl:Class ;
    rdfs:label "character_literal" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 10 .

java:class_body a owl:Class ;
    rdfs:label "class_body" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 242 .

java:class_declaration a owl:Class ;
    rdfs:label "class_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    java:isSupertype true ;
    java:nodeTypeId 233 .

java:class_literal a owl:Class ;
    rdfs:label "class_literal" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 161 .

java:compact_constructor_declaration a owl:Class ;
    rdfs:label "compact_constructor_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 280 .

java:constant_declaration a owl:Class ;
    rdfs:label "constant_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 258 .

java:constructor a owl:DatatypeProperty ;
    rdfs:label "constructor (literal)" ;
    rdfs:comment "Literal value for constructor field when it contains a terminal node" ;
    java:fieldId 7 ;
    java:isTerminalField true .

java:constructor_body a owl:Class ;
    rdfs:label "constructor_body" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 246 .

java:constructor_declaration a owl:Class ;
    rdfs:label "constructor_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    java:isSupertype true ;
    java:nodeTypeId 244 .

java:continue_statement a owl:Class ;
    rdfs:label "continue_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ContinueStatement ;
    java:isSupertype true ;
    java:nodeTypeId 192 .

java:decimal_floating_point_literal a owl:Class ;
    rdfs:label "decimal_floating_point_literal" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 6 .

java:decimal_integer_literal a owl:Class ;
    rdfs:label "decimal_integer_literal" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 2 .

java:dimensions a owl:Class ;
    rdfs:label "dimensions" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 173 .

java:dimensions_expr a owl:Class ;
    rdfs:label "dimensions_expr" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 159 .

java:do_statement a owl:Class ;
    rdfs:label "do_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    java:isSupertype true ;
    java:nodeTypeId 190 .

java:element_value_array_initializer a owl:Class ;
    rdfs:label "element_value_array_initializer" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 215 .

java:element_value_pair a owl:Class ;
    rdfs:label "element_value_pair" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 213 .

java:enhanced_for_statement a owl:Class ;
    rdfs:label "enhanced_for_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    java:isSupertype true ;
    java:nodeTypeId 208 .

java:enum_body a owl:Class ;
    rdfs:label "enum_body" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 230 .

java:enum_body_declarations a owl:Class ;
    rdfs:label "enum_body_declarations" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 231 .

java:enum_constant a owl:Class ;
    rdfs:label "enum_constant" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 232 .

java:enum_declaration a owl:Class ;
    rdfs:label "enum_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    java:isSupertype true ;
    java:nodeTypeId 229 .

java:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 19 .

java:explicit_constructor_invocation a owl:Class ;
    rdfs:label "explicit_constructor_invocation" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 247 .

java:exports_module_directive a owl:Class ;
    rdfs:label "exports_module_directive" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 222 .

java:expression_statement a owl:Class ;
    rdfs:label "expression_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 187 .

java:extends_interfaces a owl:Class ;
    rdfs:label "extends_interfaces" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImplementsClause ;
    java:isSupertype true ;
    java:nodeTypeId 256 .

java:false a owl:Class ;
    rdfs:label "false" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 9 .

java:field a owl:DatatypeProperty ;
    rdfs:label "field (literal)" ;
    rdfs:comment "Literal value for field field when it contains a terminal node" ;
    java:fieldId 11 ;
    java:isTerminalField true .

java:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

java:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

java:field_access a owl:Class ;
    rdfs:label "field_access" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 164 .

java:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    java:fieldId 1 .

java:field_arguments a owl:ObjectProperty ;
    rdfs:label "arguments (structural)" ;
    rdfs:comment "Structural reference for arguments field when it contains a non-terminal node" ;
    java:fieldId 2 .

java:field_array a owl:ObjectProperty ;
    rdfs:label "array (structural)" ;
    rdfs:comment "Structural reference for array field when it contains a non-terminal node" ;
    java:fieldId 3 .

java:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    java:fieldId 4 .

java:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    java:fieldId 5 .

java:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    java:fieldId 6 .

java:field_declaration a owl:Class ;
    rdfs:label "field_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 249 .

java:field_declarator a owl:ObjectProperty ;
    rdfs:label "declarator (structural)" ;
    rdfs:comment "Structural reference for declarator field when it contains a non-terminal node" ;
    java:fieldId 8 .

java:field_dimensions a owl:ObjectProperty ;
    rdfs:label "dimensions (structural)" ;
    rdfs:comment "Structural reference for dimensions field when it contains a non-terminal node" ;
    java:fieldId 9 .

java:field_element a owl:ObjectProperty ;
    rdfs:label "element (structural)" ;
    rdfs:comment "Structural reference for element field when it contains a non-terminal node" ;
    java:fieldId 10 .

java:field_index a owl:ObjectProperty ;
    rdfs:label "index (structural)" ;
    rdfs:comment "Structural reference for index field when it contains a non-terminal node" ;
    java:fieldId 12 .

java:field_init a owl:ObjectProperty ;
    rdfs:label "init (structural)" ;
    rdfs:comment "Structural reference for init field when it contains a non-terminal node" ;
    java:fieldId 13 .

java:field_interfaces a owl:ObjectProperty ;
    rdfs:label "interfaces (structural)" ;
    rdfs:comment "Structural reference for interfaces field when it contains a non-terminal node" ;
    java:fieldId 14 .

java:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    java:fieldId 16 .

java:field_module a owl:ObjectProperty ;
    rdfs:label "module (structural)" ;
    rdfs:comment "Structural reference for module field when it contains a non-terminal node" ;
    java:fieldId 18 .

java:field_modules a owl:ObjectProperty ;
    rdfs:label "modules (structural)" ;
    rdfs:comment "Structural reference for modules field when it contains a non-terminal node" ;
    java:fieldId 19 .

java:field_name a owl:ObjectProperty ;
    rdfs:label "name (structural)" ;
    rdfs:comment "Structural reference for name field when it contains a non-terminal node" ;
    java:fieldId 20 .

java:field_object a owl:ObjectProperty ;
    rdfs:label "object (structural)" ;
    rdfs:comment "Structural reference for object field when it contains a non-terminal node" ;
    java:fieldId 21 .

java:field_operand a owl:ObjectProperty ;
    rdfs:label "operand (structural)" ;
    rdfs:comment "Structural reference for operand field when it contains a non-terminal node" ;
    java:fieldId 22 .

java:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    java:fieldId 23 .

java:field_package a owl:ObjectProperty ;
    rdfs:label "package (structural)" ;
    rdfs:comment "Structural reference for package field when it contains a non-terminal node" ;
    java:fieldId 24 .

java:field_parameters a owl:ObjectProperty ;
    rdfs:label "parameters (structural)" ;
    rdfs:comment "Structural reference for parameters field when it contains a non-terminal node" ;
    java:fieldId 25 .

java:field_pattern a owl:ObjectProperty ;
    rdfs:label "pattern (structural)" ;
    rdfs:comment "Structural reference for pattern field when it contains a non-terminal node" ;
    java:fieldId 26 .

java:field_permits a owl:ObjectProperty ;
    rdfs:label "permits (structural)" ;
    rdfs:comment "Structural reference for permits field when it contains a non-terminal node" ;
    java:fieldId 27 .

java:field_provided a owl:ObjectProperty ;
    rdfs:label "provided (structural)" ;
    rdfs:comment "Structural reference for provided field when it contains a non-terminal node" ;
    java:fieldId 28 .

java:field_provider a owl:ObjectProperty ;
    rdfs:label "provider (structural)" ;
    rdfs:comment "Structural reference for provider field when it contains a non-terminal node" ;
    java:fieldId 29 .

java:field_resources a owl:ObjectProperty ;
    rdfs:label "resources (structural)" ;
    rdfs:comment "Structural reference for resources field when it contains a non-terminal node" ;
    java:fieldId 30 .

java:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    java:fieldId 31 .

java:field_scope a owl:ObjectProperty ;
    rdfs:label "scope (structural)" ;
    rdfs:comment "Structural reference for scope field when it contains a non-terminal node" ;
    java:fieldId 32 .

java:field_superclass a owl:ObjectProperty ;
    rdfs:label "superclass (structural)" ;
    rdfs:comment "Structural reference for superclass field when it contains a non-terminal node" ;
    java:fieldId 33 .

java:field_template_argument a owl:ObjectProperty ;
    rdfs:label "template_argument (structural)" ;
    rdfs:comment "Structural reference for template_argument field when it contains a non-terminal node" ;
    java:fieldId 34 .

java:field_template_processor a owl:ObjectProperty ;
    rdfs:label "template_processor (structural)" ;
    rdfs:comment "Structural reference for template_processor field when it contains a non-terminal node" ;
    java:fieldId 35 .

java:field_type a owl:ObjectProperty ;
    rdfs:label "type (structural)" ;
    rdfs:comment "Structural reference for type field when it contains a non-terminal node" ;
    java:fieldId 36 .

java:field_type_arguments a owl:ObjectProperty ;
    rdfs:label "type_arguments (structural)" ;
    rdfs:comment "Structural reference for type_arguments field when it contains a non-terminal node" ;
    java:fieldId 37 .

java:field_type_parameters a owl:ObjectProperty ;
    rdfs:label "type_parameters (structural)" ;
    rdfs:comment "Structural reference for type_parameters field when it contains a non-terminal node" ;
    java:fieldId 38 .

java:field_update a owl:ObjectProperty ;
    rdfs:label "update (structural)" ;
    rdfs:comment "Structural reference for update field when it contains a non-terminal node" ;
    java:fieldId 39 .

java:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    java:fieldId 40 .

java:finally_clause a owl:Class ;
    rdfs:label "finally_clause" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 201 .

java:floating_point_type a owl:Class ;
    rdfs:label "floating_point_type" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 270 .

java:for_statement a owl:Class ;
    rdfs:label "for_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    java:isSupertype true ;
    java:nodeTypeId 207 .

java:formal_parameter a owl:Class ;
    rdfs:label "formal_parameter" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    java:isSupertype true ;
    java:nodeTypeId 274 .

java:formal_parameters a owl:Class ;
    rdfs:label "formal_parameters" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    java:isSupertype true ;
    java:nodeTypeId 273 .

java:generic_type a owl:Class ;
    rdfs:label "generic_type" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 267 .

java:guard a owl:Class ;
    rdfs:label "guard" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 184 .

java:hex_floating_point_literal a owl:Class ;
    rdfs:label "hex_floating_point_literal" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 7 .

java:hex_integer_literal a owl:Class ;
    rdfs:label "hex_integer_literal" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 3 .

java:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 1 .

java:if_statement a owl:Class ;
    rdfs:label "if_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    java:isSupertype true ;
    java:nodeTypeId 205 .

java:import_declaration a owl:Class ;
    rdfs:label "import_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    java:isSupertype true ;
    java:nodeTypeId 227 .

java:inferred_parameters a owl:Class ;
    rdfs:label "inferred_parameters" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 153 .

java:instanceof_expression a owl:Class ;
    rdfs:label "instanceof_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 151 .

java:integral_type a owl:Class ;
    rdfs:label "integral_type" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 269 .

java:interface_body a owl:Class ;
    rdfs:label "interface_body" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 257 .

java:interface_declaration a owl:Class ;
    rdfs:label "interface_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    java:isSupertype true ;
    java:nodeTypeId 255 .

java:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

java:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

java:key a owl:DatatypeProperty ;
    rdfs:label "key (literal)" ;
    rdfs:comment "Literal value for key field when it contains a terminal node" ;
    java:fieldId 15 ;
    java:isTerminalField true .

java:labeled_statement a owl:Class ;
    rdfs:label "labeled_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 188 .

java:lambda_expression a owl:Class ;
    rdfs:label "lambda_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    java:isSupertype true ;
    java:nodeTypeId 152 .

java:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

java:left a owl:DatatypeProperty ;
    rdfs:label "left (literal)" ;
    rdfs:comment "Literal value for left field when it contains a terminal node" ;
    java:fieldId 16 ;
    java:isTerminalField true .

java:line_comment a owl:Class ;
    rdfs:label "line_comment" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    java:isSupertype true ;
    java:nodeTypeId 136 .

java:local_variable_declaration a owl:Class ;
    rdfs:label "local_variable_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    java:isSupertype true ;
    java:nodeTypeId 278 .

java:marker_annotation a owl:Class ;
    rdfs:label "marker_annotation" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 210 .

java:method_declaration a owl:Class ;
    rdfs:label "method_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    java:isSupertype true ;
    java:nodeTypeId 279 .

java:method_invocation a owl:Class ;
    rdfs:label "method_invocation" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    java:isSupertype true ;
    java:nodeTypeId 167 .

java:method_reference a owl:Class ;
    rdfs:label "method_reference" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 169 .

java:modifiers a owl:Class,
        owl:DatatypeProperty ;
    rdfs:label "modifiers",
        "modifiers (literal)" ;
    rdfs:comment "Literal value for modifiers field when it contains a terminal node" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:fieldId 17 ;
    java:isSupertype true ;
    java:isTerminalField true ;
    java:nodeTypeId 234 .

java:module a owl:DatatypeProperty ;
    rdfs:label "module (literal)" ;
    rdfs:comment "Literal value for module field when it contains a terminal node" ;
    java:fieldId 18 ;
    java:isTerminalField true .

java:module_body a owl:Class ;
    rdfs:label "module_body" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 218 .

java:module_declaration a owl:Class ;
    rdfs:label "module_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 217 .

java:modules a owl:DatatypeProperty ;
    rdfs:label "modules (literal)" ;
    rdfs:comment "Literal value for modules field when it contains a terminal node" ;
    java:fieldId 19 ;
    java:isTerminalField true .

java:multiline_string_fragment a owl:Class ;
    rdfs:label "multiline_string_fragment" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 144 .

java:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    java:fieldId 20 ;
    java:isTerminalField true .

java:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

java:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

java:null_literal a owl:Class ;
    rdfs:label "null_literal" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 20 .

java:object a owl:DatatypeProperty ;
    rdfs:label "object (literal)" ;
    rdfs:comment "Literal value for object field when it contains a terminal node" ;
    java:fieldId 21 ;
    java:isTerminalField true .

java:object_creation_expression a owl:Class ;
    rdfs:label "object_creation_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    java:isSupertype true ;
    java:nodeTypeId 162 .

java:octal_integer_literal a owl:Class ;
    rdfs:label "octal_integer_literal" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 4 .

java:opens_module_directive a owl:Class ;
    rdfs:label "opens_module_directive" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 223 .

java:package a owl:DatatypeProperty ;
    rdfs:label "package (literal)" ;
    rdfs:comment "Literal value for package field when it contains a terminal node" ;
    java:fieldId 24 ;
    java:isTerminalField true .

java:package_declaration a owl:Class ;
    rdfs:label "package_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 226 .

java:parameters a owl:DatatypeProperty ;
    rdfs:label "parameters (literal)" ;
    rdfs:comment "Literal value for parameters field when it contains a terminal node" ;
    java:fieldId 25 ;
    java:isTerminalField true .

java:parenthesized_expression a owl:Class ;
    rdfs:label "parenthesized_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 160 .

java:pattern a owl:Class ;
    rdfs:label "pattern" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 179 .

java:permits a owl:Class ;
    rdfs:label "permits" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 241 .

java:program a owl:Class ;
    rdfs:label "program" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 138 .

java:provided a owl:DatatypeProperty ;
    rdfs:label "provided (literal)" ;
    rdfs:comment "Literal value for provided field when it contains a terminal node" ;
    java:fieldId 28 ;
    java:isTerminalField true .

java:provider a owl:DatatypeProperty ;
    rdfs:label "provider (literal)" ;
    rdfs:comment "Literal value for provider field when it contains a terminal node" ;
    java:fieldId 29 ;
    java:isTerminalField true .

java:provides_module_directive a owl:Class ;
    rdfs:label "provides_module_directive" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 225 .

java:receiver_parameter a owl:Class ;
    rdfs:label "receiver_parameter" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    java:isSupertype true ;
    java:nodeTypeId 275 .

java:record_declaration a owl:Class ;
    rdfs:label "record_declaration" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 250 .

java:record_pattern a owl:Class ;
    rdfs:label "record_pattern" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 181 .

java:record_pattern_body a owl:Class ;
    rdfs:label "record_pattern_body" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 182 .

java:record_pattern_component a owl:Class ;
    rdfs:label "record_pattern_component" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 183 .

java:requires_modifier a owl:Class ;
    rdfs:label "requires_modifier" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 221 .

java:requires_module_directive a owl:Class ;
    rdfs:label "requires_module_directive" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 220 .

java:resource a owl:Class ;
    rdfs:label "resource" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 204 .

java:resource_specification a owl:Class ;
    rdfs:label "resource_specification" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 203 .

java:return_statement a owl:Class ;
    rdfs:label "return_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ReturnStatement ;
    java:isSupertype true ;
    java:nodeTypeId 193 .

java:scope a owl:DatatypeProperty ;
    rdfs:label "scope (literal)" ;
    rdfs:comment "Literal value for scope field when it contains a terminal node" ;
    java:fieldId 32 ;
    java:isTerminalField true .

java:scoped_identifier a owl:Class ;
    rdfs:label "scoped_identifier" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 248 .

java:scoped_type_identifier a owl:Class ;
    rdfs:label "scoped_type_identifier" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 266 .

java:spread_parameter a owl:Class ;
    rdfs:label "spread_parameter" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    java:isSupertype true ;
    java:nodeTypeId 276 .

java:static_initializer a owl:Class ;
    rdfs:label "static_initializer" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 243 .

java:string_fragment a owl:Class ;
    rdfs:label "string_fragment" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 13 .

java:string_interpolation a owl:Class ;
    rdfs:label "string_interpolation" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 145 .

java:string_literal a owl:Class ;
    rdfs:label "string_literal" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 141 .

java:super a owl:Class ;
    rdfs:label "super" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 135 .

java:super_interfaces a owl:Class ;
    rdfs:label "super_interfaces" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 239 .

java:superclass a owl:Class ;
    rdfs:label "superclass" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ExtendsClause ;
    java:isSupertype true ;
    java:nodeTypeId 238 .

java:switch_block a owl:Class ;
    rdfs:label "switch_block" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 175 .

java:switch_block_statement_group a owl:Class ;
    rdfs:label "switch_block_statement_group" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 176 .

java:switch_expression a owl:Class ;
    rdfs:label "switch_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    java:isSupertype true ;
    java:nodeTypeId 174 .

java:switch_label a owl:Class ;
    rdfs:label "switch_label" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 178 .

java:switch_rule a owl:Class ;
    rdfs:label "switch_rule" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 177 .

java:synchronized_statement a owl:Class ;
    rdfs:label "synchronized_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 195 .

java:template_expression a owl:Class ;
    rdfs:label "template_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 165 .

java:ternary_expression a owl:Class ;
    rdfs:label "ternary_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 154 .

java:this a owl:Class ;
    rdfs:label "this" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 134 .

java:throw_statement a owl:Class ;
    rdfs:label "throw_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:ThrowStatement ;
    java:isSupertype true ;
    java:nodeTypeId 196 .

java:throws a owl:Class ;
    rdfs:label "throws" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 277 .

java:true a owl:Class ;
    rdfs:label "true" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 8 .

java:try_statement a owl:Class ;
    rdfs:label "try_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    java:isSupertype true ;
    java:nodeTypeId 197 .

java:try_with_resources_statement a owl:Class ;
    rdfs:label "try_with_resources_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    java:isSupertype true ;
    java:nodeTypeId 202 .

java:type a owl:DatatypeProperty ;
    rdfs:label "type (literal)" ;
    rdfs:comment "Literal value for type field when it contains a terminal node" ;
    java:fieldId 36 ;
    java:isTerminalField true .

java:type_arguments a owl:Class ;
    rdfs:label "type_arguments" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 170 .

java:type_bound a owl:Class ;
    rdfs:label "type_bound" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 237 .

java:type_identifier a owl:Class ;
    rdfs:label "type_identifier" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 320 .

java:type_list a owl:Class ;
    rdfs:label "type_list" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 240 .

java:type_parameter a owl:Class ;
    rdfs:label "type_parameter" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 236 .

java:type_parameters a owl:Class ;
    rdfs:label "type_parameters" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 235 .

java:type_pattern a owl:Class ;
    rdfs:label "type_pattern" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 180 .

java:unary_expression a owl:Class ;
    rdfs:label "unary_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 155 .

java:underscore_pattern a owl:Class ;
    rdfs:label "underscore_pattern" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 75 .

java:update_expression a owl:Class ;
    rdfs:label "update_expression" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 156 .

java:uses_module_directive a owl:Class ;
    rdfs:label "uses_module_directive" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 224 .

java:variable_declarator a owl:Class ;
    rdfs:label "variable_declarator" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 260 .

java:void_type a owl:Class ;
    rdfs:label "void_type" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 131 .

java:while_statement a owl:Class ;
    rdfs:label "while_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    java:isSupertype true ;
    java:nodeTypeId 206 .

java:wildcard a owl:Class ;
    rdfs:label "wildcard" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 171 .

java:yield_statement a owl:Class ;
    rdfs:label "yield_statement" ;
    rdfs:isDefinedBy java: ;
    rdfs:subClassOf ast:Node ;
    java:isSupertype true ;
    java:nodeTypeId 194 .

javascript:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

javascript:alias a owl:DatatypeProperty ;
    rdfs:label "alias (literal)" ;
    rdfs:comment "Literal value for alias field when it contains a terminal node" ;
    javascript:fieldId 1 ;
    javascript:isTerminalField true .

javascript:arguments a owl:Class ;
    rdfs:label "arguments" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 226 .

javascript:array a owl:Class ;
    rdfs:label "array" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 186 .

javascript:array_pattern a owl:Class ;
    rdfs:label "array_pattern" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 187 .

javascript:arrow_function a owl:Class ;
    rdfs:label "arrow_function" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 204 .

javascript:assignment_expression a owl:Class ;
    rdfs:label "assignment_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 210 .

javascript:assignment_pattern a owl:Class ;
    rdfs:label "assignment_pattern" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 184 .

javascript:augmented_assignment_expression a owl:Class ;
    rdfs:label "augmented_assignment_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:AugmentedAssignment ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 212 .

javascript:await_expression a owl:Class ;
    rdfs:label "await_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 207 .

javascript:binary_expression a owl:Class ;
    rdfs:label "binary_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 217 .

javascript:break_statement a owl:Class ;
    rdfs:label "break_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 166 .

javascript:call_expression a owl:Class ;
    rdfs:label "call_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 205,
        229 .

javascript:catch_clause a owl:Class ;
    rdfs:label "catch_clause" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 176 .

javascript:class a owl:Class ;
    rdfs:label "class" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 197 .

javascript:class_body a owl:Class ;
    rdfs:label "class_body" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 230 .

javascript:class_declaration a owl:Class ;
    rdfs:label "class_declaration" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 198 .

javascript:class_heritage a owl:Class ;
    rdfs:label "class_heritage" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ExtendsClause ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 199 .

javascript:class_static_block a owl:Class ;
    rdfs:label "class_static_block" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 233 .

javascript:comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 108 .

javascript:computed_property_name a owl:Class ;
    rdfs:label "computed_property_name" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 240 .

javascript:condition a owl:DatatypeProperty ;
    rdfs:label "condition (literal)" ;
    rdfs:comment "Literal value for condition field when it contains a terminal node" ;
    javascript:fieldId 8 ;
    javascript:isTerminalField true .

javascript:continue_statement a owl:Class ;
    rdfs:label "continue_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ContinueStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 167 .

javascript:debugger_statement a owl:Class ;
    rdfs:label "debugger_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 168 .

javascript:decorator a owl:Class ;
    rdfs:label "decorator" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 227 .

javascript:do_statement a owl:Class ;
    rdfs:label "do_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 163 .

javascript:else_clause a owl:Class ;
    rdfs:label "else_clause" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ElseClause ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 156 .

javascript:empty_statement a owl:Class ;
    rdfs:label "empty_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 171 .

javascript:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 107 .

javascript:export_clause a owl:Class ;
    rdfs:label "export_clause" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 137 .

javascript:export_specifier a owl:Class ;
    rdfs:label "export_specifier" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 138 .

javascript:export_statement a owl:Class ;
    rdfs:label "export_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 135 .

javascript:expression_statement a owl:Class ;
    rdfs:label "expression_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 150 .

javascript:false a owl:Class ;
    rdfs:label "false" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 121 .

javascript:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

javascript:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

javascript:field_alias a owl:ObjectProperty ;
    rdfs:label "alias (structural)" ;
    rdfs:comment "Structural reference for alias field when it contains a non-terminal node" ;
    javascript:fieldId 1 .

javascript:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    javascript:fieldId 2 .

javascript:field_argument a owl:ObjectProperty ;
    rdfs:label "argument (structural)" ;
    rdfs:comment "Structural reference for argument field when it contains a non-terminal node" ;
    javascript:fieldId 3 .

javascript:field_arguments a owl:ObjectProperty ;
    rdfs:label "arguments (structural)" ;
    rdfs:comment "Structural reference for arguments field when it contains a non-terminal node" ;
    javascript:fieldId 4 .

javascript:field_attribute a owl:ObjectProperty ;
    rdfs:label "attribute (structural)" ;
    rdfs:comment "Structural reference for attribute field when it contains a non-terminal node" ;
    javascript:fieldId 5 .

javascript:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    javascript:fieldId 6 .

javascript:field_close_tag a owl:ObjectProperty ;
    rdfs:label "close_tag (structural)" ;
    rdfs:comment "Structural reference for close_tag field when it contains a non-terminal node" ;
    javascript:fieldId 7 .

javascript:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    javascript:fieldId 8 .

javascript:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    javascript:fieldId 9 .

javascript:field_constructor a owl:ObjectProperty ;
    rdfs:label "constructor (structural)" ;
    rdfs:comment "Structural reference for constructor field when it contains a non-terminal node" ;
    javascript:fieldId 10 .

javascript:field_declaration a owl:ObjectProperty ;
    rdfs:label "declaration (structural)" ;
    rdfs:comment "Structural reference for declaration field when it contains a non-terminal node" ;
    javascript:fieldId 11 .

javascript:field_decorator a owl:ObjectProperty ;
    rdfs:label "decorator (structural)" ;
    rdfs:comment "Structural reference for decorator field when it contains a non-terminal node" ;
    javascript:fieldId 12 .

javascript:field_definition a owl:Class ;
    rdfs:label "field_definition" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 231 .

javascript:field_finalizer a owl:ObjectProperty ;
    rdfs:label "finalizer (structural)" ;
    rdfs:comment "Structural reference for finalizer field when it contains a non-terminal node" ;
    javascript:fieldId 13 .

javascript:field_function a owl:ObjectProperty ;
    rdfs:label "function (structural)" ;
    rdfs:comment "Structural reference for function field when it contains a non-terminal node" ;
    javascript:fieldId 15 .

javascript:field_handler a owl:ObjectProperty ;
    rdfs:label "handler (structural)" ;
    rdfs:comment "Structural reference for handler field when it contains a non-terminal node" ;
    javascript:fieldId 16 .

javascript:field_increment a owl:ObjectProperty ;
    rdfs:label "increment (structural)" ;
    rdfs:comment "Structural reference for increment field when it contains a non-terminal node" ;
    javascript:fieldId 17 .

javascript:field_index a owl:ObjectProperty ;
    rdfs:label "index (structural)" ;
    rdfs:comment "Structural reference for index field when it contains a non-terminal node" ;
    javascript:fieldId 18 .

javascript:field_initializer a owl:ObjectProperty ;
    rdfs:label "initializer (structural)" ;
    rdfs:comment "Structural reference for initializer field when it contains a non-terminal node" ;
    javascript:fieldId 19 .

javascript:field_key a owl:ObjectProperty ;
    rdfs:label "key (structural)" ;
    rdfs:comment "Structural reference for key field when it contains a non-terminal node" ;
    javascript:fieldId 20 .

javascript:field_kind a owl:ObjectProperty ;
    rdfs:label "kind (structural)" ;
    rdfs:comment "Structural reference for kind field when it contains a non-terminal node" ;
    javascript:fieldId 21 .

javascript:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    javascript:fieldId 23 .

javascript:field_member a owl:ObjectProperty ;
    rdfs:label "member (structural)" ;
    rdfs:comment "Structural reference for member field when it contains a non-terminal node" ;
    javascript:fieldId 24 .

javascript:field_name a owl:ObjectProperty ;
    rdfs:label "name (structural)" ;
    rdfs:comment "Structural reference for name field when it contains a non-terminal node" ;
    javascript:fieldId 25 .

javascript:field_object a owl:ObjectProperty ;
    rdfs:label "object (structural)" ;
    rdfs:comment "Structural reference for object field when it contains a non-terminal node" ;
    javascript:fieldId 26 .

javascript:field_open_tag a owl:ObjectProperty ;
    rdfs:label "open_tag (structural)" ;
    rdfs:comment "Structural reference for open_tag field when it contains a non-terminal node" ;
    javascript:fieldId 27 .

javascript:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    javascript:fieldId 28 .

javascript:field_parameter a owl:ObjectProperty ;
    rdfs:label "parameter (structural)" ;
    rdfs:comment "Structural reference for parameter field when it contains a non-terminal node" ;
    javascript:fieldId 30 .

javascript:field_parameters a owl:ObjectProperty ;
    rdfs:label "parameters (structural)" ;
    rdfs:comment "Structural reference for parameters field when it contains a non-terminal node" ;
    javascript:fieldId 31 .

javascript:field_property a owl:ObjectProperty ;
    rdfs:label "property (structural)" ;
    rdfs:comment "Structural reference for property field when it contains a non-terminal node" ;
    javascript:fieldId 33 .

javascript:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    javascript:fieldId 34 .

javascript:field_source a owl:ObjectProperty ;
    rdfs:label "source (structural)" ;
    rdfs:comment "Structural reference for source field when it contains a non-terminal node" ;
    javascript:fieldId 35 .

javascript:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    javascript:fieldId 36 .

javascript:finally_clause a owl:Class ;
    rdfs:label "finally_clause" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 177 .

javascript:flags a owl:DatatypeProperty ;
    rdfs:label "flags (literal)" ;
    rdfs:comment "Literal value for flags field when it contains a terminal node" ;
    javascript:fieldId 14 ;
    javascript:isTerminalField true .

javascript:for_in_statement a owl:Class ;
    rdfs:label "for_in_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 160 .

javascript:for_statement a owl:Class ;
    rdfs:label "for_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 159 .

javascript:formal_parameters a owl:Class ;
    rdfs:label "formal_parameters" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 232 .

javascript:function a owl:DatatypeProperty ;
    rdfs:label "function (literal)" ;
    rdfs:comment "Literal value for function field when it contains a terminal node" ;
    rdfs:subClassOf ast-x:FunctionDefinition ;
    javascript:fieldId 15 ;
    javascript:isTerminalField true .

javascript:function_declaration a owl:Class ;
    rdfs:label "function_declaration" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 201 .

javascript:function_expression a owl:Class ;
    rdfs:label "function_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 200 .

javascript:generator_function a owl:Class ;
    rdfs:label "generator_function" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 202 .

javascript:generator_function_declaration a owl:Class ;
    rdfs:label "generator_function_declaration" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 203 .

javascript:hash_bang_line a owl:Class ;
    rdfs:label "hash_bang_line" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 2 .

javascript:html_character_reference a owl:Class ;
    rdfs:label "html_character_reference" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 43 .

javascript:html_comment a owl:Class ;
    rdfs:label "html_comment" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 132 .

javascript:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 1,
        46 .

javascript:if_statement a owl:Class ;
    rdfs:label "if_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 157 .

javascript:import a owl:Class ;
    rdfs:label "import" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 141 .

javascript:import_attribute a owl:Class ;
    rdfs:label "import_attribute" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 148 .

javascript:import_clause a owl:Class ;
    rdfs:label "import_clause" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 143 .

javascript:import_specifier a owl:Class ;
    rdfs:label "import_specifier" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 147 .

javascript:import_statement a owl:Class ;
    rdfs:label "import_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 142 .

javascript:initializer a owl:DatatypeProperty ;
    rdfs:label "initializer (literal)" ;
    rdfs:comment "Literal value for initializer field when it contains a terminal node" ;
    javascript:fieldId 19 ;
    javascript:isTerminalField true .

javascript:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

javascript:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

javascript:jsx_attribute a owl:Class ;
    rdfs:label "jsx_attribute" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 195 .

javascript:jsx_closing_element a owl:Class ;
    rdfs:label "jsx_closing_element" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 193 .

javascript:jsx_element a owl:Class ;
    rdfs:label "jsx_element" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 188 .

javascript:jsx_expression a owl:Class ;
    rdfs:label "jsx_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 189 .

javascript:jsx_namespace_name a owl:Class ;
    rdfs:label "jsx_namespace_name" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 192 .

javascript:jsx_opening_element a owl:Class ;
    rdfs:label "jsx_opening_element" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 190 .

javascript:jsx_self_closing_element a owl:Class ;
    rdfs:label "jsx_self_closing_element" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 194 .

javascript:jsx_text a owl:Class ;
    rdfs:label "jsx_text" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 133 .

javascript:key a owl:DatatypeProperty ;
    rdfs:label "key (literal)" ;
    rdfs:comment "Literal value for key field when it contains a terminal node" ;
    javascript:fieldId 20 ;
    javascript:isTerminalField true .

javascript:label a owl:DatatypeProperty ;
    rdfs:label "label (literal)" ;
    rdfs:comment "Literal value for label field when it contains a terminal node" ;
    javascript:fieldId 22 ;
    javascript:isTerminalField true .

javascript:labeled_statement a owl:Class ;
    rdfs:label "labeled_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 172 .

javascript:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

javascript:left a owl:DatatypeProperty ;
    rdfs:label "left (literal)" ;
    rdfs:comment "Literal value for left field when it contains a terminal node" ;
    javascript:fieldId 23 ;
    javascript:isTerminalField true .

javascript:lexical_declaration a owl:Class ;
    rdfs:label "lexical_declaration" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 152 .

javascript:member_expression a owl:Class ;
    rdfs:label "member_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 191,
        208,
        228 .

javascript:meta_property a owl:Class ;
    rdfs:label "meta_property" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 225 .

javascript:method_definition a owl:Class ;
    rdfs:label "method_definition" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 236 .

javascript:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    javascript:fieldId 25 ;
    javascript:isTerminalField true .

javascript:named_imports a owl:Class ;
    rdfs:label "named_imports" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 146 .

javascript:namespace_export a owl:Class ;
    rdfs:label "namespace_export" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 136 .

javascript:namespace_import a owl:Class ;
    rdfs:label "namespace_import" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 145 .

javascript:new_expression a owl:Class ;
    rdfs:label "new_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 206 .

javascript:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

javascript:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

javascript:null a owl:Class ;
    rdfs:label "null" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 122 .

javascript:number a owl:Class ;
    rdfs:label "number" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 114 .

javascript:object a owl:Class,
        owl:DatatypeProperty ;
    rdfs:label "object",
        "object (literal)" ;
    rdfs:comment "Literal value for object field when it contains a terminal node" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:fieldId 26 ;
    javascript:isSupertype true ;
    javascript:isTerminalField true ;
    javascript:nodeTypeId 182 .

javascript:object_assignment_pattern a owl:Class ;
    rdfs:label "object_assignment_pattern" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 185 .

javascript:object_pattern a owl:Class ;
    rdfs:label "object_pattern" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 183 .

javascript:optional_chain a owl:Class,
        owl:DatatypeProperty ;
    rdfs:label "optional_chain",
        "optional_chain (literal)" ;
    rdfs:comment "Literal value for optional_chain field when it contains a terminal node" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:fieldId 29 ;
    javascript:isSupertype true ;
    javascript:isTerminalField true ;
    javascript:nodeTypeId 59 .

javascript:pair a owl:Class ;
    rdfs:label "pair" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 237 .

javascript:pair_pattern a owl:Class ;
    rdfs:label "pair_pattern" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 238 .

javascript:parameter a owl:DatatypeProperty ;
    rdfs:label "parameter (literal)" ;
    rdfs:comment "Literal value for parameter field when it contains a terminal node" ;
    javascript:fieldId 30 ;
    javascript:isTerminalField true .

javascript:parenthesized_expression a owl:Class ;
    rdfs:label "parenthesized_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 178 .

javascript:pattern a owl:DatatypeProperty ;
    rdfs:label "pattern (literal)" ;
    rdfs:comment "Literal value for pattern field when it contains a terminal node" ;
    javascript:fieldId 32 ;
    javascript:isTerminalField true .

javascript:private_property_identifier a owl:Class ;
    rdfs:label "private_property_identifier" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 115 .

javascript:program a owl:Class ;
    rdfs:label "program" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 134 .

javascript:property a owl:DatatypeProperty ;
    rdfs:label "property (literal)" ;
    rdfs:comment "Literal value for property field when it contains a terminal node" ;
    javascript:fieldId 33 ;
    javascript:isTerminalField true .

javascript:property_identifier a owl:Class ;
    rdfs:label "property_identifier" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 261 .

javascript:regex a owl:Class ;
    rdfs:label "regex" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 224 .

javascript:regex_flags a owl:Class ;
    rdfs:label "regex_flags" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 113 .

javascript:regex_pattern a owl:Class ;
    rdfs:label "regex_pattern" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 112 .

javascript:rest_pattern a owl:Class ;
    rdfs:label "rest_pattern" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 235 .

javascript:return_statement a owl:Class ;
    rdfs:label "return_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ReturnStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 169 .

javascript:sequence_expression a owl:Class ;
    rdfs:label "sequence_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 220 .

javascript:shorthand_property_identifier a owl:Class ;
    rdfs:label "shorthand_property_identifier" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 262 .

javascript:shorthand_property_identifier_pattern a owl:Class ;
    rdfs:label "shorthand_property_identifier_pattern" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 263 .

javascript:spread_element a owl:Class ;
    rdfs:label "spread_element" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 215 .

javascript:statement_block a owl:Class ;
    rdfs:label "statement_block" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 155 .

javascript:statement_identifier a owl:Class ;
    rdfs:label "statement_identifier" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 264 .

javascript:string a owl:Class ;
    rdfs:label "string" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 196,
        221 .

javascript:string_fragment a owl:Class ;
    rdfs:label "string_fragment" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 52,
        53,
        105,
        106,
        130 .

javascript:subscript_expression a owl:Class ;
    rdfs:label "subscript_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 209 .

javascript:super a owl:Class ;
    rdfs:label "super" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 119 .

javascript:switch_body a owl:Class ;
    rdfs:label "switch_body" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 173 .

javascript:switch_case a owl:Class ;
    rdfs:label "switch_case" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 174 .

javascript:switch_default a owl:Class ;
    rdfs:label "switch_default" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 175 .

javascript:switch_statement a owl:Class ;
    rdfs:label "switch_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 158 .

javascript:template_string a owl:Class ;
    rdfs:label "template_string" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 222 .

javascript:template_substitution a owl:Class ;
    rdfs:label "template_substitution" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 223 .

javascript:ternary_expression a owl:Class ;
    rdfs:label "ternary_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 216 .

javascript:this a owl:Class ;
    rdfs:label "this" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 118 .

javascript:throw_statement a owl:Class ;
    rdfs:label "throw_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ThrowStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 170 .

javascript:true a owl:Class ;
    rdfs:label "true" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 120 .

javascript:try_statement a owl:Class ;
    rdfs:label "try_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 164 .

javascript:unary_expression a owl:Class ;
    rdfs:label "unary_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 218 .

javascript:undefined a owl:Class ;
    rdfs:label "undefined" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 123 .

javascript:update_expression a owl:Class ;
    rdfs:label "update_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 219 .

javascript:using_declaration a owl:Class ;
    rdfs:label "using_declaration" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 153 .

javascript:variable_declaration a owl:Class ;
    rdfs:label "variable_declaration" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 151 .

javascript:variable_declarator a owl:Class ;
    rdfs:label "variable_declarator" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 154 .

javascript:while_statement a owl:Class ;
    rdfs:label "while_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 162 .

javascript:with_statement a owl:Class ;
    rdfs:label "with_statement" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 165 .

javascript:yield_expression a owl:Class ;
    rdfs:label "yield_expression" ;
    rdfs:isDefinedBy javascript: ;
    rdfs:subClassOf ast:Node,
        ast-x:YieldStatement ;
    javascript:isSupertype true ;
    javascript:nodeTypeId 181 .

kotlin:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

kotlin:additive_expression a owl:Class ;
    rdfs:label "additive_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 232 .

kotlin:annotated_lambda a owl:Class ;
    rdfs:label "annotated_lambda" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 244 .

kotlin:annotation a owl:Class ;
    rdfs:label "annotation" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 304 .

kotlin:anonymous_function a owl:Class ;
    rdfs:label "anonymous_function" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 258 .

kotlin:anonymous_initializer a owl:Class ;
    rdfs:label "anonymous_initializer" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 178 .

kotlin:as_expression a owl:Class ;
    rdfs:label "as_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 228 .

kotlin:assignment a owl:Class ;
    rdfs:label "assignment" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 220 .

kotlin:bin_literal a owl:Class ;
    rdfs:label "bin_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 134 .

kotlin:binding_pattern_kind a owl:Class ;
    rdfs:label "binding_pattern_kind" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 166 .

kotlin:boolean_literal a owl:Class ;
    rdfs:label "boolean_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 319 .

kotlin:call_expression a owl:Class ;
    rdfs:label "call_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 224 .

kotlin:call_suffix a owl:Class ;
    rdfs:label "call_suffix" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 243 .

kotlin:callable_reference a owl:Class ;
    rdfs:label "callable_reference" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 274 .

kotlin:catch_block a owl:Class ;
    rdfs:label "catch_block" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 271 .

kotlin:character_escape_seq a owl:Class ;
    rdfs:label "character_escape_seq" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 321 .

kotlin:character_literal a owl:Class ;
    rdfs:label "character_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 320 .

kotlin:check_expression a owl:Class ;
    rdfs:label "check_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 236 .

kotlin:class_body a owl:Class ;
    rdfs:label "class_body" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 164 .

kotlin:class_declaration a owl:Class ;
    rdfs:label "class_declaration" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 162 .

kotlin:class_modifier a owl:Class ;
    rdfs:label "class_modifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 294 .

kotlin:class_parameter a owl:Class ;
    rdfs:label "class_parameter" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 167 .

kotlin:collection_literal a owl:Class ;
    rdfs:label "collection_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 250 .

kotlin:companion_object a owl:Class ;
    rdfs:label "companion_object" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 179 .

kotlin:comparison_expression a owl:Class ;
    rdfs:label "comparison_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 237 .

kotlin:condition a owl:DatatypeProperty ;
    rdfs:label "condition (literal)" ;
    rdfs:comment "Literal value for condition field when it contains a terminal node" ;
    kotlin:fieldId 2 ;
    kotlin:isTerminalField true .

kotlin:conjunction_expression a owl:Class ;
    rdfs:label "conjunction_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 239 .

kotlin:constructor_delegation_call a owl:Class ;
    rdfs:label "constructor_delegation_call" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 194 .

kotlin:constructor_invocation a owl:Class ;
    rdfs:label "constructor_invocation" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 170 .

kotlin:control_structure_body a owl:Class ;
    rdfs:label "control_structure_body" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 213 .

kotlin:delegation_specifier a owl:Class ;
    rdfs:label "delegation_specifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:InheritanceSpecifier ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 169 .

kotlin:directly_assignable_expression a owl:Class ;
    rdfs:label "directly_assignable_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 288 .

kotlin:disjunction_expression a owl:Class ;
    rdfs:label "disjunction_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 240 .

kotlin:do_while_statement a owl:Class ;
    rdfs:label "do_while_statement" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 218 .

kotlin:elvis_expression a owl:Class ;
    rdfs:label "elvis_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 235 .

kotlin:enum_class_body a owl:Class ;
    rdfs:label "enum_class_body" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 195 .

kotlin:enum_entry a owl:Class ;
    rdfs:label "enum_entry" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 197 .

kotlin:equality_expression a owl:Class ;
    rdfs:label "equality_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 238 .

kotlin:explicit_delegation a owl:Class ;
    rdfs:label "explicit_delegation" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:InheritanceSpecifier ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 171 .

kotlin:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

kotlin:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

kotlin:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    kotlin:fieldId 1 .

kotlin:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    kotlin:fieldId 2 .

kotlin:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    kotlin:fieldId 3 .

kotlin:field_receiver a owl:ObjectProperty ;
    rdfs:label "receiver (structural)" ;
    rdfs:comment "Structural reference for receiver field when it contains a non-terminal node" ;
    kotlin:fieldId 4 .

kotlin:file_annotation a owl:Class ;
    rdfs:label "file_annotation" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 155 .

kotlin:finally_block a owl:Class ;
    rdfs:label "finally_block" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 272 .

kotlin:for_statement a owl:Class ;
    rdfs:label "for_statement" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 216 .

kotlin:function_body a owl:Class ;
    rdfs:label "function_body" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 184 .

kotlin:function_declaration a owl:Class ;
    rdfs:label "function_declaration" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 183 .

kotlin:function_modifier a owl:Class ;
    rdfs:label "function_modifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 300 .

kotlin:function_type a owl:Class ;
    rdfs:label "function_type" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 207 .

kotlin:function_type_parameters a owl:Class ;
    rdfs:label "function_type_parameters" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 208 .

kotlin:function_value_parameters a owl:Class ;
    rdfs:label "function_value_parameters" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 180 .

kotlin:getter a owl:Class ;
    rdfs:label "getter" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 188 .

kotlin:hex_literal a owl:Class ;
    rdfs:label "hex_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 133 .

kotlin:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 310 .

kotlin:if_expression a owl:Class ;
    rdfs:label "if_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 263 .

kotlin:import_alias a owl:Class ;
    rdfs:label "import_alias" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 159 .

kotlin:import_header a owl:Class ;
    rdfs:label "import_header" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 158 .

kotlin:import_list a owl:Class ;
    rdfs:label "import_list" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 157 .

kotlin:indexing_expression a owl:Class ;
    rdfs:label "indexing_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 225 .

kotlin:indexing_suffix a owl:Class ;
    rdfs:label "indexing_suffix" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 241 .

kotlin:infix_expression a owl:Class ;
    rdfs:label "infix_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 234 .

kotlin:inheritance_modifier a owl:Class ;
    rdfs:label "inheritance_modifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 301 .

kotlin:integer_literal a owl:Class ;
    rdfs:label "integer_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 132 .

kotlin:interpolated_expression a owl:Class ;
    rdfs:label "interpolated_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 357 .

kotlin:interpolated_identifier a owl:Class ;
    rdfs:label "interpolated_identifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 358 .

kotlin:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

kotlin:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

kotlin:jump_expression a owl:Class ;
    rdfs:label "jump_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 273 .

kotlin:label a owl:Class ;
    rdfs:label "label" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 45 .

kotlin:lambda_literal a owl:Class ;
    rdfs:label "lambda_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 254 .

kotlin:lambda_parameters a owl:Class ;
    rdfs:label "lambda_parameters" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 256 .

kotlin:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

kotlin:line_comment a owl:Class ;
    rdfs:label "line_comment" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 124 .

kotlin:long_literal a owl:Class ;
    rdfs:label "long_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 318 .

kotlin:member_modifier a owl:Class ;
    rdfs:label "member_modifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 295 .

kotlin:modifiers a owl:Class ;
    rdfs:label "modifiers" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 289 .

kotlin:multi_variable_declaration a owl:Class ;
    rdfs:label "multi_variable_declaration" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 255 .

kotlin:multiline_comment a owl:Class ;
    rdfs:label "multiline_comment" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 149 .

kotlin:multiplicative_expression a owl:Class ;
    rdfs:label "multiplicative_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 231 .

kotlin:navigation_expression a owl:Class ;
    rdfs:label "navigation_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 226 .

kotlin:navigation_suffix a owl:Class ;
    rdfs:label "navigation_suffix" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 242 .

kotlin:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

kotlin:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

kotlin:not_nullable_type a owl:Class ;
    rdfs:label "not_nullable_type" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 200 .

kotlin:null_literal a owl:Class ;
    rdfs:label "null_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 141 .

kotlin:nullable_type a owl:Class ;
    rdfs:label "nullable_type" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 201 .

kotlin:object_declaration a owl:Class ;
    rdfs:label "object_declaration" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 192 .

kotlin:object_literal a owl:Class ;
    rdfs:label "object_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 260 .

kotlin:package_header a owl:Class ;
    rdfs:label "package_header" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 156 .

kotlin:parameter a owl:Class ;
    rdfs:label "parameter" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 191 .

kotlin:parameter_modifier a owl:Class ;
    rdfs:label "parameter_modifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 302 .

kotlin:parameter_modifiers a owl:Class ;
    rdfs:label "parameter_modifiers" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 290 .

kotlin:parameter_with_optional_type a owl:Class ;
    rdfs:label "parameter_with_optional_type" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 190 .

kotlin:parenthesized_expression a owl:Class ;
    rdfs:label "parenthesized_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 249 .

kotlin:parenthesized_type a owl:Class ;
    rdfs:label "parenthesized_type" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 209 .

kotlin:parenthesized_user_type a owl:Class ;
    rdfs:label "parenthesized_user_type" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 210 .

kotlin:platform_modifier a owl:Class ;
    rdfs:label "platform_modifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 303 .

kotlin:postfix_expression a owl:Class ;
    rdfs:label "postfix_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 223 .

kotlin:prefix_expression a owl:Class ;
    rdfs:label "prefix_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 227 .

kotlin:primary_constructor a owl:Class ;
    rdfs:label "primary_constructor" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 163 .

kotlin:property_declaration a owl:Class ;
    rdfs:label "property_declaration" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 186 .

kotlin:property_delegate a owl:Class ;
    rdfs:label "property_delegate" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 187 .

kotlin:property_modifier a owl:Class ;
    rdfs:label "property_modifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 108 .

kotlin:range_expression a owl:Class ;
    rdfs:label "range_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 233 .

kotlin:range_test a owl:Class ;
    rdfs:label "range_test" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 268 .

kotlin:real_literal a owl:Class ;
    rdfs:label "real_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 131 .

kotlin:receiver_type a owl:Class ;
    rdfs:label "receiver_type" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 182 .

kotlin:reification_modifier a owl:Class ;
    rdfs:label "reification_modifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 115 .

kotlin:secondary_constructor a owl:Class ;
    rdfs:label "secondary_constructor" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 193 .

kotlin:setter a owl:Class ;
    rdfs:label "setter" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 189 .

kotlin:shebang_line a owl:Class ;
    rdfs:label "shebang_line" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 154 .

kotlin:simple_identifier a owl:Class ;
    rdfs:label "simple_identifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 309 .

kotlin:source_file a owl:Class ;
    rdfs:label "source_file" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 153 .

kotlin:spread_expression a owl:Class ;
    rdfs:label "spread_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 229 .

kotlin:statements a owl:Class ;
    rdfs:label "statements" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 211 .

kotlin:string_content a owl:Class ;
    rdfs:label "string_content" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 152 .

kotlin:string_literal a owl:Class ;
    rdfs:label "string_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 252 .

kotlin:super_expression a owl:Class ;
    rdfs:label "super_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 262 .

kotlin:this_expression a owl:Class ;
    rdfs:label "this_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 261 .

kotlin:try_expression a owl:Class ;
    rdfs:label "try_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 270 .

kotlin:type_alias a owl:Class ;
    rdfs:label "type_alias" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 160 .

kotlin:type_arguments a owl:Class ;
    rdfs:label "type_arguments" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 245 .

kotlin:type_constraint a owl:Class ;
    rdfs:label "type_constraint" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 175 .

kotlin:type_constraints a owl:Class ;
    rdfs:label "type_constraints" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 174 .

kotlin:type_identifier a owl:Class ;
    rdfs:label "type_identifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 359 .

kotlin:type_modifiers a owl:Class ;
    rdfs:label "type_modifiers" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 292 .

kotlin:type_parameter a owl:Class ;
    rdfs:label "type_parameter" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 173 .

kotlin:type_parameter_modifiers a owl:Class ;
    rdfs:label "type_parameter_modifiers" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 298 .

kotlin:type_parameters a owl:Class ;
    rdfs:label "type_parameters" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 172 .

kotlin:type_projection a owl:Class ;
    rdfs:label "type_projection" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 204 .

kotlin:type_projection_modifiers a owl:Class ;
    rdfs:label "type_projection_modifiers" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 205 .

kotlin:type_test a owl:Class ;
    rdfs:label "type_test" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 269 .

kotlin:unsigned_literal a owl:Class ;
    rdfs:label "unsigned_literal" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 317 .

kotlin:use_site_target a owl:Class ;
    rdfs:label "use_site_target" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 307 .

kotlin:user_type a owl:Class ;
    rdfs:label "user_type" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 202 .

kotlin:value_argument a owl:Class ;
    rdfs:label "value_argument" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 247 .

kotlin:value_arguments a owl:Class ;
    rdfs:label "value_arguments" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 246 .

kotlin:variable_declaration a owl:Class ;
    rdfs:label "variable_declaration" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 185 .

kotlin:variance_modifier a owl:Class ;
    rdfs:label "variance_modifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 297 .

kotlin:visibility_modifier a owl:Class ;
    rdfs:label "visibility_modifier" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 296 .

kotlin:when_condition a owl:Class ;
    rdfs:label "when_condition" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 267 .

kotlin:when_entry a owl:Class ;
    rdfs:label "when_entry" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 266 .

kotlin:when_expression a owl:Class ;
    rdfs:label "when_expression" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 265 .

kotlin:when_subject a owl:Class ;
    rdfs:label "when_subject" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 264 .

kotlin:while_statement a owl:Class ;
    rdfs:label "while_statement" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 217 .

kotlin:wildcard_import a owl:Class ;
    rdfs:label "wildcard_import" ;
    rdfs:isDefinedBy kotlin: ;
    rdfs:subClassOf ast:Node ;
    kotlin:isSupertype true ;
    kotlin:nodeTypeId 12 .

python:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

python:alias a owl:DatatypeProperty ;
    rdfs:label "alias (literal)" ;
    rdfs:comment "Literal value for alias field when it contains a terminal node" ;
    python:fieldId 1 ;
    python:isTerminalField true .

python:aliased_import a owl:Class ;
    rdfs:label "aliased_import" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 117 .

python:argument_list a owl:Class ;
    rdfs:label "argument_list" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 158 .

python:as_pattern a owl:Class ;
    rdfs:label "as_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 166,
        186 .

python:as_pattern_target a owl:Class ;
    rdfs:label "as_pattern_target" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 273 .

python:assert_statement a owl:Class ;
    rdfs:label "assert_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 121 .

python:assignment a owl:Class ;
    rdfs:label "assignment" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    python:isSupertype true ;
    python:nodeTypeId 199 .

python:attribute a owl:Class,
        owl:DatatypeProperty ;
    rdfs:label "attribute",
        "attribute (literal)" ;
    rdfs:comment "Literal value for attribute field when it contains a terminal node" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:fieldId 5 ;
    python:isSupertype true ;
    python:isTerminalField true ;
    python:nodeTypeId 204 .

python:augmented_assignment a owl:Class ;
    rdfs:label "augmented_assignment" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:AugmentedAssignment ;
    python:isSupertype true ;
    python:nodeTypeId 200 .

python:await a owl:Class ;
    rdfs:label "await" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 238 .

python:binary_operator a owl:Class ;
    rdfs:label "binary_operator" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 192 .

python:block a owl:Class ;
    rdfs:label "block" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 136,
        161 .

python:boolean_operator a owl:Class ;
    rdfs:label "boolean_operator" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 191 .

python:break_statement a owl:Class ;
    rdfs:label "break_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    python:isSupertype true ;
    python:nodeTypeId 130 .

python:call a owl:Class ;
    rdfs:label "call" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    python:isSupertype true ;
    python:nodeTypeId 207 .

python:case_clause a owl:Class ;
    rdfs:label "case_clause" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    python:isSupertype true ;
    python:nodeTypeId 137 .

python:case_pattern a owl:Class ;
    rdfs:label "case_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 164 .

python:chevron a owl:Class ;
    rdfs:label "chevron" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 120 .

python:class_definition a owl:Class ;
    rdfs:label "class_definition" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    python:isSupertype true ;
    python:nodeTypeId 155 .

python:class_pattern a owl:Class ;
    rdfs:label "class_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 174 .

python:code a owl:DatatypeProperty ;
    rdfs:label "code (literal)" ;
    rdfs:comment "Literal value for code field when it contains a terminal node" ;
    python:fieldId 8 ;
    python:isTerminalField true .

python:comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    python:isSupertype true ;
    python:nodeTypeId 99 .

python:comparison_operator a owl:Class ;
    rdfs:label "comparison_operator" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 196 .

python:complex_pattern a owl:Class ;
    rdfs:label "complex_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 175 .

python:concatenated_string a owl:Class ;
    rdfs:label "concatenated_string" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 231 .

python:conditional_expression a owl:Class ;
    rdfs:label "conditional_expression" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 230 .

python:constrained_type a owl:Class ;
    rdfs:label "constrained_type" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 213 .

python:continue_statement a owl:Class ;
    rdfs:label "continue_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:ContinueStatement ;
    python:isSupertype true ;
    python:nodeTypeId 131 .

python:decorated_definition a owl:Class ;
    rdfs:label "decorated_definition" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 159 .

python:decorator a owl:Class ;
    rdfs:label "decorator" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 160 .

python:default_parameter a owl:Class ;
    rdfs:label "default_parameter" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    python:isSupertype true ;
    python:nodeTypeId 182 .

python:delete_statement a owl:Class ;
    rdfs:label "delete_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 127 .

python:dict_pattern a owl:Class ;
    rdfs:label "dict_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 170 .

python:dictionary a owl:Class ;
    rdfs:label "dictionary" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 219 .

python:dictionary_comprehension a owl:Class ;
    rdfs:label "dictionary_comprehension" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 222 .

python:dictionary_splat a owl:Class ;
    rdfs:label "dictionary_splat" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 150 .

python:dictionary_splat_pattern a owl:Class ;
    rdfs:label "dictionary_splat_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    python:isSupertype true ;
    python:nodeTypeId 185 .

python:dotted_name a owl:Class ;
    rdfs:label "dotted_name" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 163 .

python:elif_clause a owl:Class ;
    rdfs:label "elif_clause" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    python:isSupertype true ;
    python:nodeTypeId 133 .

python:ellipsis a owl:Class ;
    rdfs:label "ellipsis" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 88 .

python:else_clause a owl:Class ;
    rdfs:label "else_clause" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:ElseClause ;
    python:isSupertype true ;
    python:nodeTypeId 134 .

python:escape_interpolation a owl:Class ;
    rdfs:label "escape_interpolation" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 106 .

python:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 89 .

python:except_clause a owl:Class ;
    rdfs:label "except_clause" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    python:isSupertype true ;
    python:nodeTypeId 141 .

python:exec_statement a owl:Class ;
    rdfs:label "exec_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 153 .

python:expression_list a owl:Class ;
    rdfs:label "expression_list" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 162 .

python:false a owl:Class ;
    rdfs:label "false" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 97 .

python:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

python:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

python:field_alias a owl:ObjectProperty ;
    rdfs:label "alias (structural)" ;
    rdfs:comment "Structural reference for alias field when it contains a non-terminal node" ;
    python:fieldId 1 .

python:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    python:fieldId 2 .

python:field_argument a owl:ObjectProperty ;
    rdfs:label "argument (structural)" ;
    rdfs:comment "Structural reference for argument field when it contains a non-terminal node" ;
    python:fieldId 3 .

python:field_arguments a owl:ObjectProperty ;
    rdfs:label "arguments (structural)" ;
    rdfs:comment "Structural reference for arguments field when it contains a non-terminal node" ;
    python:fieldId 4 .

python:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    python:fieldId 6 .

python:field_cause a owl:ObjectProperty ;
    rdfs:label "cause (structural)" ;
    rdfs:comment "Structural reference for cause field when it contains a non-terminal node" ;
    python:fieldId 7 .

python:field_code a owl:ObjectProperty ;
    rdfs:label "code (structural)" ;
    rdfs:comment "Structural reference for code field when it contains a non-terminal node" ;
    python:fieldId 8 .

python:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    python:fieldId 9 .

python:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    python:fieldId 10 .

python:field_definition a owl:ObjectProperty ;
    rdfs:label "definition (structural)" ;
    rdfs:comment "Structural reference for definition field when it contains a non-terminal node" ;
    python:fieldId 11 .

python:field_expression a owl:ObjectProperty ;
    rdfs:label "expression (structural)" ;
    rdfs:comment "Structural reference for expression field when it contains a non-terminal node" ;
    python:fieldId 12 .

python:field_format_specifier a owl:ObjectProperty ;
    rdfs:label "format_specifier (structural)" ;
    rdfs:comment "Structural reference for format_specifier field when it contains a non-terminal node" ;
    python:fieldId 13 .

python:field_function a owl:ObjectProperty ;
    rdfs:label "function (structural)" ;
    rdfs:comment "Structural reference for function field when it contains a non-terminal node" ;
    python:fieldId 14 .

python:field_guard a owl:ObjectProperty ;
    rdfs:label "guard (structural)" ;
    rdfs:comment "Structural reference for guard field when it contains a non-terminal node" ;
    python:fieldId 15 .

python:field_key a owl:ObjectProperty ;
    rdfs:label "key (structural)" ;
    rdfs:comment "Structural reference for key field when it contains a non-terminal node" ;
    python:fieldId 16 .

python:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    python:fieldId 17 .

python:field_module_name a owl:ObjectProperty ;
    rdfs:label "module_name (structural)" ;
    rdfs:comment "Structural reference for module_name field when it contains a non-terminal node" ;
    python:fieldId 18 .

python:field_name a owl:ObjectProperty ;
    rdfs:label "name (structural)" ;
    rdfs:comment "Structural reference for name field when it contains a non-terminal node" ;
    python:fieldId 19 .

python:field_object a owl:ObjectProperty ;
    rdfs:label "object (structural)" ;
    rdfs:comment "Structural reference for object field when it contains a non-terminal node" ;
    python:fieldId 20 .

python:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    python:fieldId 21 .

python:field_operators a owl:ObjectProperty ;
    rdfs:label "operators (structural)" ;
    rdfs:comment "Structural reference for operators field when it contains a non-terminal node" ;
    python:fieldId 22 .

python:field_parameters a owl:ObjectProperty ;
    rdfs:label "parameters (structural)" ;
    rdfs:comment "Structural reference for parameters field when it contains a non-terminal node" ;
    python:fieldId 23 .

python:field_return_type a owl:ObjectProperty ;
    rdfs:label "return_type (structural)" ;
    rdfs:comment "Structural reference for return_type field when it contains a non-terminal node" ;
    python:fieldId 24 .

python:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    python:fieldId 25 .

python:field_subject a owl:ObjectProperty ;
    rdfs:label "subject (structural)" ;
    rdfs:comment "Structural reference for subject field when it contains a non-terminal node" ;
    python:fieldId 26 .

python:field_subscript a owl:ObjectProperty ;
    rdfs:label "subscript (structural)" ;
    rdfs:comment "Structural reference for subscript field when it contains a non-terminal node" ;
    python:fieldId 27 .

python:field_superclasses a owl:ObjectProperty ;
    rdfs:label "superclasses (structural)" ;
    rdfs:comment "Structural reference for superclasses field when it contains a non-terminal node" ;
    python:fieldId 28 .

python:field_type a owl:ObjectProperty ;
    rdfs:label "type (structural)" ;
    rdfs:comment "Structural reference for type field when it contains a non-terminal node" ;
    python:fieldId 29 .

python:field_type_parameters a owl:ObjectProperty ;
    rdfs:label "type_parameters (structural)" ;
    rdfs:comment "Structural reference for type_parameters field when it contains a non-terminal node" ;
    python:fieldId 31 .

python:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    python:fieldId 32 .

python:finally_clause a owl:Class ;
    rdfs:label "finally_clause" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 142 .

python:float a owl:Class ;
    rdfs:label "float" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 94 .

python:for_in_clause a owl:Class ;
    rdfs:label "for_in_clause" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 228 .

python:for_statement a owl:Class ;
    rdfs:label "for_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    python:isSupertype true ;
    python:nodeTypeId 138 .

python:format_expression a owl:Class ;
    rdfs:label "format_expression" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 274 .

python:format_specifier a owl:Class ;
    rdfs:label "format_specifier" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 237 .

python:function_definition a owl:Class ;
    rdfs:label "function_definition" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    python:isSupertype true ;
    python:nodeTypeId 146 .

python:future_import_statement a owl:Class ;
    rdfs:label "future_import_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 114 .

python:generator_expression a owl:Class ;
    rdfs:label "generator_expression" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 224 .

python:generic_type a owl:Class ;
    rdfs:label "generic_type" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 211 .

python:global_statement a owl:Class ;
    rdfs:label "global_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 151 .

python:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 1 .

python:if_clause a owl:Class ;
    rdfs:label "if_clause" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 229 .

python:if_statement a owl:Class ;
    rdfs:label "if_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    python:isSupertype true ;
    python:nodeTypeId 132 .

python:import_from_statement a owl:Class ;
    rdfs:label "import_from_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    python:isSupertype true ;
    python:nodeTypeId 115 .

python:import_prefix a owl:Class ;
    rdfs:label "import_prefix" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 112 .

python:import_statement a owl:Class ;
    rdfs:label "import_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    python:isSupertype true ;
    python:nodeTypeId 111 .

python:integer a owl:Class ;
    rdfs:label "integer" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 93 .

python:interpolation a owl:Class ;
    rdfs:label "interpolation" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 234 .

python:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

python:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

python:key a owl:DatatypeProperty ;
    rdfs:label "key (literal)" ;
    rdfs:comment "Literal value for key field when it contains a terminal node" ;
    python:fieldId 16 ;
    python:isTerminalField true .

python:keyword_argument a owl:Class ;
    rdfs:label "keyword_argument" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 215 .

python:keyword_pattern a owl:Class ;
    rdfs:label "keyword_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 172 .

python:keyword_separator a owl:Class ;
    rdfs:label "keyword_separator" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 240 .

python:lambda a owl:Class ;
    rdfs:label "lambda" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    python:isSupertype true ;
    python:nodeTypeId 197,
        198 .

python:lambda_parameters a owl:Class ;
    rdfs:label "lambda_parameters" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 148 .

python:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

python:line_continuation a owl:Class ;
    rdfs:label "line_continuation" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 100 .

python:list a owl:Class ;
    rdfs:label "list" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 216 .

python:list_comprehension a owl:Class ;
    rdfs:label "list_comprehension" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 221 .

python:list_pattern a owl:Class ;
    rdfs:label "list_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 168,
        181 .

python:list_splat a owl:Class ;
    rdfs:label "list_splat" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 149 .

python:list_splat_pattern a owl:Class ;
    rdfs:label "list_splat_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    python:isSupertype true ;
    python:nodeTypeId 184 .

python:match_statement a owl:Class ;
    rdfs:label "match_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    python:isSupertype true ;
    python:nodeTypeId 135 .

python:member_type a owl:Class ;
    rdfs:label "member_type" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 214 .

python:module a owl:Class ;
    rdfs:label "module" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 108 .

python:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    python:fieldId 19 ;
    python:isTerminalField true .

python:named_expression a owl:Class ;
    rdfs:label "named_expression" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 124 .

python:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

python:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

python:none a owl:Class ;
    rdfs:label "none" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 98 .

python:nonlocal_statement a owl:Class ;
    rdfs:label "nonlocal_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 152 .

python:not_operator a owl:Class ;
    rdfs:label "not_operator" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 190 .

python:pair a owl:Class ;
    rdfs:label "pair" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 220 .

python:parameters a owl:Class ;
    rdfs:label "parameters" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    python:isSupertype true ;
    python:nodeTypeId 147 .

python:parenthesized_expression a owl:Class ;
    rdfs:label "parenthesized_expression" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 226 .

python:parenthesized_list_splat a owl:Class ;
    rdfs:label "parenthesized_list_splat" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 157 .

python:pass_statement a owl:Class ;
    rdfs:label "pass_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 129 .

python:pattern_list a owl:Class ;
    rdfs:label "pattern_list" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 201 .

python:positional_separator a owl:Class ;
    rdfs:label "positional_separator" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 239 .

python:print_statement a owl:Class ;
    rdfs:label "print_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 119 .

python:raise_statement a owl:Class ;
    rdfs:label "raise_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:ThrowStatement ;
    python:isSupertype true ;
    python:nodeTypeId 128 .

python:relative_import a owl:Class ;
    rdfs:label "relative_import" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 113 .

python:return_statement a owl:Class ;
    rdfs:label "return_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:ReturnStatement ;
    python:isSupertype true ;
    python:nodeTypeId 126 .

python:set a owl:Class ;
    rdfs:label "set" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 217 .

python:set_comprehension a owl:Class ;
    rdfs:label "set_comprehension" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 223 .

python:slice a owl:Class ;
    rdfs:label "slice" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 206 .

python:splat_pattern a owl:Class ;
    rdfs:label "splat_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 173 .

python:splat_type a owl:Class ;
    rdfs:label "splat_type" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 210 .

python:string a owl:Class ;
    rdfs:label "string" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 232 .

python:string_content a owl:Class ;
    rdfs:label "string_content" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 233 .

python:string_end a owl:Class ;
    rdfs:label "string_end" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 107 .

python:string_start a owl:Class ;
    rdfs:label "string_start" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 104 .

python:subscript a owl:Class ;
    rdfs:label "subscript" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 205 .

python:true a owl:Class ;
    rdfs:label "true" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 96 .

python:try_statement a owl:Class ;
    rdfs:label "try_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    python:isSupertype true ;
    python:nodeTypeId 140 .

python:tuple a owl:Class ;
    rdfs:label "tuple" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 218 .

python:tuple_expression a owl:Class ;
    rdfs:label "tuple_expression" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 123 .

python:tuple_pattern a owl:Class ;
    rdfs:label "tuple_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 169,
        180 .

python:type a owl:Class ;
    rdfs:label "type" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 209 .

python:type_alias_statement a owl:Class ;
    rdfs:label "type_alias_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 154 .

python:type_conversion a owl:Class,
        owl:DatatypeProperty ;
    rdfs:label "type_conversion",
        "type_conversion (literal)" ;
    rdfs:comment "Literal value for type_conversion field when it contains a terminal node" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:fieldId 30 ;
    python:isSupertype true ;
    python:isTerminalField true ;
    python:nodeTypeId 92 .

python:type_parameter a owl:Class ;
    rdfs:label "type_parameter" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 156 .

python:typed_default_parameter a owl:Class ;
    rdfs:label "typed_default_parameter" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    python:isSupertype true ;
    python:nodeTypeId 183 .

python:typed_parameter a owl:Class ;
    rdfs:label "typed_parameter" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    python:isSupertype true ;
    python:nodeTypeId 208 .

python:unary_operator a owl:Class ;
    rdfs:label "unary_operator" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 193 .

python:union_pattern a owl:Class ;
    rdfs:label "union_pattern" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 167 .

python:union_type a owl:Class ;
    rdfs:label "union_type" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 212 .

python:while_statement a owl:Class ;
    rdfs:label "while_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    python:isSupertype true ;
    python:nodeTypeId 139 .

python:wildcard_import a owl:Class ;
    rdfs:label "wildcard_import" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 118 .

python:with_clause a owl:Class ;
    rdfs:label "with_clause" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 144 .

python:with_item a owl:Class ;
    rdfs:label "with_item" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 145 .

python:with_statement a owl:Class ;
    rdfs:label "with_statement" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node ;
    python:isSupertype true ;
    python:nodeTypeId 143 .

python:yield a owl:Class ;
    rdfs:label "yield" ;
    rdfs:isDefinedBy python: ;
    rdfs:subClassOf ast:Node,
        ast-x:YieldStatement ;
    python:isSupertype true ;
    python:nodeTypeId 203 .

ruby:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

ruby:alias a owl:Class ;
    rdfs:label "alias" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 305 .

ruby:alternative_pattern a owl:Class ;
    rdfs:label "alternative_pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 218 .

ruby:argument_list a owl:Class ;
    rdfs:label "argument_list" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 266,
        267 .

ruby:array a owl:Class ;
    rdfs:label "array" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 322 .

ruby:array_pattern a owl:Class ;
    rdfs:label "array_pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 220 .

ruby:as_pattern a owl:Class ;
    rdfs:label "as_pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 216 .

ruby:assignment a owl:Class ;
    rdfs:label "assignment" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 276,
        277 .

ruby:bare_string a owl:Class ;
    rdfs:label "bare_string" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 347 .

ruby:bare_symbol a owl:Class ;
    rdfs:label "bare_symbol" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 348 .

ruby:begin a owl:Class ;
    rdfs:label "begin" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 244 .

ruby:begin_block a owl:Class ;
    rdfs:label "begin_block" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 160 .

ruby:binary a owl:Class ;
    rdfs:label "binary" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 256,
        282,
        283 .

ruby:block a owl:Class ;
    rdfs:label "block" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 275 .

ruby:block_argument a owl:Class ;
    rdfs:label "block_argument" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 273 .

ruby:block_body a owl:Class ;
    rdfs:label "block_body" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 158 .

ruby:block_parameter a owl:Class ;
    rdfs:label "block_parameter" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 178 .

ruby:block_parameters a owl:Class ;
    rdfs:label "block_parameters" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 171 .

ruby:body_statement a owl:Class ;
    rdfs:label "body_statement" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 249 .

ruby:break a owl:Class ;
    rdfs:label "break" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 187,
        191 .

ruby:call a owl:Class ;
    rdfs:label "call" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 262,
        263,
        265,
        297 .

ruby:case a owl:Class ;
    rdfs:label "case" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 205 .

ruby:case_match a owl:Class ;
    rdfs:label "case_match" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 206 .

ruby:chained_string a owl:Class ;
    rdfs:label "chained_string" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 312 .

ruby:character a owl:Class ;
    rdfs:label "character" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 123 .

ruby:class a owl:Class ;
    rdfs:label "class" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 181 .

ruby:class_variable a owl:Class ;
    rdfs:label "class_variable" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 121 .

ruby:comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 107 .

ruby:complex a owl:Class ;
    rdfs:label "complex" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 307 .

ruby:conditional a owl:Class ;
    rdfs:label "conditional" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 280 .

ruby:constant a owl:Class ;
    rdfs:label "constant" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 117 .

ruby:delimited_symbol a owl:Class ;
    rdfs:label "delimited_symbol" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 318 .

ruby:destructured_left_assignment a owl:Class ;
    rdfs:label "destructured_left_assignment" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 294 .

ruby:destructured_parameter a owl:Class ;
    rdfs:label "destructured_parameter" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 349 .

ruby:do a owl:Class ;
    rdfs:label "do" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 204 .

ruby:do_block a owl:Class ;
    rdfs:label "do_block" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 274 .

ruby:element_reference a owl:Class ;
    rdfs:label "element_reference" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 259 .

ruby:else a owl:Class ;
    rdfs:label "else" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ElseClause ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 242 .

ruby:elsif a owl:Class ;
    rdfs:label "elsif" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 241 .

ruby:empty_statement a owl:Class ;
    rdfs:label "empty_statement" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 326 .

ruby:encoding a owl:Class ;
    rdfs:label "encoding" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 51 .

ruby:end_block a owl:Class ;
    rdfs:label "end_block" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 161 .

ruby:ensure a owl:Class ;
    rdfs:label "ensure" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 245 .

ruby:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 126 .

ruby:exception_variable a owl:Class ;
    rdfs:label "exception_variable" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 248 .

ruby:exceptions a owl:Class ;
    rdfs:label "exceptions" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 247 .

ruby:expression_reference_pattern a owl:Class ;
    rdfs:label "expression_reference_pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 236 .

ruby:false a owl:Class ;
    rdfs:label "false" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 116 .

ruby:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

ruby:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

ruby:field_alias a owl:ObjectProperty ;
    rdfs:label "alias (structural)" ;
    rdfs:comment "Structural reference for alias field when it contains a non-terminal node" ;
    ruby:fieldId 1 .

ruby:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    ruby:fieldId 2 .

ruby:field_alternatives a owl:ObjectProperty ;
    rdfs:label "alternatives (structural)" ;
    rdfs:comment "Structural reference for alternatives field when it contains a non-terminal node" ;
    ruby:fieldId 3 .

ruby:field_arguments a owl:ObjectProperty ;
    rdfs:label "arguments (structural)" ;
    rdfs:comment "Structural reference for arguments field when it contains a non-terminal node" ;
    ruby:fieldId 4 .

ruby:field_begin a owl:ObjectProperty ;
    rdfs:label "begin (structural)" ;
    rdfs:comment "Structural reference for begin field when it contains a non-terminal node" ;
    ruby:fieldId 5 .

ruby:field_block a owl:ObjectProperty ;
    rdfs:label "block (structural)" ;
    rdfs:comment "Structural reference for block field when it contains a non-terminal node" ;
    ruby:fieldId 6 .

ruby:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    ruby:fieldId 7 .

ruby:field_class a owl:ObjectProperty ;
    rdfs:label "class (structural)" ;
    rdfs:comment "Structural reference for class field when it contains a non-terminal node" ;
    ruby:fieldId 8 .

ruby:field_clauses a owl:ObjectProperty ;
    rdfs:label "clauses (structural)" ;
    rdfs:comment "Structural reference for clauses field when it contains a non-terminal node" ;
    ruby:fieldId 9 .

ruby:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    ruby:fieldId 10 .

ruby:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    ruby:fieldId 11 .

ruby:field_else a owl:ObjectProperty ;
    rdfs:label "else (structural)" ;
    rdfs:comment "Structural reference for else field when it contains a non-terminal node" ;
    ruby:fieldId 12 .

ruby:field_end a owl:ObjectProperty ;
    rdfs:label "end (structural)" ;
    rdfs:comment "Structural reference for end field when it contains a non-terminal node" ;
    ruby:fieldId 13 .

ruby:field_exceptions a owl:ObjectProperty ;
    rdfs:label "exceptions (structural)" ;
    rdfs:comment "Structural reference for exceptions field when it contains a non-terminal node" ;
    ruby:fieldId 14 .

ruby:field_guard a owl:ObjectProperty ;
    rdfs:label "guard (structural)" ;
    rdfs:comment "Structural reference for guard field when it contains a non-terminal node" ;
    ruby:fieldId 15 .

ruby:field_handler a owl:ObjectProperty ;
    rdfs:label "handler (structural)" ;
    rdfs:comment "Structural reference for handler field when it contains a non-terminal node" ;
    ruby:fieldId 16 .

ruby:field_key a owl:ObjectProperty ;
    rdfs:label "key (structural)" ;
    rdfs:comment "Structural reference for key field when it contains a non-terminal node" ;
    ruby:fieldId 17 .

ruby:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    ruby:fieldId 18 .

ruby:field_method a owl:ObjectProperty ;
    rdfs:label "method (structural)" ;
    rdfs:comment "Structural reference for method field when it contains a non-terminal node" ;
    ruby:fieldId 20 .

ruby:field_name a owl:ObjectProperty ;
    rdfs:label "name (structural)" ;
    rdfs:comment "Structural reference for name field when it contains a non-terminal node" ;
    ruby:fieldId 21 .

ruby:field_object a owl:ObjectProperty ;
    rdfs:label "object (structural)" ;
    rdfs:comment "Structural reference for object field when it contains a non-terminal node" ;
    ruby:fieldId 22 .

ruby:field_operand a owl:ObjectProperty ;
    rdfs:label "operand (structural)" ;
    rdfs:comment "Structural reference for operand field when it contains a non-terminal node" ;
    ruby:fieldId 23 .

ruby:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    ruby:fieldId 24 .

ruby:field_parameters a owl:ObjectProperty ;
    rdfs:label "parameters (structural)" ;
    rdfs:comment "Structural reference for parameters field when it contains a non-terminal node" ;
    ruby:fieldId 25 .

ruby:field_pattern a owl:ObjectProperty ;
    rdfs:label "pattern (structural)" ;
    rdfs:comment "Structural reference for pattern field when it contains a non-terminal node" ;
    ruby:fieldId 26 .

ruby:field_receiver a owl:ObjectProperty ;
    rdfs:label "receiver (structural)" ;
    rdfs:comment "Structural reference for receiver field when it contains a non-terminal node" ;
    ruby:fieldId 27 .

ruby:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    ruby:fieldId 28 .

ruby:field_scope a owl:ObjectProperty ;
    rdfs:label "scope (structural)" ;
    rdfs:comment "Structural reference for scope field when it contains a non-terminal node" ;
    ruby:fieldId 29 .

ruby:field_superclass a owl:ObjectProperty ;
    rdfs:label "superclass (structural)" ;
    rdfs:comment "Structural reference for superclass field when it contains a non-terminal node" ;
    ruby:fieldId 30 .

ruby:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    ruby:fieldId 31 .

ruby:field_variable a owl:ObjectProperty ;
    rdfs:label "variable (structural)" ;
    rdfs:comment "Structural reference for variable field when it contains a non-terminal node" ;
    ruby:fieldId 32 .

ruby:file a owl:Class ;
    rdfs:label "file" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 50 .

ruby:find_pattern a owl:Class ;
    rdfs:label "find_pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 222 .

ruby:float a owl:Class ;
    rdfs:label "float" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 109 .

ruby:for a owl:Class ;
    rdfs:label "for" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 202 .

ruby:forward_argument a owl:Class ;
    rdfs:label "forward_argument" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 270 .

ruby:forward_parameter a owl:Class ;
    rdfs:label "forward_parameter" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 174 .

ruby:global_variable a owl:Class ;
    rdfs:label "global_variable" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 122 .

ruby:hash a owl:Class ;
    rdfs:label "hash" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 323 .

ruby:hash_key_symbol a owl:Class ;
    rdfs:label "hash_key_symbol" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 150,
        310,
        311 .

ruby:hash_pattern a owl:Class ;
    rdfs:label "hash_pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 226 .

ruby:hash_splat_argument a owl:Class ;
    rdfs:label "hash_splat_argument" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 272 .

ruby:hash_splat_nil a owl:Class ;
    rdfs:label "hash_splat_nil" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 177 .

ruby:hash_splat_parameter a owl:Class ;
    rdfs:label "hash_splat_parameter" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 176 .

ruby:heredoc_beginning a owl:Class ;
    rdfs:label "heredoc_beginning" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 142 .

ruby:heredoc_body a owl:Class ;
    rdfs:label "heredoc_body" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 320 .

ruby:heredoc_content a owl:Class ;
    rdfs:label "heredoc_content" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 139 .

ruby:heredoc_end a owl:Class ;
    rdfs:label "heredoc_end" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 141 .

ruby:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 1 .

ruby:if a owl:Class ;
    rdfs:label "if" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 239 .

ruby:if_guard a owl:Class ;
    rdfs:label "if_guard" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 211 .

ruby:if_modifier a owl:Class ;
    rdfs:label "if_modifier" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 195 .

ruby:in a owl:Class ;
    rdfs:label "in" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 203 .

ruby:in_clause a owl:Class ;
    rdfs:label "in_clause" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 208 .

ruby:instance_variable a owl:Class ;
    rdfs:label "instance_variable" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 120 .

ruby:integer a owl:Class ;
    rdfs:label "integer" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 108 .

ruby:interpolation a owl:Class ;
    rdfs:label "interpolation" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 313 .

ruby:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

ruby:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

ruby:key a owl:DatatypeProperty ;
    rdfs:label "key (literal)" ;
    rdfs:comment "Literal value for key field when it contains a terminal node" ;
    ruby:fieldId 17 ;
    ruby:isTerminalField true .

ruby:keyword_parameter a owl:Class ;
    rdfs:label "keyword_parameter" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 179 .

ruby:keyword_pattern a owl:Class ;
    rdfs:label "keyword_pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 224 .

ruby:lambda a owl:Class ;
    rdfs:label "lambda" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 325 .

ruby:lambda_parameters a owl:Class ;
    rdfs:label "lambda_parameters" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 350 .

ruby:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

ruby:left_assignment_list a owl:Class ;
    rdfs:label "left_assignment_list" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 292 .

ruby:line a owl:Class ;
    rdfs:label "line" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 49 .

ruby:locals a owl:DatatypeProperty ;
    rdfs:label "locals (literal)" ;
    rdfs:comment "Literal value for locals field when it contains a terminal node" ;
    ruby:fieldId 19 ;
    ruby:isTerminalField true .

ruby:match_pattern a owl:Class ;
    rdfs:label "match_pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 252 .

ruby:method a owl:Class,
        owl:DatatypeProperty ;
    rdfs:label "method",
        "method (literal)" ;
    rdfs:comment "Literal value for method field when it contains a terminal node" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    ruby:fieldId 20 ;
    ruby:isSupertype true ;
    ruby:isTerminalField true ;
    ruby:nodeTypeId 163 .

ruby:method_parameters a owl:Class ;
    rdfs:label "method_parameters" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 169,
        170 .

ruby:module a owl:Class ;
    rdfs:label "module" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 184 .

ruby:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    ruby:fieldId 21 ;
    ruby:isTerminalField true .

ruby:next a owl:Class ;
    rdfs:label "next" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ContinueStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 188,
        192 .

ruby:nil a owl:Class ;
    rdfs:label "nil" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 309 .

ruby:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

ruby:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

ruby:operator a owl:Class ;
    rdfs:label "operator" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 300 .

ruby:operator_assignment a owl:Class ;
    rdfs:label "operator_assignment" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:AugmentedAssignment ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 278,
        279 .

ruby:optional_parameter a owl:Class ;
    rdfs:label "optional_parameter" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 180 .

ruby:pair a owl:Class ;
    rdfs:label "pair" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 324 .

ruby:parenthesized_pattern a owl:Class ;
    rdfs:label "parenthesized_pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 228 .

ruby:parenthesized_statements a owl:Class ;
    rdfs:label "parenthesized_statements" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 258 .

ruby:pattern a owl:Class ;
    rdfs:label "pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 209 .

ruby:program a owl:Class ;
    rdfs:label "program" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 157 .

ruby:range a owl:Class ;
    rdfs:label "range" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 230,
        281 .

ruby:rational a owl:Class ;
    rdfs:label "rational" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 308 .

ruby:redo a owl:Class ;
    rdfs:label "redo" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ContinueStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 193 .

ruby:regex a owl:Class ;
    rdfs:label "regex" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 319 .

ruby:require rdfs:subClassOf ast-x:ImportStatement .

ruby:require_relative rdfs:subClassOf ast-x:ImportStatement .

ruby:rescue a owl:Class ;
    rdfs:label "rescue" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 246 .

ruby:rescue_modifier a owl:Class ;
    rdfs:label "rescue_modifier" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 166,
        167,
        199 .

ruby:rest_assignment a owl:Class ;
    rdfs:label "rest_assignment" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 295 .

ruby:retry a owl:Class ;
    rdfs:label "retry" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 194 .

ruby:return a owl:Class ;
    rdfs:label "return" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ReturnStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 185,
        189 .

ruby:right_assignment_list a owl:Class ;
    rdfs:label "right_assignment_list" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 291 .

ruby:scope_resolution a owl:Class ;
    rdfs:label "scope_resolution" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 238,
        260 .

ruby:self a owl:Class ;
    rdfs:label "self" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 114 .

ruby:setter a owl:Class ;
    rdfs:label "setter" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 303 .

ruby:simple_symbol a owl:Class ;
    rdfs:label "simple_symbol" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 130 .

ruby:singleton_class a owl:Class ;
    rdfs:label "singleton_class" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 183 .

ruby:singleton_method a owl:Class ;
    rdfs:label "singleton_method" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 164 .

ruby:splat_argument a owl:Class ;
    rdfs:label "splat_argument" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 271 .

ruby:splat_parameter a owl:Class ;
    rdfs:label "splat_parameter" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 175 .

ruby:string a owl:Class ;
    rdfs:label "string" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 314 .

ruby:string_array a owl:Class ;
    rdfs:label "string_array" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 316 .

ruby:string_content a owl:Class ;
    rdfs:label "string_content" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 138 .

ruby:subshell a owl:Class ;
    rdfs:label "subshell" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 315 .

ruby:super a owl:Class ;
    rdfs:label "super" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 113 .

ruby:superclass a owl:Class ;
    rdfs:label "superclass" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:ExtendsClause ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 182 .

ruby:symbol_array a owl:Class ;
    rdfs:label "symbol_array" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 317 .

ruby:test_pattern a owl:Class ;
    rdfs:label "test_pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 253 .

ruby:then a owl:Class ;
    rdfs:label "then" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 243 .

ruby:true a owl:Class ;
    rdfs:label "true" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 115 .

ruby:unary a owl:Class ;
    rdfs:label "unary" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 255,
        284,
        285,
        286,
        287 .

ruby:undef a owl:Class ;
    rdfs:label "undef" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 304 .

ruby:uninterpreted a owl:Class ;
    rdfs:label "uninterpreted" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 3 .

ruby:unless a owl:Class ;
    rdfs:label "unless" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 240 .

ruby:unless_guard a owl:Class ;
    rdfs:label "unless_guard" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 212 .

ruby:unless_modifier a owl:Class ;
    rdfs:label "unless_modifier" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 196 .

ruby:until a owl:Class ;
    rdfs:label "until" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 201 .

ruby:until_modifier a owl:Class ;
    rdfs:label "until_modifier" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 198 .

ruby:variable_reference_pattern a owl:Class ;
    rdfs:label "variable_reference_pattern" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 235 .

ruby:when a owl:Class ;
    rdfs:label "when" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 207 .

ruby:while a owl:Class ;
    rdfs:label "while" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 200 .

ruby:while_modifier a owl:Class ;
    rdfs:label "while_modifier" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 197 .

ruby:yield a owl:Class ;
    rdfs:label "yield" ;
    rdfs:isDefinedBy ruby: ;
    rdfs:subClassOf ast:Node,
        ast-x:YieldStatement ;
    ruby:isSupertype true ;
    ruby:nodeTypeId 186,
        190 .

rust:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

rust:abstract_type a owl:Class ;
    rdfs:label "abstract_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 235 .

rust:alias a owl:DatatypeProperty ;
    rdfs:label "alias (literal)" ;
    rdfs:comment "Literal value for alias field when it contains a terminal node" ;
    rust:fieldId 1 ;
    rust:isTerminalField true .

rust:argument a owl:DatatypeProperty ;
    rdfs:label "argument (literal)" ;
    rdfs:comment "Literal value for argument field when it contains a terminal node" ;
    rust:fieldId 3 ;
    rust:isTerminalField true .

rust:arguments a owl:Class ;
    rdfs:label "arguments" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 257 .

rust:array_expression a owl:Class ;
    rdfs:label "array_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 258 .

rust:array_type a owl:Class ;
    rdfs:label "array_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 220 .

rust:assignment_expression a owl:Class ;
    rdfs:label "assignment_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    rust:isSupertype true ;
    rust:nodeTypeId 251 .

rust:associated_type a owl:Class ;
    rdfs:label "associated_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 195 .

rust:async_block a owl:Class ;
    rdfs:label "async_block" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 290 .

rust:attribute a owl:Class ;
    rdfs:label "attribute" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 172 .

rust:attribute_item a owl:Class ;
    rdfs:label "attribute_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 170 .

rust:await_expression a owl:Class ;
    rdfs:label "await_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 287 .

rust:base_field_initializer a owl:Class ;
    rdfs:label "base_field_initializer" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 266 .

rust:binary_expression a owl:Class ;
    rdfs:label "binary_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 250 .

rust:block a owl:Class ;
    rdfs:label "block" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 293 .

rust:block_comment a owl:Class ;
    rdfs:label "block_comment" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    rust:isSupertype true ;
    rust:nodeTypeId 318 .

rust:boolean_literal a owl:Class ;
    rdfs:label "boolean_literal" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 313 .

rust:bounded_type a owl:Class ;
    rdfs:label "bounded_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 228 .

rust:bracketed_type a owl:Class ;
    rdfs:label "bracketed_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 217 .

rust:break_expression a owl:Class ;
    rdfs:label "break_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    rust:isSupertype true ;
    rust:nodeTypeId 284 .

rust:call_expression a owl:Class ;
    rdfs:label "call_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    rust:isSupertype true ;
    rust:nodeTypeId 256 .

rust:captured_pattern a owl:Class ;
    rdfs:label "captured_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 305 .

rust:char_literal a owl:Class ;
    rdfs:label "char_literal" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 130 .

rust:closure_expression a owl:Class ;
    rdfs:label "closure_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    rust:isSupertype true ;
    rust:nodeTypeId 281 .

rust:closure_parameters a owl:Class ;
    rdfs:label "closure_parameters" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 282 .

rust:compound_assignment_expr a owl:Class ;
    rdfs:label "compound_assignment_expr" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:AugmentedAssignment ;
    rust:isSupertype true ;
    rust:nodeTypeId 252 .

rust:const_block a owl:Class ;
    rdfs:label "const_block" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 280 .

rust:const_item a owl:Class ;
    rdfs:label "const_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 185 .

rust:const_parameter a owl:Class ;
    rdfs:label "const_parameter" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 200 .

rust:continue_expression a owl:Class ;
    rdfs:label "continue_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ContinueStatement ;
    rust:isSupertype true ;
    rust:nodeTypeId 285 .

rust:crate a owl:Class ;
    rdfs:label "crate" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 145 .

rust:declaration_list a owl:Class ;
    rdfs:label "declaration_list" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 175 .

rust:doc a owl:DatatypeProperty ;
    rdfs:label "doc (literal)" ;
    rdfs:comment "Literal value for doc field when it contains a terminal node" ;
    rust:fieldId 10 ;
    rust:isTerminalField true .

rust:doc_comment a owl:Class ;
    rdfs:label "doc_comment" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    rust:isSupertype true ;
    rust:nodeTypeId 155 .

rust:dynamic_type a owl:Class ;
    rdfs:label "dynamic_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 236 .

rust:else_clause a owl:Class ;
    rdfs:label "else_clause" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ElseClause ;
    rust:isSupertype true ;
    rust:nodeTypeId 271 .

rust:empty_statement a owl:Class ;
    rdfs:label "empty_statement" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 159 .

rust:enum_item a owl:Class ;
    rdfs:label "enum_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    rust:isSupertype true ;
    rust:nodeTypeId 178 .

rust:enum_variant a owl:Class ;
    rdfs:label "enum_variant" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 180 .

rust:enum_variant_list a owl:Class ;
    rdfs:label "enum_variant_list" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 179 .

rust:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 131 .

rust:expression_statement a owl:Class ;
    rdfs:label "expression_statement" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 160 .

rust:extern_crate_declaration a owl:Class ;
    rdfs:label "extern_crate_declaration" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 184 .

rust:extern_modifier a owl:Class ;
    rdfs:label "extern_modifier" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 214 .

rust:field a owl:DatatypeProperty ;
    rdfs:label "field (literal)" ;
    rdfs:comment "Literal value for field field when it contains a terminal node" ;
    rust:fieldId 12 ;
    rust:isTerminalField true .

rust:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

rust:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

rust:field_alias a owl:ObjectProperty ;
    rdfs:label "alias (structural)" ;
    rdfs:comment "Structural reference for alias field when it contains a non-terminal node" ;
    rust:fieldId 1 .

rust:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    rust:fieldId 2 .

rust:field_argument a owl:ObjectProperty ;
    rdfs:label "argument (structural)" ;
    rdfs:comment "Structural reference for argument field when it contains a non-terminal node" ;
    rust:fieldId 3 .

rust:field_arguments a owl:ObjectProperty ;
    rdfs:label "arguments (structural)" ;
    rdfs:comment "Structural reference for arguments field when it contains a non-terminal node" ;
    rust:fieldId 4 .

rust:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    rust:fieldId 5 .

rust:field_bounds a owl:ObjectProperty ;
    rdfs:label "bounds (structural)" ;
    rdfs:comment "Structural reference for bounds field when it contains a non-terminal node" ;
    rust:fieldId 6 .

rust:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    rust:fieldId 7 .

rust:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    rust:fieldId 8 .

rust:field_declaration a owl:Class ;
    rdfs:label "field_declaration" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 182 .

rust:field_declaration_list a owl:Class ;
    rdfs:label "field_declaration_list" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 181 .

rust:field_default_type a owl:ObjectProperty ;
    rdfs:label "default_type (structural)" ;
    rdfs:comment "Structural reference for default_type field when it contains a non-terminal node" ;
    rust:fieldId 9 .

rust:field_element a owl:ObjectProperty ;
    rdfs:label "element (structural)" ;
    rdfs:comment "Structural reference for element field when it contains a non-terminal node" ;
    rust:fieldId 11 .

rust:field_expression a owl:Class ;
    rdfs:label "field_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 288 .

rust:field_function a owl:ObjectProperty ;
    rdfs:label "function (structural)" ;
    rdfs:comment "Structural reference for function field when it contains a non-terminal node" ;
    rust:fieldId 13 .

rust:field_identifier a owl:Class ;
    rdfs:label "field_identifier" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 351 .

rust:field_initializer a owl:Class ;
    rdfs:label "field_initializer" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 265 .

rust:field_initializer_list a owl:Class ;
    rdfs:label "field_initializer_list" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 263 .

rust:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    rust:fieldId 15 .

rust:field_length a owl:ObjectProperty ;
    rdfs:label "length (structural)" ;
    rdfs:comment "Structural reference for length field when it contains a non-terminal node" ;
    rust:fieldId 16 .

rust:field_list a owl:ObjectProperty ;
    rdfs:label "list (structural)" ;
    rdfs:comment "Structural reference for list field when it contains a non-terminal node" ;
    rust:fieldId 17 .

rust:field_macro a owl:ObjectProperty ;
    rdfs:label "macro (structural)" ;
    rdfs:comment "Structural reference for macro field when it contains a non-terminal node" ;
    rust:fieldId 18 .

rust:field_name a owl:ObjectProperty ;
    rdfs:label "name (structural)" ;
    rdfs:comment "Structural reference for name field when it contains a non-terminal node" ;
    rust:fieldId 19 .

rust:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    rust:fieldId 20 .

rust:field_parameters a owl:ObjectProperty ;
    rdfs:label "parameters (structural)" ;
    rdfs:comment "Structural reference for parameters field when it contains a non-terminal node" ;
    rust:fieldId 22 .

rust:field_path a owl:ObjectProperty ;
    rdfs:label "path (structural)" ;
    rdfs:comment "Structural reference for path field when it contains a non-terminal node" ;
    rust:fieldId 23 .

rust:field_pattern a owl:Class,
        owl:ObjectProperty ;
    rdfs:label "field_pattern",
        "pattern (structural)" ;
    rdfs:comment "Structural reference for pattern field when it contains a non-terminal node" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:fieldId 24 ;
    rust:isSupertype true ;
    rust:nodeTypeId 300 .

rust:field_return_type a owl:ObjectProperty ;
    rdfs:label "return_type (structural)" ;
    rdfs:comment "Structural reference for return_type field when it contains a non-terminal node" ;
    rust:fieldId 25 .

rust:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    rust:fieldId 26 .

rust:field_trait a owl:ObjectProperty ;
    rdfs:label "trait (structural)" ;
    rdfs:comment "Structural reference for trait field when it contains a non-terminal node" ;
    rust:fieldId 27 .

rust:field_type a owl:ObjectProperty ;
    rdfs:label "type (structural)" ;
    rdfs:comment "Structural reference for type field when it contains a non-terminal node" ;
    rust:fieldId 28 .

rust:field_type_arguments a owl:ObjectProperty ;
    rdfs:label "type_arguments (structural)" ;
    rdfs:comment "Structural reference for type_arguments field when it contains a non-terminal node" ;
    rust:fieldId 29 .

rust:field_type_parameters a owl:ObjectProperty ;
    rdfs:label "type_parameters (structural)" ;
    rdfs:comment "Structural reference for type_parameters field when it contains a non-terminal node" ;
    rust:fieldId 30 .

rust:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    rust:fieldId 31 .

rust:float_literal a owl:Class ;
    rdfs:label "float_literal" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 151 .

rust:for_expression a owl:Class ;
    rdfs:label "for_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    rust:isSupertype true ;
    rust:nodeTypeId 279 .

rust:for_lifetimes a owl:Class ;
    rdfs:label "for_lifetimes" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 221 .

rust:foreign_mod_item a owl:Class ;
    rdfs:label "foreign_mod_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 174 .

rust:fragment_specifier a owl:Class ;
    rdfs:label "fragment_specifier" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 167 .

rust:function a owl:DatatypeProperty ;
    rdfs:label "function (literal)" ;
    rdfs:comment "Literal value for function field when it contains a terminal node" ;
    rust:fieldId 13 ;
    rust:isTerminalField true .

rust:function_item a owl:Class ;
    rdfs:label "function_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    rust:isSupertype true ;
    rust:nodeTypeId 188 .

rust:function_modifiers a owl:Class ;
    rdfs:label "function_modifiers" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 190 .

rust:function_signature_item a owl:Class ;
    rdfs:label "function_signature_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 189 .

rust:function_type a owl:Class ;
    rdfs:label "function_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 222 .

rust:gen_block a owl:Class ;
    rdfs:label "gen_block" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 291 .

rust:generic_function a owl:Class ;
    rdfs:label "generic_function" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 225 .

rust:generic_pattern a owl:Class ;
    rdfs:label "generic_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 295 .

rust:generic_type a owl:Class ;
    rdfs:label "generic_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 226 .

rust:generic_type_with_turbofish a owl:Class ;
    rdfs:label "generic_type_with_turbofish" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 227 .

rust:higher_ranked_trait_bound a owl:Class ;
    rdfs:label "higher_ranked_trait_bound" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 197 .

rust:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 1 .

rust:if_expression a owl:Class ;
    rdfs:label "if_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    rust:isSupertype true ;
    rust:nodeTypeId 267 .

rust:impl_item a owl:Class ;
    rdfs:label "impl_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    rust:isSupertype true ;
    rust:nodeTypeId 193 .

rust:index_expression a owl:Class ;
    rdfs:label "index_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 286 .

rust:inner a owl:DatatypeProperty ;
    rdfs:label "inner (literal)" ;
    rdfs:comment "Literal value for inner field when it contains a terminal node" ;
    rust:fieldId 14 ;
    rust:isTerminalField true .

rust:inner_attribute_item a owl:Class ;
    rdfs:label "inner_attribute_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 171 .

rust:inner_doc_comment_marker a owl:Class ;
    rdfs:label "inner_doc_comment_marker" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 153,
        316 .

rust:integer_literal a owl:Class ;
    rdfs:label "integer_literal" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 127 .

rust:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

rust:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

rust:label a owl:Class ;
    rdfs:label "label" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 283 .

rust:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

rust:left a owl:DatatypeProperty ;
    rdfs:label "left (literal)" ;
    rdfs:comment "Literal value for left field when it contains a terminal node" ;
    rust:fieldId 15 ;
    rust:isTerminalField true .

rust:let_chain a owl:Class ;
    rdfs:label "let_chain" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 352 .

rust:let_condition a owl:Class ;
    rdfs:label "let_condition" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 268 .

rust:let_declaration a owl:Class ;
    rdfs:label "let_declaration" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    rust:isSupertype true ;
    rust:nodeTypeId 203 .

rust:lifetime a owl:Class ;
    rdfs:label "lifetime" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 219 .

rust:lifetime_parameter a owl:Class ;
    rdfs:label "lifetime_parameter" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 202 .

rust:line_comment a owl:Class ;
    rdfs:label "line_comment" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    rust:isSupertype true ;
    rust:nodeTypeId 314 .

rust:loop_expression a owl:Class ;
    rdfs:label "loop_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    rust:isSupertype true ;
    rust:nodeTypeId 278 .

rust:macro a owl:DatatypeProperty ;
    rdfs:label "macro (literal)" ;
    rdfs:comment "Literal value for macro field when it contains a terminal node" ;
    rust:fieldId 18 ;
    rust:isTerminalField true .

rust:macro_definition a owl:Class ;
    rdfs:label "macro_definition" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 161 .

rust:macro_invocation a owl:Class ;
    rdfs:label "macro_invocation" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    rust:isSupertype true ;
    rust:nodeTypeId 239 .

rust:macro_rule a owl:Class ;
    rdfs:label "macro_rule" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 162 .

rust:match_arm a owl:Class ;
    rdfs:label "match_arm" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    rust:isSupertype true ;
    rust:nodeTypeId 274,
        275 .

rust:match_block a owl:Class ;
    rdfs:label "match_block" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 273 .

rust:match_expression a owl:Class ;
    rdfs:label "match_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    rust:isSupertype true ;
    rust:nodeTypeId 272 .

rust:match_pattern a owl:Class ;
    rdfs:label "match_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 276 .

rust:metavariable a owl:Class ;
    rdfs:label "metavariable" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 146 .

rust:mod_item a owl:Class ;
    rdfs:label "mod_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 173 .

rust:mut_pattern a owl:Class ;
    rdfs:label "mut_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 302 .

rust:mutable_specifier a owl:Class ;
    rdfs:label "mutable_specifier" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 122 .

rust:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    rust:fieldId 19 ;
    rust:isTerminalField true .

rust:negative_literal a owl:Class ;
    rdfs:label "negative_literal" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 310 .

rust:never_type a owl:Class ;
    rdfs:label "never_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 234 .

rust:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

rust:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

rust:or_pattern a owl:Class ;
    rdfs:label "or_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 307 .

rust:ordered_field_declaration_list a owl:Class ;
    rdfs:label "ordered_field_declaration_list" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 183 .

rust:outer a owl:DatatypeProperty ;
    rdfs:label "outer (literal)" ;
    rdfs:comment "Literal value for outer field when it contains a terminal node" ;
    rust:fieldId 21 ;
    rust:isTerminalField true .

rust:outer_doc_comment_marker a owl:Class ;
    rdfs:label "outer_doc_comment_marker" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 152,
        317 .

rust:parameter a owl:Class ;
    rdfs:label "parameter" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    rust:isSupertype true ;
    rust:nodeTypeId 213 .

rust:parameters a owl:Class ;
    rdfs:label "parameters" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    rust:isSupertype true ;
    rust:nodeTypeId 210 .

rust:parenthesized_expression a owl:Class ;
    rdfs:label "parenthesized_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 259 .

rust:path a owl:DatatypeProperty ;
    rdfs:label "path (literal)" ;
    rdfs:comment "Literal value for path field when it contains a terminal node" ;
    rust:fieldId 23 ;
    rust:isTerminalField true .

rust:pattern a owl:DatatypeProperty ;
    rdfs:label "pattern (literal)" ;
    rdfs:comment "Literal value for pattern field when it contains a terminal node" ;
    rust:fieldId 24 ;
    rust:isTerminalField true .

rust:pointer_type a owl:Class ;
    rdfs:label "pointer_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 233 .

rust:primitive_type a owl:Class ;
    rdfs:label "primitive_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 32,
        33,
        34,
        35,
        36,
        37,
        38,
        39,
        40,
        41,
        42,
        43,
        44,
        45,
        46,
        47,
        48 .

rust:qualified_type a owl:Class ;
    rdfs:label "qualified_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 218 .

rust:range_expression a owl:Class ;
    rdfs:label "range_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 246 .

rust:range_pattern a owl:Class ;
    rdfs:label "range_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 303 .

rust:raw_string_literal a owl:Class ;
    rdfs:label "raw_string_literal" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 312 .

rust:ref_pattern a owl:Class ;
    rdfs:label "ref_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 304 .

rust:reference_expression a owl:Class ;
    rdfs:label "reference_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 249 .

rust:reference_pattern a owl:Class ;
    rdfs:label "reference_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 306 .

rust:reference_type a owl:Class ;
    rdfs:label "reference_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 232 .

rust:remaining_field_pattern a owl:Class ;
    rdfs:label "remaining_field_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 301 .

rust:removed_trait_bound a owl:Class ;
    rdfs:label "removed_trait_bound" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 198 .

rust:return_expression a owl:Class ;
    rdfs:label "return_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ReturnStatement ;
    rust:isSupertype true ;
    rust:nodeTypeId 254 .

rust:right a owl:DatatypeProperty ;
    rdfs:label "right (literal)" ;
    rdfs:comment "Literal value for right field when it contains a terminal node" ;
    rust:fieldId 26 ;
    rust:isTerminalField true .

rust:scoped_identifier a owl:Class ;
    rdfs:label "scoped_identifier" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 243 .

rust:scoped_type_identifier a owl:Class ;
    rdfs:label "scoped_type_identifier" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 244,
        245 .

rust:scoped_use_list a owl:Class ;
    rdfs:label "scoped_use_list" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 206 .

rust:self a owl:Class ;
    rdfs:label "self" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 143 .

rust:self_parameter a owl:Class ;
    rdfs:label "self_parameter" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    rust:isSupertype true ;
    rust:nodeTypeId 211 .

rust:shebang a owl:Class ;
    rdfs:label "shebang" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 142 .

rust:shorthand_field_identifier a owl:Class ;
    rdfs:label "shorthand_field_identifier" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 353 .

rust:shorthand_field_initializer a owl:Class ;
    rdfs:label "shorthand_field_initializer" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 264 .

rust:slice_pattern a owl:Class ;
    rdfs:label "slice_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 297 .

rust:source_file a owl:Class ;
    rdfs:label "source_file" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 157 .

rust:static_item a owl:Class ;
    rdfs:label "static_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 186 .

rust:string_content a owl:Class ;
    rdfs:label "string_content" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 147,
        149 .

rust:string_literal a owl:Class ;
    rdfs:label "string_literal" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 311 .

rust:struct_expression a owl:Class ;
    rdfs:label "struct_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 262 .

rust:struct_item a owl:Class ;
    rdfs:label "struct_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    rust:isSupertype true ;
    rust:nodeTypeId 176 .

rust:struct_pattern a owl:Class ;
    rdfs:label "struct_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 299 .

rust:super a owl:Class ;
    rdfs:label "super" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 144 .

rust:token_binding_pattern a owl:Class ;
    rdfs:label "token_binding_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 165 .

rust:token_repetition a owl:Class ;
    rdfs:label "token_repetition" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 169 .

rust:token_repetition_pattern a owl:Class ;
    rdfs:label "token_repetition_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 166 .

rust:token_tree a owl:Class ;
    rdfs:label "token_tree" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 168,
        240 .

rust:token_tree_pattern a owl:Class ;
    rdfs:label "token_tree_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 164 .

rust:trait a owl:DatatypeProperty ;
    rdfs:label "trait (literal)" ;
    rdfs:comment "Literal value for trait field when it contains a terminal node" ;
    rust:fieldId 27 ;
    rust:isTerminalField true .

rust:trait_bounds a owl:Class ;
    rdfs:label "trait_bounds" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImplementsClause ;
    rust:isSupertype true ;
    rust:nodeTypeId 196 .

rust:trait_item a owl:Class ;
    rdfs:label "trait_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    rust:isSupertype true ;
    rust:nodeTypeId 194 .

rust:try_block a owl:Class ;
    rdfs:label "try_block" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    rust:isSupertype true ;
    rust:nodeTypeId 292 .

rust:try_expression a owl:Class ;
    rdfs:label "try_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 248 .

rust:tuple_expression a owl:Class ;
    rdfs:label "tuple_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 260 .

rust:tuple_pattern a owl:Class ;
    rdfs:label "tuple_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 296 .

rust:tuple_struct_pattern a owl:Class ;
    rdfs:label "tuple_struct_pattern" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 298 .

rust:tuple_type a owl:Class ;
    rdfs:label "tuple_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 223 .

rust:type a owl:DatatypeProperty ;
    rdfs:label "type (literal)" ;
    rdfs:comment "Literal value for type field when it contains a terminal node" ;
    rust:fieldId 28 ;
    rust:isTerminalField true .

rust:type_arguments a owl:Class ;
    rdfs:label "type_arguments" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 230 .

rust:type_binding a owl:Class ;
    rdfs:label "type_binding" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 231 .

rust:type_cast_expression a owl:Class ;
    rdfs:label "type_cast_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 253 .

rust:type_identifier a owl:Class ;
    rdfs:label "type_identifier" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 354 .

rust:type_item a owl:Class ;
    rdfs:label "type_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 187 .

rust:type_parameter a owl:Class ;
    rdfs:label "type_parameter" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 201 .

rust:type_parameters a owl:Class ;
    rdfs:label "type_parameters" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 199 .

rust:unary_expression a owl:Class ;
    rdfs:label "unary_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 247 .

rust:union_item a owl:Class ;
    rdfs:label "union_item" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 177 .

rust:unit_expression a owl:Class ;
    rdfs:label "unit_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 261 .

rust:unit_type a owl:Class ;
    rdfs:label "unit_type" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 224 .

rust:unsafe_block a owl:Class ;
    rdfs:label "unsafe_block" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 289 .

rust:use_as_clause a owl:Class ;
    rdfs:label "use_as_clause" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 208 .

rust:use_bounds a owl:Class ;
    rdfs:label "use_bounds" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 229 .

rust:use_declaration a owl:Class ;
    rdfs:label "use_declaration" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    rust:isSupertype true ;
    rust:nodeTypeId 204 .

rust:use_list a owl:Class ;
    rdfs:label "use_list" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 207 .

rust:use_wildcard a owl:Class ;
    rdfs:label "use_wildcard" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 209 .

rust:value a owl:DatatypeProperty ;
    rdfs:label "value (literal)" ;
    rdfs:comment "Literal value for value field when it contains a terminal node" ;
    rust:fieldId 31 ;
    rust:isTerminalField true .

rust:variadic_parameter a owl:Class ;
    rdfs:label "variadic_parameter" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    rust:isSupertype true ;
    rust:nodeTypeId 212 .

rust:visibility_modifier a owl:Class ;
    rdfs:label "visibility_modifier" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 215 .

rust:where_clause a owl:Class ;
    rdfs:label "where_clause" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImplementsClause ;
    rust:isSupertype true ;
    rust:nodeTypeId 191 .

rust:where_predicate a owl:Class ;
    rdfs:label "where_predicate" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 192 .

rust:while_expression a owl:Class ;
    rdfs:label "while_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    rust:isSupertype true ;
    rust:nodeTypeId 277 .

rust:yield_expression a owl:Class ;
    rdfs:label "yield_expression" ;
    rdfs:isDefinedBy rust: ;
    rdfs:subClassOf ast:Node ;
    rust:isSupertype true ;
    rust:nodeTypeId 255 .

scala:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

scala:access_modifier a owl:Class ;
    rdfs:label "access_modifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 188 .

scala:access_qualifier a owl:Class ;
    rdfs:label "access_qualifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 189 .

scala:alias a owl:DatatypeProperty ;
    rdfs:label "alias (literal)" ;
    rdfs:comment "Literal value for alias field when it contains a terminal node" ;
    scala:fieldId 1 ;
    scala:isTerminalField true .

scala:alternative_pattern a owl:Class ;
    rdfs:label "alternative_pattern" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 242 .

scala:annotated_type a owl:Class ;
    rdfs:label "annotated_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 212 .

scala:annotation a owl:Class ;
    rdfs:label "annotation" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 165 .

scala:applied_constructor_type a owl:Class ;
    rdfs:label "applied_constructor_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 214 .

scala:arguments a owl:Class ;
    rdfs:label "arguments" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 277 .

scala:arrow_renamed_identifier a owl:Class ;
    rdfs:label "arrow_renamed_identifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 136 .

scala:as_renamed_identifier a owl:Class ;
    rdfs:label "as_renamed_identifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 137 .

scala:ascription_expression a owl:Class ;
    rdfs:label "ascription_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 268 .

scala:assignment_expression a owl:Class ;
    rdfs:label "assignment_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    scala:isSupertype true ;
    scala:nodeTypeId 262 .

scala:base a owl:DatatypeProperty ;
    rdfs:label "base (literal)" ;
    rdfs:comment "Literal value for base field when it contains a terminal node" ;
    scala:fieldId 4 ;
    scala:isTerminalField true .

scala:binding a owl:Class ;
    rdfs:label "binding" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 256 .

scala:bindings a owl:Class ;
    rdfs:label "bindings" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    scala:isSupertype true ;
    scala:nodeTypeId 257 .

scala:block a owl:Class ;
    rdfs:label "block" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 206 .

scala:block_comment a owl:Class ;
    rdfs:label "block_comment" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    scala:isSupertype true ;
    scala:nodeTypeId 306 .

scala:body a owl:DatatypeProperty ;
    rdfs:label "body (literal)" ;
    rdfs:comment "Literal value for body field when it contains a terminal node" ;
    scala:fieldId 5 ;
    scala:isTerminalField true .

scala:boolean_literal a owl:Class ;
    rdfs:label "boolean_literal" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 287 .

scala:call_expression a owl:Class ;
    rdfs:label "call_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    scala:isSupertype true ;
    scala:nodeTypeId 264 .

scala:capture_pattern a owl:Class ;
    rdfs:label "capture_pattern" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 238 .

scala:case_block a owl:Class ;
    rdfs:label "case_block" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 258 .

scala:case_class_pattern a owl:Class ;
    rdfs:label "case_class_pattern" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 236 .

scala:case_clause a owl:Class ;
    rdfs:label "case_clause" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 259 .

scala:catch_clause a owl:Class ;
    rdfs:label "catch_clause" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    scala:isSupertype true ;
    scala:nodeTypeId 253 .

scala:character_literal a owl:Class ;
    rdfs:label "character_literal" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 84 .

scala:class_definition a owl:Class ;
    rdfs:label "class_definition" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    scala:isSupertype true ;
    scala:nodeTypeId 140 .

scala:class_parameter a owl:Class ;
    rdfs:label "class_parameter" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    scala:isSupertype true ;
    scala:nodeTypeId 201 .

scala:class_parameters a owl:Class ;
    rdfs:label "class_parameters" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    scala:isSupertype true ;
    scala:nodeTypeId 198 .

scala:colon_argument a owl:Class ;
    rdfs:label "colon_argument" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 265 .

scala:comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    scala:isSupertype true ;
    scala:nodeTypeId 95,
        304 .

scala:compilation_unit a owl:Class ;
    rdfs:label "compilation_unit" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 118 .

scala:compound_type a owl:Class ;
    rdfs:label "compound_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 215 .

scala:condition a owl:DatatypeProperty ;
    rdfs:label "condition (literal)" ;
    rdfs:comment "Literal value for condition field when it contains a terminal node" ;
    scala:fieldId 8 ;
    scala:isTerminalField true .

scala:context_bound a owl:Class ;
    rdfs:label "context_bound" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 154 .

scala:contravariant_type_parameter a owl:Class ;
    rdfs:label "contravariant_type_parameter" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 148 .

scala:covariant_type_parameter a owl:Class ;
    rdfs:label "covariant_type_parameter" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 147 .

scala:derives_clause a owl:Class ;
    rdfs:label "derives_clause" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 197 .

scala:do_while_expression a owl:Class ;
    rdfs:label "do_while_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    scala:isSupertype true ;
    scala:nodeTypeId 299 .

scala:enum_body a owl:Class ;
    rdfs:label "enum_body" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 122 .

scala:enum_case_definitions a owl:Class ;
    rdfs:label "enum_case_definitions" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 123 .

scala:enum_definition a owl:Class ;
    rdfs:label "enum_definition" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    scala:isSupertype true ;
    scala:nodeTypeId 120 .

scala:enumerator a owl:Class ;
    rdfs:label "enumerator" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 302 .

scala:enumerators a owl:Class ;
    rdfs:label "enumerators" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 301 .

scala:error_sentinel a owl:Class ;
    rdfs:label "error_sentinel" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 117 .

scala:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 85,
        88 .

scala:export_declaration a owl:Class ;
    rdfs:label "export_declaration" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 131 .

scala:extends_clause a owl:Class ;
    rdfs:label "extends_clause" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ExtendsClause ;
    scala:isSupertype true ;
    scala:nodeTypeId 196 .

scala:extension_definition a owl:Class ;
    rdfs:label "extension_definition" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 179 .

scala:extra a owl:DatatypeProperty ;
    rdfs:label "extra (literal)" ;
    rdfs:comment "Literal value for extra field when it contains a terminal node" ;
    scala:fieldId 14 ;
    scala:isTerminalField true .

scala:field a owl:DatatypeProperty ;
    rdfs:label "field (literal)" ;
    rdfs:comment "Literal value for field field when it contains a terminal node" ;
    scala:fieldId 15 ;
    scala:isTerminalField true .

scala:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

scala:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

scala:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    scala:fieldId 2 .

scala:field_arguments a owl:ObjectProperty ;
    rdfs:label "arguments (structural)" ;
    rdfs:comment "Structural reference for arguments field when it contains a non-terminal node" ;
    scala:fieldId 3 .

scala:field_base a owl:ObjectProperty ;
    rdfs:label "base (structural)" ;
    rdfs:comment "Structural reference for base field when it contains a non-terminal node" ;
    scala:fieldId 4 .

scala:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    scala:fieldId 5 .

scala:field_bound a owl:ObjectProperty ;
    rdfs:label "bound (structural)" ;
    rdfs:comment "Structural reference for bound field when it contains a non-terminal node" ;
    scala:fieldId 6 .

scala:field_class_parameters a owl:ObjectProperty ;
    rdfs:label "class_parameters (structural)" ;
    rdfs:comment "Structural reference for class_parameters field when it contains a non-terminal node" ;
    scala:fieldId 7 .

scala:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    scala:fieldId 8 .

scala:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    scala:fieldId 9 .

scala:field_default_value a owl:ObjectProperty ;
    rdfs:label "default_value (structural)" ;
    rdfs:comment "Structural reference for default_value field when it contains a non-terminal node" ;
    scala:fieldId 10 .

scala:field_derive a owl:ObjectProperty ;
    rdfs:label "derive (structural)" ;
    rdfs:comment "Structural reference for derive field when it contains a non-terminal node" ;
    scala:fieldId 11 .

scala:field_enumerators a owl:ObjectProperty ;
    rdfs:label "enumerators (structural)" ;
    rdfs:comment "Structural reference for enumerators field when it contains a non-terminal node" ;
    scala:fieldId 12 .

scala:field_expression a owl:Class ;
    rdfs:label "field_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 266 .

scala:field_extend a owl:ObjectProperty ;
    rdfs:label "extend (structural)" ;
    rdfs:comment "Structural reference for extend field when it contains a non-terminal node" ;
    scala:fieldId 13 .

scala:field_extra a owl:ObjectProperty ;
    rdfs:label "extra (structural)" ;
    rdfs:comment "Structural reference for extra field when it contains a non-terminal node" ;
    scala:fieldId 14 .

scala:field_function a owl:ObjectProperty ;
    rdfs:label "function (structural)" ;
    rdfs:comment "Structural reference for function field when it contains a non-terminal node" ;
    scala:fieldId 16 .

scala:field_lambda_start a owl:ObjectProperty ;
    rdfs:label "lambda_start (structural)" ;
    rdfs:comment "Structural reference for lambda_start field when it contains a non-terminal node" ;
    scala:fieldId 18 .

scala:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    scala:fieldId 19 .

scala:field_name a owl:ObjectProperty ;
    rdfs:label "name (structural)" ;
    rdfs:comment "Structural reference for name field when it contains a non-terminal node" ;
    scala:fieldId 20 .

scala:field_parameter_types a owl:ObjectProperty ;
    rdfs:label "parameter_types (structural)" ;
    rdfs:comment "Structural reference for parameter_types field when it contains a non-terminal node" ;
    scala:fieldId 22 .

scala:field_parameters a owl:ObjectProperty ;
    rdfs:label "parameters (structural)" ;
    rdfs:comment "Structural reference for parameters field when it contains a non-terminal node" ;
    scala:fieldId 23 .

scala:field_path a owl:ObjectProperty ;
    rdfs:label "path (structural)" ;
    rdfs:comment "Structural reference for path field when it contains a non-terminal node" ;
    scala:fieldId 24 .

scala:field_pattern a owl:ObjectProperty ;
    rdfs:label "pattern (structural)" ;
    rdfs:comment "Structural reference for pattern field when it contains a non-terminal node" ;
    scala:fieldId 25 .

scala:field_return_type a owl:ObjectProperty ;
    rdfs:label "return_type (structural)" ;
    rdfs:comment "Structural reference for return_type field when it contains a non-terminal node" ;
    scala:fieldId 26 .

scala:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    scala:fieldId 27 .

scala:field_selector a owl:ObjectProperty ;
    rdfs:label "selector (structural)" ;
    rdfs:comment "Structural reference for selector field when it contains a non-terminal node" ;
    scala:fieldId 28 .

scala:field_type a owl:ObjectProperty ;
    rdfs:label "type (structural)" ;
    rdfs:comment "Structural reference for type field when it contains a non-terminal node" ;
    scala:fieldId 29 .

scala:field_type_arguments a owl:ObjectProperty ;
    rdfs:label "type_arguments (structural)" ;
    rdfs:comment "Structural reference for type_arguments field when it contains a non-terminal node" ;
    scala:fieldId 30 .

scala:field_type_parameters a owl:ObjectProperty ;
    rdfs:label "type_parameters (structural)" ;
    rdfs:comment "Structural reference for type_parameters field when it contains a non-terminal node" ;
    scala:fieldId 31 .

scala:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    scala:fieldId 32 .

scala:finally_clause a owl:Class ;
    rdfs:label "finally_clause" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 255 .

scala:floating_point_literal a owl:Class ;
    rdfs:label "floating_point_literal" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 81 .

scala:for_expression a owl:Class ;
    rdfs:label "for_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    scala:isSupertype true ;
    scala:nodeTypeId 300 .

scala:full_enum_case a owl:Class ;
    rdfs:label "full_enum_case" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 125 .

scala:function a owl:DatatypeProperty ;
    rdfs:label "function (literal)" ;
    rdfs:comment "Literal value for function field when it contains a terminal node" ;
    scala:fieldId 16 ;
    scala:isTerminalField true .

scala:function_declaration a owl:Class ;
    rdfs:label "function_declaration" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    scala:isSupertype true ;
    scala:nodeTypeId 175 .

scala:function_definition a owl:Class ;
    rdfs:label "function_definition" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    scala:isSupertype true ;
    scala:nodeTypeId 174 .

scala:function_type a owl:Class ;
    rdfs:label "function_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 229 .

scala:generic_function a owl:Class ;
    rdfs:label "generic_function" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    scala:isSupertype true ;
    scala:nodeTypeId 263 .

scala:generic_type a owl:Class ;
    rdfs:label "generic_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 225 .

scala:given_conditional a owl:Class ;
    rdfs:label "given_conditional" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 354 .

scala:given_definition a owl:Class ;
    rdfs:label "given_definition" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 180 .

scala:given_pattern a owl:Class ;
    rdfs:label "given_pattern" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 241 .

scala:guard a owl:Class ;
    rdfs:label "guard" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 261 .

scala:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 77,
        112,
        281 .

scala:identifiers a owl:Class ;
    rdfs:label "identifiers" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 283 .

scala:if_expression a owl:Class ;
    rdfs:label "if_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    scala:isSupertype true ;
    scala:nodeTypeId 249 .

scala:import_declaration a owl:Class ;
    rdfs:label "import_declaration" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    scala:isSupertype true ;
    scala:nodeTypeId 130 .

scala:indented_block a owl:Class ;
    rdfs:label "indented_block" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 207 .

scala:indented_cases a owl:Class ;
    rdfs:label "indented_cases" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 208 .

scala:infix_expression a owl:Class ;
    rdfs:label "infix_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 269 .

scala:infix_modifier a owl:Class ;
    rdfs:label "infix_modifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 191 .

scala:infix_pattern a owl:Class ;
    rdfs:label "infix_pattern" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 237 .

scala:infix_type a owl:Class ;
    rdfs:label "infix_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 219 .

scala:inline_modifier a owl:Class ;
    rdfs:label "inline_modifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 190 .

scala:instance_expression a owl:Class ;
    rdfs:label "instance_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 267 .

scala:integer_literal a owl:Class ;
    rdfs:label "integer_literal" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 80 .

scala:interpolated_string a owl:Class ;
    rdfs:label "interpolated_string" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 292,
        293 .

scala:interpolated_string_expression a owl:Class ;
    rdfs:label "interpolated_string_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 288 .

scala:interpolation a owl:Class ;
    rdfs:label "interpolation" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 291 .

scala:interpolator a owl:DatatypeProperty ;
    rdfs:label "interpolator (literal)" ;
    rdfs:comment "Literal value for interpolator field when it contains a terminal node" ;
    scala:fieldId 17 ;
    scala:isTerminalField true .

scala:into_modifier a owl:Class ;
    rdfs:label "into_modifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 192 .

scala:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

scala:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

scala:lambda_expression a owl:Class ;
    rdfs:label "lambda_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    scala:isSupertype true ;
    scala:nodeTypeId 248 .

scala:lambda_start a owl:DatatypeProperty ;
    rdfs:label "lambda_start (literal)" ;
    rdfs:comment "Literal value for lambda_start field when it contains a terminal node" ;
    scala:fieldId 18 ;
    scala:isTerminalField true .

scala:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

scala:lazy_parameter_type a owl:Class ;
    rdfs:label "lazy_parameter_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 232 .

scala:left a owl:DatatypeProperty ;
    rdfs:label "left (literal)" ;
    rdfs:comment "Literal value for left field when it contains a terminal node" ;
    scala:fieldId 19 ;
    scala:isTerminalField true .

scala:literal_type a owl:Class ;
    rdfs:label "literal_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 286 .

scala:lower_bound a owl:Class ;
    rdfs:label "lower_bound" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 151 .

scala:macro_body a owl:Class ;
    rdfs:label "macro_body" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 272 .

scala:match_expression a owl:Class ;
    rdfs:label "match_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    scala:isSupertype true ;
    scala:nodeTypeId 251 .

scala:match_type a owl:Class ;
    rdfs:label "match_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 227 .

scala:modifiers a owl:Class ;
    rdfs:label "modifiers" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 187 .

scala:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    scala:fieldId 20 ;
    scala:isTerminalField true .

scala:name_and_type a owl:Class ;
    rdfs:label "name_and_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 203 .

scala:named_pattern a owl:Class ;
    rdfs:label "named_pattern" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 244 .

scala:named_tuple_pattern a owl:Class ;
    rdfs:label "named_tuple_pattern" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 245 .

scala:named_tuple_type a owl:Class ;
    rdfs:label "named_tuple_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 221 .

scala:namespace_selectors a owl:Class ;
    rdfs:label "namespace_selectors" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 135 .

scala:namespace_wildcard a owl:Class ;
    rdfs:label "namespace_wildcard" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 133 .

scala:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

scala:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

scala:null_literal a owl:Class ;
    rdfs:label "null_literal" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 89 .

scala:object_definition a owl:Class ;
    rdfs:label "object_definition" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    scala:isSupertype true ;
    scala:nodeTypeId 138 .

scala:opaque_modifier a owl:Class ;
    rdfs:label "opaque_modifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 178 .

scala:open_modifier a owl:Class ;
    rdfs:label "open_modifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 193 .

scala:operator a owl:DatatypeProperty ;
    rdfs:label "operator (literal)" ;
    rdfs:comment "Literal value for operator field when it contains a terminal node" ;
    scala:fieldId 21 ;
    scala:isTerminalField true .

scala:operator_identifier a owl:Class ;
    rdfs:label "operator_identifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 79 .

scala:package_clause a owl:Class ;
    rdfs:label "package_clause" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 127 .

scala:package_identifier a owl:Class ;
    rdfs:label "package_identifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 128 .

scala:package_object a owl:Class ;
    rdfs:label "package_object" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 129 .

scala:parameter a owl:Class ;
    rdfs:label "parameter" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    scala:isSupertype true ;
    scala:nodeTypeId 202 .

scala:parameter_types a owl:Class ;
    rdfs:label "parameter_types" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 231 .

scala:parameters a owl:Class,
        owl:DatatypeProperty ;
    rdfs:label "parameters",
        "parameters (literal)" ;
    rdfs:comment "Literal value for parameters field when it contains a terminal node" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    scala:fieldId 23 ;
    scala:isSupertype true ;
    scala:isTerminalField true ;
    scala:nodeTypeId 199 .

scala:parenthesized_expression a owl:Class ;
    rdfs:label "parenthesized_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 275 .

scala:path a owl:DatatypeProperty ;
    rdfs:label "path (literal)" ;
    rdfs:comment "Literal value for path field when it contains a terminal node" ;
    scala:fieldId 24 ;
    scala:isTerminalField true .

scala:postfix_expression a owl:Class ;
    rdfs:label "postfix_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 270 .

scala:prefix_expression a owl:Class ;
    rdfs:label "prefix_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 273 .

scala:projected_type a owl:Class ;
    rdfs:label "projected_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 226 .

scala:quote_expression a owl:Class ;
    rdfs:label "quote_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 280 .

scala:refinement a owl:Class ;
    rdfs:label "refinement" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 355 .

scala:repeat_pattern a owl:Class ;
    rdfs:label "repeat_pattern" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 239 .

scala:repeated_parameter_type a owl:Class ;
    rdfs:label "repeated_parameter_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 233 .

scala:return_expression a owl:Class ;
    rdfs:label "return_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ReturnStatement ;
    scala:isSupertype true ;
    scala:nodeTypeId 296 .

scala:return_type a owl:DatatypeProperty ;
    rdfs:label "return_type (literal)" ;
    rdfs:comment "Literal value for return_type field when it contains a terminal node" ;
    scala:fieldId 26 ;
    scala:isTerminalField true .

scala:right a owl:DatatypeProperty ;
    rdfs:label "right (literal)" ;
    rdfs:comment "Literal value for right field when it contains a terminal node" ;
    scala:fieldId 27 ;
    scala:isTerminalField true .

scala:self_type a owl:Class ;
    rdfs:label "self_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 163 .

scala:simple_enum_case a owl:Class ;
    rdfs:label "simple_enum_case" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 124 .

scala:singleton_type a owl:Class ;
    rdfs:label "singleton_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 222 .

scala:splice_expression a owl:Class ;
    rdfs:label "splice_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 279 .

scala:stable_identifier a owl:Class ;
    rdfs:label "stable_identifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 224 .

scala:stable_type_identifier a owl:Class ;
    rdfs:label "stable_type_identifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 223 .

scala:string a owl:Class ;
    rdfs:label "string" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 294 .

scala:structural_type a owl:Class ;
    rdfs:label "structural_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 356 .

scala:template_body a owl:Class ;
    rdfs:label "template_body" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 155 .

scala:throw_expression a owl:Class ;
    rdfs:label "throw_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ThrowStatement ;
    scala:isSupertype true ;
    scala:nodeTypeId 297 .

scala:tracked_modifier a owl:Class ;
    rdfs:label "tracked_modifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 194 .

scala:trait_definition a owl:Class ;
    rdfs:label "trait_definition" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    scala:isSupertype true ;
    scala:nodeTypeId 144 .

scala:transparent_modifier a owl:Class ;
    rdfs:label "transparent_modifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 195 .

scala:try_expression a owl:Class ;
    rdfs:label "try_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    scala:isSupertype true ;
    scala:nodeTypeId 252 .

scala:tuple_expression a owl:Class ;
    rdfs:label "tuple_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 274 .

scala:tuple_pattern a owl:Class ;
    rdfs:label "tuple_pattern" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 243 .

scala:tuple_type a owl:Class ;
    rdfs:label "tuple_type" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 220 .

scala:type a owl:DatatypeProperty ;
    rdfs:label "type (literal)" ;
    rdfs:comment "Literal value for type field when it contains a terminal node" ;
    scala:fieldId 29 ;
    scala:isTerminalField true .

scala:type_arguments a owl:Class ;
    rdfs:label "type_arguments" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 276 .

scala:type_case_clause a owl:Class ;
    rdfs:label "type_case_clause" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 228 .

scala:type_definition a owl:Class ;
    rdfs:label "type_definition" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 172 .

scala:type_identifier a owl:Class ;
    rdfs:label "type_identifier" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 357 .

scala:type_lambda a owl:Class ;
    rdfs:label "type_lambda" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 235 .

scala:type_parameters a owl:Class ;
    rdfs:label "type_parameters" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 145 .

scala:typed_pattern a owl:Class ;
    rdfs:label "typed_pattern" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 240 .

scala:unit a owl:Class ;
    rdfs:label "unit" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 295 .

scala:upper_bound a owl:Class ;
    rdfs:label "upper_bound" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 150 .

scala:using_directive a owl:Class ;
    rdfs:label "using_directive" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 305 .

scala:using_directive_key a owl:Class ;
    rdfs:label "using_directive_key" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 99 .

scala:using_directive_value a owl:Class ;
    rdfs:label "using_directive_value" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 100 .

scala:val_declaration a owl:Class ;
    rdfs:label "val_declaration" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    scala:isSupertype true ;
    scala:nodeTypeId 167 .

scala:val_definition a owl:Class ;
    rdfs:label "val_definition" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    scala:isSupertype true ;
    scala:nodeTypeId 166 .

scala:value a owl:DatatypeProperty ;
    rdfs:label "value (literal)" ;
    rdfs:comment "Literal value for value field when it contains a terminal node" ;
    scala:fieldId 32 ;
    scala:isTerminalField true .

scala:var_declaration a owl:Class ;
    rdfs:label "var_declaration" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    scala:isSupertype true ;
    scala:nodeTypeId 169 .

scala:var_definition a owl:Class ;
    rdfs:label "var_definition" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    scala:isSupertype true ;
    scala:nodeTypeId 170 .

scala:view_bound a owl:Class ;
    rdfs:label "view_bound" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 152 .

scala:while_expression a owl:Class ;
    rdfs:label "while_expression" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    scala:isSupertype true ;
    scala:nodeTypeId 298 .

scala:wildcard a owl:Class ;
    rdfs:label "wildcard" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 284 .

scala:with_template_body a owl:Class ;
    rdfs:label "with_template_body" ;
    rdfs:isDefinedBy scala: ;
    rdfs:subClassOf ast:Node ;
    scala:isSupertype true ;
    scala:nodeTypeId 160 .

swift:_expression a owl:Class ;
    rdfs:label "_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 547 .

swift:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

swift:additive_expression a owl:Class ;
    rdfs:label "additive_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 274 .

swift:array_literal a owl:Class ;
    rdfs:label "array_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 305 .

swift:array_type a owl:Class ;
    rdfs:label "array_type" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 247 .

swift:as_expression a owl:Class ;
    rdfs:label "as_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 270 .

swift:as_operator a owl:Class ;
    rdfs:label "as_operator" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 344 .

swift:assignment a owl:Class ;
    rdfs:label "assignment" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    swift:isSupertype true ;
    swift:nodeTypeId 362 .

swift:associatedtype_declaration a owl:Class ;
    rdfs:label "associatedtype_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 458 .

swift:attribute a owl:Class ;
    rdfs:label "attribute" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 459 .

swift:availability_condition a owl:Class ;
    rdfs:label "availability_condition" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 365 .

swift:await_expression a owl:Class ;
    rdfs:label "await_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 295,
        356 .

swift:bang a owl:Class ;
    rdfs:label "bang" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 430 .

swift:bin_literal a owl:Class ;
    rdfs:label "bin_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 19 .

swift:bitwise_operation a owl:Class ;
    rdfs:label "bitwise_operation" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 283 .

swift:body a owl:DatatypeProperty ;
    rdfs:label "body (literal)" ;
    rdfs:comment "Literal value for body field when it contains a terminal node" ;
    swift:fieldId 1 ;
    swift:isTerminalField true .

swift:boolean_literal a owl:Class ;
    rdfs:label "boolean_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 220 .

swift:bound_identifier a owl:DatatypeProperty ;
    rdfs:label "bound_identifier (literal)" ;
    rdfs:comment "Literal value for bound_identifier field when it contains a terminal node" ;
    swift:fieldId 2 ;
    swift:isTerminalField true .

swift:call_expression a owl:Class ;
    rdfs:label "call_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    swift:isSupertype true ;
    swift:nodeTypeId 299,
        301 .

swift:call_suffix a owl:Class ;
    rdfs:label "call_suffix" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 286,
        300 .

swift:capture_list a owl:Class ;
    rdfs:label "capture_list" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 312 .

swift:capture_list_item a owl:Class ;
    rdfs:label "capture_list_item" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 313 .

swift:catch_block a owl:Class ;
    rdfs:label "catch_block" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    swift:isSupertype true ;
    swift:nodeTypeId 328 .

swift:catch_keyword a owl:Class ;
    rdfs:label "catch_keyword" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 201 .

swift:check_expression a owl:Class ;
    rdfs:label "check_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 278 .

swift:class_body a owl:Class ;
    rdfs:label "class_body" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 400 .

swift:class_declaration a owl:Class ;
    rdfs:label "class_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    swift:isSupertype true ;
    swift:nodeTypeId 373,
        398 .

swift:collection a owl:DatatypeProperty ;
    rdfs:label "collection (literal)" ;
    rdfs:comment "Literal value for collection field when it contains a terminal node" ;
    swift:fieldId 4 ;
    swift:isTerminalField true .

swift:comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    swift:isSupertype true ;
    swift:nodeTypeId 3 .

swift:comparison_expression a owl:Class ;
    rdfs:label "comparison_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 279 .

swift:computed_getter a owl:Class ;
    rdfs:label "computed_getter" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 446 .

swift:computed_modify a owl:Class ;
    rdfs:label "computed_modify" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 447 .

swift:computed_property a owl:Class ;
    rdfs:label "computed_property" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 445 .

swift:computed_setter a owl:Class ;
    rdfs:label "computed_setter" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 448 .

swift:condition a owl:DatatypeProperty ;
    rdfs:label "condition (literal)" ;
    rdfs:comment "Literal value for condition field when it contains a terminal node" ;
    swift:fieldId 6 ;
    swift:isTerminalField true .

swift:conjunction_expression a owl:Class ;
    rdfs:label "conjunction_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 281 .

swift:constrained_type a owl:DatatypeProperty ;
    rdfs:label "constrained_type (literal)" ;
    rdfs:comment "Literal value for constrained_type field when it contains a terminal node" ;
    swift:fieldId 7 ;
    swift:isTerminalField true .

swift:constructor_expression a owl:Class ;
    rdfs:label "constructor_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    swift:isSupertype true ;
    swift:nodeTypeId 262 .

swift:constructor_suffix a owl:Class ;
    rdfs:label "constructor_suffix" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 287 .

swift:control_transfer_statement a owl:Class ;
    rdfs:label "control_transfer_statement" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    swift:isSupertype true ;
    swift:nodeTypeId 359 .

swift:custom_operator a owl:Class ;
    rdfs:label "custom_operator" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 284 .

swift:default_keyword a owl:Class ;
    rdfs:label "default_keyword" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 198 .

swift:default_value a owl:DatatypeProperty ;
    rdfs:label "default_value (literal)" ;
    rdfs:comment "Literal value for default_value field when it contains a terminal node" ;
    swift:fieldId 11 ;
    swift:isTerminalField true .

swift:deinit_declaration a owl:Class ;
    rdfs:label "deinit_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    swift:isSupertype true ;
    swift:nodeTypeId 443 .

swift:deprecated_operator_declaration_body a owl:Class ;
    rdfs:label "deprecated_operator_declaration_body" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 454 .

swift:diagnostic a owl:Class ;
    rdfs:label "diagnostic" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 494 .

swift:dictionary_literal a owl:Class ;
    rdfs:label "dictionary_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 306 .

swift:dictionary_type a owl:Class ;
    rdfs:label "dictionary_type" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 248 .

swift:didset_clause a owl:Class ;
    rdfs:label "didset_clause" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 385 .

swift:directive a owl:Class ;
    rdfs:label "directive" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 492 .

swift:directly_assignable_expression a owl:Class ;
    rdfs:label "directly_assignable_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 348 .

swift:disjunction_expression a owl:Class ;
    rdfs:label "disjunction_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 282 .

swift:do_statement a owl:Class ;
    rdfs:label "do_statement" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    swift:isSupertype true ;
    swift:nodeTypeId 327 .

swift:element a owl:DatatypeProperty ;
    rdfs:label "element (literal)" ;
    rdfs:comment "Literal value for element field when it contains a terminal node" ;
    swift:fieldId 13 ;
    swift:isTerminalField true .

swift:else a owl:Class ;
    rdfs:label "else" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:ElseClause ;
    swift:isSupertype true ;
    swift:nodeTypeId 200 .

swift:end a owl:DatatypeProperty ;
    rdfs:label "end (literal)" ;
    rdfs:comment "Literal value for end field when it contains a terminal node" ;
    swift:fieldId 14 ;
    swift:isTerminalField true .

swift:enum_class_body a owl:Class ;
    rdfs:label "enum_class_body" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 434 .

swift:enum_entry a owl:Class ;
    rdfs:label "enum_entry" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    swift:isSupertype true ;
    swift:nodeTypeId 435 .

swift:enum_type_parameters a owl:Class ;
    rdfs:label "enum_type_parameters" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 437 .

swift:equality_constraint a owl:Class ;
    rdfs:label "equality_constraint" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 410 .

swift:equality_expression a owl:Class ;
    rdfs:label "equality_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 280 .

swift:existential_type a owl:Class ;
    rdfs:label "existential_type" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 254 .

swift:expr a owl:DatatypeProperty ;
    rdfs:label "expr (literal)" ;
    rdfs:comment "Literal value for expr field when it contains a terminal node" ;
    swift:fieldId 16 ;
    swift:isTerminalField true .

swift:external_macro_definition a owl:Class ;
    rdfs:label "external_macro_definition" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 397 .

swift:external_name a owl:DatatypeProperty ;
    rdfs:label "external_name (literal)" ;
    rdfs:comment "Literal value for external_name field when it contains a terminal node" ;
    swift:fieldId 17 ;
    swift:isTerminalField true .

swift:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

swift:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

swift:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    swift:fieldId 1 .

swift:field_captures a owl:ObjectProperty ;
    rdfs:label "captures (structural)" ;
    rdfs:comment "Structural reference for captures field when it contains a non-terminal node" ;
    swift:fieldId 3 .

swift:field_collection a owl:ObjectProperty ;
    rdfs:label "collection (structural)" ;
    rdfs:comment "Structural reference for collection field when it contains a non-terminal node" ;
    swift:fieldId 4 .

swift:field_computed_value a owl:ObjectProperty ;
    rdfs:label "computed_value (structural)" ;
    rdfs:comment "Structural reference for computed_value field when it contains a non-terminal node" ;
    swift:fieldId 5 .

swift:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    swift:fieldId 6 .

swift:field_constrained_type a owl:ObjectProperty ;
    rdfs:label "constrained_type (structural)" ;
    rdfs:comment "Structural reference for constrained_type field when it contains a non-terminal node" ;
    swift:fieldId 7 .

swift:field_constructed_type a owl:ObjectProperty ;
    rdfs:label "constructed_type (structural)" ;
    rdfs:comment "Structural reference for constructed_type field when it contains a non-terminal node" ;
    swift:fieldId 8 .

swift:field_data_contents a owl:ObjectProperty ;
    rdfs:label "data_contents (structural)" ;
    rdfs:comment "Structural reference for data_contents field when it contains a non-terminal node" ;
    swift:fieldId 9 .

swift:field_declaration_kind a owl:ObjectProperty ;
    rdfs:label "declaration_kind (structural)" ;
    rdfs:comment "Structural reference for declaration_kind field when it contains a non-terminal node" ;
    swift:fieldId 10 .

swift:field_default_value a owl:ObjectProperty ;
    rdfs:label "default_value (structural)" ;
    rdfs:comment "Structural reference for default_value field when it contains a non-terminal node" ;
    swift:fieldId 11 .

swift:field_definition a owl:ObjectProperty ;
    rdfs:label "definition (structural)" ;
    rdfs:comment "Structural reference for definition field when it contains a non-terminal node" ;
    swift:fieldId 12 .

swift:field_element a owl:ObjectProperty ;
    rdfs:label "element (structural)" ;
    rdfs:comment "Structural reference for element field when it contains a non-terminal node" ;
    swift:fieldId 13 .

swift:field_end a owl:ObjectProperty ;
    rdfs:label "end (structural)" ;
    rdfs:comment "Structural reference for end field when it contains a non-terminal node" ;
    swift:fieldId 14 .

swift:field_error a owl:ObjectProperty ;
    rdfs:label "error (structural)" ;
    rdfs:comment "Structural reference for error field when it contains a non-terminal node" ;
    swift:fieldId 15 .

swift:field_expr a owl:ObjectProperty ;
    rdfs:label "expr (structural)" ;
    rdfs:comment "Structural reference for expr field when it contains a non-terminal node" ;
    swift:fieldId 16 .

swift:field_if_false a owl:ObjectProperty ;
    rdfs:label "if_false (structural)" ;
    rdfs:comment "Structural reference for if_false field when it contains a non-terminal node" ;
    swift:fieldId 18 .

swift:field_if_nil a owl:ObjectProperty ;
    rdfs:label "if_nil (structural)" ;
    rdfs:comment "Structural reference for if_nil field when it contains a non-terminal node" ;
    swift:fieldId 19 .

swift:field_if_true a owl:ObjectProperty ;
    rdfs:label "if_true (structural)" ;
    rdfs:comment "Structural reference for if_true field when it contains a non-terminal node" ;
    swift:fieldId 20 .

swift:field_inherits_from a owl:ObjectProperty ;
    rdfs:label "inherits_from (structural)" ;
    rdfs:comment "Structural reference for inherits_from field when it contains a non-terminal node" ;
    swift:fieldId 21 .

swift:field_interpolation a owl:ObjectProperty ;
    rdfs:label "interpolation (structural)" ;
    rdfs:comment "Structural reference for interpolation field when it contains a non-terminal node" ;
    swift:fieldId 22 .

swift:field_item a owl:ObjectProperty ;
    rdfs:label "item (structural)" ;
    rdfs:comment "Structural reference for item field when it contains a non-terminal node" ;
    swift:fieldId 23 .

swift:field_key a owl:ObjectProperty ;
    rdfs:label "key (structural)" ;
    rdfs:comment "Structural reference for key field when it contains a non-terminal node" ;
    swift:fieldId 24 .

swift:field_lhs a owl:ObjectProperty ;
    rdfs:label "lhs (structural)" ;
    rdfs:comment "Structural reference for lhs field when it contains a non-terminal node" ;
    swift:fieldId 25 .

swift:field_must_equal a owl:ObjectProperty ;
    rdfs:label "must_equal (structural)" ;
    rdfs:comment "Structural reference for must_equal field when it contains a non-terminal node" ;
    swift:fieldId 26 .

swift:field_must_inherit a owl:ObjectProperty ;
    rdfs:label "must_inherit (structural)" ;
    rdfs:comment "Structural reference for must_inherit field when it contains a non-terminal node" ;
    swift:fieldId 27 .

swift:field_mutability a owl:ObjectProperty ;
    rdfs:label "mutability (structural)" ;
    rdfs:comment "Structural reference for mutability field when it contains a non-terminal node" ;
    swift:fieldId 28 .

swift:field_name a owl:ObjectProperty ;
    rdfs:label "name (structural)" ;
    rdfs:comment "Structural reference for name field when it contains a non-terminal node" ;
    swift:fieldId 29 .

swift:field_op a owl:ObjectProperty ;
    rdfs:label "op (structural)" ;
    rdfs:comment "Structural reference for op field when it contains a non-terminal node" ;
    swift:fieldId 30 .

swift:field_operation a owl:ObjectProperty ;
    rdfs:label "operation (structural)" ;
    rdfs:comment "Structural reference for operation field when it contains a non-terminal node" ;
    swift:fieldId 31 .

swift:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    swift:fieldId 32 .

swift:field_params a owl:ObjectProperty ;
    rdfs:label "params (structural)" ;
    rdfs:comment "Structural reference for params field when it contains a non-terminal node" ;
    swift:fieldId 33 .

swift:field_raw_value a owl:ObjectProperty ;
    rdfs:label "raw_value (structural)" ;
    rdfs:comment "Structural reference for raw_value field when it contains a non-terminal node" ;
    swift:fieldId 34 .

swift:field_reference_specifier a owl:ObjectProperty ;
    rdfs:label "reference_specifier (structural)" ;
    rdfs:comment "Structural reference for reference_specifier field when it contains a non-terminal node" ;
    swift:fieldId 35 .

swift:field_result a owl:ObjectProperty ;
    rdfs:label "result (structural)" ;
    rdfs:comment "Structural reference for result field when it contains a non-terminal node" ;
    swift:fieldId 36 .

swift:field_return_type a owl:ObjectProperty ;
    rdfs:label "return_type (structural)" ;
    rdfs:comment "Structural reference for return_type field when it contains a non-terminal node" ;
    swift:fieldId 37 .

swift:field_rhs a owl:ObjectProperty ;
    rdfs:label "rhs (structural)" ;
    rdfs:comment "Structural reference for rhs field when it contains a non-terminal node" ;
    swift:fieldId 38 .

swift:field_start a owl:ObjectProperty ;
    rdfs:label "start (structural)" ;
    rdfs:comment "Structural reference for start field when it contains a non-terminal node" ;
    swift:fieldId 39 .

swift:field_suffix a owl:ObjectProperty ;
    rdfs:label "suffix (structural)" ;
    rdfs:comment "Structural reference for suffix field when it contains a non-terminal node" ;
    swift:fieldId 40 .

swift:field_target a owl:ObjectProperty ;
    rdfs:label "target (structural)" ;
    rdfs:comment "Structural reference for target field when it contains a non-terminal node" ;
    swift:fieldId 42 .

swift:field_text a owl:ObjectProperty ;
    rdfs:label "text (structural)" ;
    rdfs:comment "Structural reference for text field when it contains a non-terminal node" ;
    swift:fieldId 43 .

swift:field_type a owl:ObjectProperty ;
    rdfs:label "type (structural)" ;
    rdfs:comment "Structural reference for type field when it contains a non-terminal node" ;
    swift:fieldId 44 .

swift:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    swift:fieldId 45 .

swift:field_wrapped a owl:ObjectProperty ;
    rdfs:label "wrapped (structural)" ;
    rdfs:comment "Structural reference for wrapped field when it contains a non-terminal node" ;
    swift:fieldId 46 .

swift:for_statement a owl:Class ;
    rdfs:label "for_statement" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    swift:isSupertype true ;
    swift:nodeTypeId 354 .

swift:fully_open_range a owl:Class ;
    rdfs:label "fully_open_range" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 548 .

swift:function_body a owl:Class ;
    rdfs:label "function_body" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 392 .

swift:function_declaration a owl:Class ;
    rdfs:label "function_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    swift:isSupertype true ;
    swift:nodeTypeId 372,
        388 .

swift:function_modifier a owl:Class ;
    rdfs:label "function_modifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 485 .

swift:function_type a owl:Class ;
    rdfs:label "function_type" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 246 .

swift:getter_specifier a owl:Class ;
    rdfs:label "getter_specifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 449 .

swift:guard_statement a owl:Class ;
    rdfs:label "guard_statement" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    swift:isSupertype true ;
    swift:nodeTypeId 323 .

swift:hex_literal a owl:Class ;
    rdfs:label "hex_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 17 .

swift:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 218 .

swift:if_false a owl:DatatypeProperty ;
    rdfs:label "if_false (literal)" ;
    rdfs:comment "Literal value for if_false field when it contains a terminal node" ;
    swift:fieldId 18 ;
    swift:isTerminalField true .

swift:if_nil a owl:DatatypeProperty ;
    rdfs:label "if_nil (literal)" ;
    rdfs:comment "Literal value for if_nil field when it contains a terminal node" ;
    swift:fieldId 19 ;
    swift:isTerminalField true .

swift:if_statement a owl:Class ;
    rdfs:label "if_statement" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    swift:isSupertype true ;
    swift:nodeTypeId 320 .

swift:if_true a owl:DatatypeProperty ;
    rdfs:label "if_true (literal)" ;
    rdfs:comment "Literal value for if_true field when it contains a terminal node" ;
    swift:fieldId 20 ;
    swift:isTerminalField true .

swift:import_declaration a owl:Class ;
    rdfs:label "import_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    swift:isSupertype true ;
    swift:nodeTypeId 374 .

swift:infix_expression a owl:Class ;
    rdfs:label "infix_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 276 .

swift:inheritance_constraint a owl:Class ;
    rdfs:label "inheritance_constraint" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 409 .

swift:inheritance_modifier a owl:Class ;
    rdfs:label "inheritance_modifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 488 .

swift:inheritance_specifier a owl:Class ;
    rdfs:label "inheritance_specifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:ExtendsClause ;
    swift:isSupertype true ;
    swift:nodeTypeId 402 .

swift:init_declaration a owl:Class ;
    rdfs:label "init_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    swift:isSupertype true ;
    swift:nodeTypeId 442 .

swift:integer_literal a owl:Class ;
    rdfs:label "integer_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 16 .

swift:interpolated_expression a owl:Class ;
    rdfs:label "interpolated_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 549 .

swift:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

swift:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

swift:key a owl:DatatypeProperty ;
    rdfs:label "key (literal)" ;
    rdfs:comment "Literal value for key field when it contains a terminal node" ;
    swift:fieldId 24 ;
    swift:isTerminalField true .

swift:key_path_expression a owl:Class ;
    rdfs:label "key_path_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 330 .

swift:key_path_string_expression a owl:Class ;
    rdfs:label "key_path_string_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 331 .

swift:lambda_function_type a owl:Class ;
    rdfs:label "lambda_function_type" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 314 .

swift:lambda_function_type_parameters a owl:Class ;
    rdfs:label "lambda_function_type_parameters" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 315 .

swift:lambda_literal a owl:Class ;
    rdfs:label "lambda_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    swift:isSupertype true ;
    swift:nodeTypeId 310 .

swift:lambda_parameter a owl:Class ;
    rdfs:label "lambda_parameter" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    swift:isSupertype true ;
    swift:nodeTypeId 316 .

swift:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

swift:lhs a owl:DatatypeProperty ;
    rdfs:label "lhs (literal)" ;
    rdfs:comment "Literal value for lhs field when it contains a terminal node" ;
    swift:fieldId 25 ;
    swift:isTerminalField true .

swift:line_str_text a owl:Class ;
    rdfs:label "line_str_text" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 224 .

swift:line_string_literal a owl:Class ;
    rdfs:label "line_string_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 222 .

swift:macro_declaration a owl:Class ;
    rdfs:label "macro_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 393 .

swift:macro_definition a owl:Class ;
    rdfs:label "macro_definition" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 396 .

swift:macro_invocation a owl:Class ;
    rdfs:label "macro_invocation" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 302 .

swift:member_modifier a owl:Class ;
    rdfs:label "member_modifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 482 .

swift:metatype a owl:Class ;
    rdfs:label "metatype" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 250 .

swift:modifiers a owl:Class ;
    rdfs:label "modifiers" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 475 .

swift:modify_specifier a owl:Class ;
    rdfs:label "modify_specifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 451 .

swift:multi_line_str_text a owl:Class ;
    rdfs:label "multi_line_str_text" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 233 .

swift:multi_line_string_literal a owl:Class ;
    rdfs:label "multi_line_string_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 227 .

swift:multiline_comment a owl:Class ;
    rdfs:label "multiline_comment" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    swift:isSupertype true ;
    swift:nodeTypeId 180 .

swift:multiplicative_expression a owl:Class ;
    rdfs:label "multiplicative_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 273 .

swift:mutation_modifier a owl:Class ;
    rdfs:label "mutation_modifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 486 .

swift:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    swift:fieldId 29 ;
    swift:isTerminalField true .

swift:navigation_expression a owl:Class ;
    rdfs:label "navigation_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 264 .

swift:navigation_suffix a owl:Class ;
    rdfs:label "navigation_suffix" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 285 .

swift:nil_coalescing_expression a owl:Class ;
    rdfs:label "nil_coalescing_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 277 .

swift:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

swift:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

swift:oct_literal a owl:Class ;
    rdfs:label "oct_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 18 .

swift:op a owl:DatatypeProperty ;
    rdfs:label "op (literal)" ;
    rdfs:comment "Literal value for op field when it contains a terminal node" ;
    swift:fieldId 30 ;
    swift:isTerminalField true .

swift:opaque_type a owl:Class ;
    rdfs:label "opaque_type" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 253 .

swift:open_end_range_expression a owl:Class ;
    rdfs:label "open_end_range_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 268 .

swift:open_start_range_expression a owl:Class ;
    rdfs:label "open_start_range_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 266 .

swift:operation a owl:DatatypeProperty ;
    rdfs:label "operation (literal)" ;
    rdfs:comment "Literal value for operation field when it contains a terminal node" ;
    swift:fieldId 31 ;
    swift:isTerminalField true .

swift:operator_declaration a owl:Class ;
    rdfs:label "operator_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 453 .

swift:optional_type a owl:Class ;
    rdfs:label "optional_type" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 249 .

swift:ownership_modifier a owl:Class ;
    rdfs:label "ownership_modifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 490 .

swift:parameter a owl:Class ;
    rdfs:label "parameter" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    swift:isSupertype true ;
    swift:nodeTypeId 416 .

swift:parameter_modifier a owl:Class ;
    rdfs:label "parameter_modifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 489 .

swift:parameter_modifiers a owl:Class ;
    rdfs:label "parameter_modifiers" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 477 .

swift:pattern a owl:Class ;
    rdfs:label "pattern" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 465 .

swift:playground_literal a owl:Class ;
    rdfs:label "playground_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 309 .

swift:postfix_expression a owl:Class ;
    rdfs:label "postfix_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 261 .

swift:precedence_group_attribute a owl:Class ;
    rdfs:label "precedence_group_attribute" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 457 .

swift:precedence_group_attributes a owl:Class ;
    rdfs:label "precedence_group_attributes" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 456 .

swift:precedence_group_declaration a owl:Class ;
    rdfs:label "precedence_group_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 455 .

swift:prefix_expression a owl:Class ;
    rdfs:label "prefix_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 269 .

swift:property_behavior_modifier a owl:Class ;
    rdfs:label "property_behavior_modifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 480 .

swift:property_declaration a owl:Class ;
    rdfs:label "property_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    swift:isSupertype true ;
    swift:nodeTypeId 370,
        378 .

swift:property_modifier a owl:Class ;
    rdfs:label "property_modifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 487 .

swift:protocol_body a owl:Class ;
    rdfs:label "protocol_body" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 439 .

swift:protocol_composition_type a owl:Class ;
    rdfs:label "protocol_composition_type" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 257 .

swift:protocol_declaration a owl:Class ;
    rdfs:label "protocol_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    swift:isSupertype true ;
    swift:nodeTypeId 438 .

swift:protocol_function_declaration a owl:Class ;
    rdfs:label "protocol_function_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 550 .

swift:protocol_property_declaration a owl:Class ;
    rdfs:label "protocol_property_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 376 .

swift:protocol_property_requirements a owl:Class ;
    rdfs:label "protocol_property_requirements" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 377 .

swift:range_expression a owl:Class ;
    rdfs:label "range_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 275 .

swift:raw_str_continuing_indicator a owl:Class ;
    rdfs:label "raw_str_continuing_indicator" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 182 .

swift:raw_str_end_part a owl:Class ;
    rdfs:label "raw_str_end_part" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 183 .

swift:raw_str_interpolation a owl:Class ;
    rdfs:label "raw_str_interpolation" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 229 .

swift:raw_str_interpolation_start a owl:Class ;
    rdfs:label "raw_str_interpolation_start" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 29 .

swift:raw_str_part a owl:Class ;
    rdfs:label "raw_str_part" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 181 .

swift:raw_string_literal a owl:Class ;
    rdfs:label "raw_string_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 228 .

swift:raw_value a owl:DatatypeProperty ;
    rdfs:label "raw_value (literal)" ;
    rdfs:comment "Literal value for raw_value field when it contains a terminal node" ;
    swift:fieldId 34 ;
    swift:isTerminalField true .

swift:real_literal a owl:Class ;
    rdfs:label "real_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 15 .

swift:regex_literal a owl:Class ;
    rdfs:label "regex_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 234 .

swift:repeat_while_statement a owl:Class ;
    rdfs:label "repeat_while_statement" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    swift:isSupertype true ;
    swift:nodeTypeId 358 .

swift:result a owl:DatatypeProperty ;
    rdfs:label "result (literal)" ;
    rdfs:comment "Literal value for result field when it contains a terminal node" ;
    swift:fieldId 36 ;
    swift:isTerminalField true .

swift:rhs a owl:DatatypeProperty ;
    rdfs:label "rhs (literal)" ;
    rdfs:comment "Literal value for rhs field when it contains a terminal node" ;
    swift:fieldId 38 ;
    swift:isTerminalField true .

swift:selector_expression a owl:Class ;
    rdfs:label "selector_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 271 .

swift:self_expression a owl:Class ;
    rdfs:label "self_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 317 .

swift:setter_specifier a owl:Class ;
    rdfs:label "setter_specifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 450 .

swift:shebang_line a owl:Class ;
    rdfs:label "shebang_line" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 215 .

swift:simple_identifier a owl:Class ;
    rdfs:label "simple_identifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 216 .

swift:source_file a owl:Class ;
    rdfs:label "source_file" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 213 .

swift:special_literal a owl:Class ;
    rdfs:label "special_literal" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 308 .

swift:start a owl:DatatypeProperty ;
    rdfs:label "start (literal)" ;
    rdfs:comment "Literal value for start field when it contains a terminal node" ;
    swift:fieldId 39 ;
    swift:isTerminalField true .

swift:statement_label a owl:Class ;
    rdfs:label "statement_label" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 106 .

swift:statements a owl:Class ;
    rdfs:label "statements" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 349 .

swift:str_escaped_char a owl:Class ;
    rdfs:label "str_escaped_char" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 225 .

swift:subscript_declaration a owl:Class ;
    rdfs:label "subscript_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 444 .

swift:suffix a owl:DatatypeProperty ;
    rdfs:label "suffix (literal)" ;
    rdfs:comment "Literal value for suffix field when it contains a terminal node" ;
    swift:fieldId 40 ;
    swift:isTerminalField true .

swift:super_expression a owl:Class ;
    rdfs:label "super_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 318 .

swift:suppressed a owl:DatatypeProperty ;
    rdfs:label "suppressed (literal)" ;
    rdfs:comment "Literal value for suppressed field when it contains a terminal node" ;
    swift:fieldId 41 ;
    swift:isTerminalField true .

swift:suppressed_constraint a owl:Class ;
    rdfs:label "suppressed_constraint" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 258 .

swift:switch_entry a owl:Class ;
    rdfs:label "switch_entry" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 325 .

swift:switch_pattern a owl:Class ;
    rdfs:label "switch_pattern" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 326 .

swift:switch_statement a owl:Class ;
    rdfs:label "switch_statement" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    swift:isSupertype true ;
    swift:nodeTypeId 324 .

swift:target a owl:DatatypeProperty ;
    rdfs:label "target (literal)" ;
    rdfs:comment "Literal value for target field when it contains a terminal node" ;
    swift:fieldId 42 ;
    swift:isTerminalField true .

swift:ternary_expression a owl:Class ;
    rdfs:label "ternary_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 297 .

swift:text a owl:DatatypeProperty ;
    rdfs:label "text (literal)" ;
    rdfs:comment "Literal value for text field when it contains a terminal node" ;
    swift:fieldId 43 ;
    swift:isTerminalField true .

swift:throw_keyword a owl:Class ;
    rdfs:label "throw_keyword" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:ThrowStatement ;
    swift:isSupertype true ;
    swift:nodeTypeId 109 .

swift:throws a owl:Class ;
    rdfs:label "throws" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 433 .

swift:try_expression a owl:Class ;
    rdfs:label "try_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 294 .

swift:try_operator a owl:Class ;
    rdfs:label "try_operator" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 334 .

swift:tuple_expression a owl:Class ;
    rdfs:label "tuple_expression" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 304 .

swift:tuple_type a owl:Class ;
    rdfs:label "tuple_type" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 243 .

swift:tuple_type_item a owl:Class ;
    rdfs:label "tuple_type_item" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 244 .

swift:type_annotation a owl:Class ;
    rdfs:label "type_annotation" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 237 .

swift:type_arguments a owl:Class ;
    rdfs:label "type_arguments" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 290 .

swift:type_constraint a owl:Class ;
    rdfs:label "type_constraint" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 408 .

swift:type_constraints a owl:Class ;
    rdfs:label "type_constraints" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 407 .

swift:type_identifier a owl:Class ;
    rdfs:label "type_identifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 551 .

swift:type_modifiers a owl:Class ;
    rdfs:label "type_modifiers" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 481 .

swift:type_pack_expansion a owl:Class ;
    rdfs:label "type_pack_expansion" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 256 .

swift:type_parameter a owl:Class ;
    rdfs:label "type_parameter" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 405 .

swift:type_parameter_modifiers a owl:Class ;
    rdfs:label "type_parameter_modifiers" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 484 .

swift:type_parameter_pack a owl:Class ;
    rdfs:label "type_parameter_pack" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 255 .

swift:type_parameters a owl:Class ;
    rdfs:label "type_parameters" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 404 .

swift:typealias_declaration a owl:Class ;
    rdfs:label "typealias_declaration" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    swift:isSupertype true ;
    swift:nodeTypeId 371,
        386 .

swift:user_type a owl:Class ;
    rdfs:label "user_type" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 241 .

swift:value a owl:DatatypeProperty ;
    rdfs:label "value (literal)" ;
    rdfs:comment "Literal value for value field when it contains a terminal node" ;
    swift:fieldId 45 ;
    swift:isTerminalField true .

swift:value_argument a owl:Class ;
    rdfs:label "value_argument" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 293 .

swift:value_argument_label a owl:Class ;
    rdfs:label "value_argument_label" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 292 .

swift:value_arguments a owl:Class ;
    rdfs:label "value_arguments" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 288,
        291 .

swift:value_binding_pattern a owl:Class ;
    rdfs:label "value_binding_pattern" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    swift:isSupertype true ;
    swift:nodeTypeId 467 .

swift:value_pack_expansion a owl:Class ;
    rdfs:label "value_pack_expansion" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 364 .

swift:value_parameter_pack a owl:Class ;
    rdfs:label "value_parameter_pack" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 363 .

swift:visibility_modifier a owl:Class ;
    rdfs:label "visibility_modifier" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 483 .

swift:where_clause a owl:Class ;
    rdfs:label "where_clause" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 329 .

swift:where_keyword a owl:Class ;
    rdfs:label "where_keyword" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 199 .

swift:while_statement a owl:Class ;
    rdfs:label "while_statement" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    swift:isSupertype true ;
    swift:nodeTypeId 357 .

swift:wildcard_pattern a owl:Class ;
    rdfs:label "wildcard_pattern" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 145 .

swift:willset_clause a owl:Class ;
    rdfs:label "willset_clause" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 384 .

swift:willset_didset_block a owl:Class ;
    rdfs:label "willset_didset_block" ;
    rdfs:isDefinedBy swift: ;
    rdfs:subClassOf ast:Node ;
    swift:isSupertype true ;
    swift:nodeTypeId 383 .

typescript:abiVersion a owl:AnnotationProperty ;
    rdfs:label "ABI version" ;
    rdfs:comment "Tree-sitter ABI version used by this grammar" .

typescript:abstract_class_declaration a owl:Class ;
    rdfs:label "abstract_class_declaration" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 282 .

typescript:abstract_method_signature a owl:Class ;
    rdfs:label "abstract_method_signature" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 270 .

typescript:accessibility_modifier a owl:Class ;
    rdfs:label "accessibility_modifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 294 .

typescript:adding_type_annotation a owl:Class ;
    rdfs:label "adding_type_annotation" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 300 .

typescript:alias a owl:DatatypeProperty ;
    rdfs:label "alias (literal)" ;
    rdfs:comment "Literal value for alias field when it contains a terminal node" ;
    typescript:fieldId 1 ;
    typescript:isTerminalField true .

typescript:ambient_declaration a owl:Class ;
    rdfs:label "ambient_declaration" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 281 .

typescript:argument a owl:DatatypeProperty ;
    rdfs:label "argument (literal)" ;
    rdfs:comment "Literal value for argument field when it contains a terminal node" ;
    typescript:fieldId 3 ;
    typescript:isTerminalField true .

typescript:arguments a owl:Class ;
    rdfs:label "arguments" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 252 .

typescript:array a owl:Class ;
    rdfs:label "array" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 217 .

typescript:array_pattern a owl:Class ;
    rdfs:label "array_pattern" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 218 .

typescript:array_type a owl:Class ;
    rdfs:label "array_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 346 .

typescript:arrow_function a owl:Class ;
    rdfs:label "arrow_function" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 227 .

typescript:as_expression a owl:Class ;
    rdfs:label "as_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 274 .

typescript:asserts a owl:Class ;
    rdfs:label "asserts" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 305 .

typescript:asserts_annotation a owl:Class ;
    rdfs:label "asserts_annotation" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 306 .

typescript:assignment_expression a owl:Class ;
    rdfs:label "assignment_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:Assignment ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 236 .

typescript:assignment_pattern a owl:Class ;
    rdfs:label "assignment_pattern" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 215 .

typescript:augmented_assignment_expression a owl:Class ;
    rdfs:label "augmented_assignment_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:AugmentedAssignment ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 238 .

typescript:await_expression a owl:Class ;
    rdfs:label "await_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 233 .

typescript:binary_expression a owl:Class ;
    rdfs:label "binary_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 243 .

typescript:break_statement a owl:Class ;
    rdfs:label "break_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:BreakStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 197 .

typescript:call_expression a owl:Class ;
    rdfs:label "call_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 231,
        255,
        304,
        324 .

typescript:call_signature a owl:Class ;
    rdfs:label "call_signature" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 338 .

typescript:catch_clause a owl:Class ;
    rdfs:label "catch_clause" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:CatchClause ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 207 .

typescript:class a owl:Class ;
    rdfs:label "class" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 220 .

typescript:class_body a owl:Class ;
    rdfs:label "class_body" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 256 .

typescript:class_declaration a owl:Class ;
    rdfs:label "class_declaration" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 221 .

typescript:class_heritage a owl:Class ;
    rdfs:label "class_heritage" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 222 .

typescript:class_static_block a owl:Class ;
    rdfs:label "class_static_block" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 258 .

typescript:comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 104 .

typescript:computed_property_name a owl:Class ;
    rdfs:label "computed_property_name" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 265 .

typescript:condition a owl:DatatypeProperty ;
    rdfs:label "condition (literal)" ;
    rdfs:comment "Literal value for condition field when it contains a terminal node" ;
    typescript:fieldId 6 ;
    typescript:isTerminalField true .

typescript:conditional_type a owl:Class ;
    rdfs:label "conditional_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 318 .

typescript:constraint a owl:Class ;
    rdfs:label "constraint" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 343 .

typescript:construct_signature a owl:Class ;
    rdfs:label "construct_signature" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 344 .

typescript:constructor_type a owl:Class ;
    rdfs:label "constructor_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 313 .

typescript:continue_statement a owl:Class ;
    rdfs:label "continue_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ContinueStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 198 .

typescript:debugger_statement a owl:Class ;
    rdfs:label "debugger_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 199 .

typescript:decorator a owl:Class ;
    rdfs:label "decorator" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 253 .

typescript:default_type a owl:Class ;
    rdfs:label "default_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 342 .

typescript:do_statement a owl:Class ;
    rdfs:label "do_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 194 .

typescript:else_clause a owl:Class ;
    rdfs:label "else_clause" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ElseClause ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 187 .

typescript:empty_statement a owl:Class ;
    rdfs:label "empty_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 202 .

typescript:enum_assignment a owl:Class ;
    rdfs:label "enum_assignment" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 292 .

typescript:enum_body a owl:Class ;
    rdfs:label "enum_body" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 291 .

typescript:enum_declaration a owl:Class ;
    rdfs:label "enum_declaration" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 290 .

typescript:escape_sequence a owl:Class ;
    rdfs:label "escape_sequence" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 103 .

typescript:existential_type a owl:Class ;
    rdfs:label "existential_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 332 .

typescript:export_clause a owl:Class ;
    rdfs:label "export_clause" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 169 .

typescript:export_specifier a owl:Class ;
    rdfs:label "export_specifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 170 .

typescript:export_statement a owl:Class ;
    rdfs:label "export_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 167 .

typescript:expression_statement a owl:Class ;
    rdfs:label "expression_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 182 .

typescript:extends_clause a owl:Class ;
    rdfs:label "extends_clause" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ExtendsClause ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 278 .

typescript:extends_type_clause a owl:Class ;
    rdfs:label "extends_type_clause" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ExtendsClause ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 289 .

typescript:false a owl:Class ;
    rdfs:label "false" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 117 .

typescript:fieldCount a owl:AnnotationProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Total number of fields in this grammar" .

typescript:fieldId a owl:AnnotationProperty ;
    rdfs:label "field ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this field in this language" ;
    rdfs:domain rdf:Property ;
    rdfs:range xsd:nonNegativeInteger .

typescript:field_alias a owl:ObjectProperty ;
    rdfs:label "alias (structural)" ;
    rdfs:comment "Structural reference for alias field when it contains a non-terminal node" ;
    typescript:fieldId 1 .

typescript:field_alternative a owl:ObjectProperty ;
    rdfs:label "alternative (structural)" ;
    rdfs:comment "Structural reference for alternative field when it contains a non-terminal node" ;
    typescript:fieldId 2 .

typescript:field_argument a owl:ObjectProperty ;
    rdfs:label "argument (structural)" ;
    rdfs:comment "Structural reference for argument field when it contains a non-terminal node" ;
    typescript:fieldId 3 .

typescript:field_arguments a owl:ObjectProperty ;
    rdfs:label "arguments (structural)" ;
    rdfs:comment "Structural reference for arguments field when it contains a non-terminal node" ;
    typescript:fieldId 4 .

typescript:field_body a owl:ObjectProperty ;
    rdfs:label "body (structural)" ;
    rdfs:comment "Structural reference for body field when it contains a non-terminal node" ;
    typescript:fieldId 5 .

typescript:field_condition a owl:ObjectProperty ;
    rdfs:label "condition (structural)" ;
    rdfs:comment "Structural reference for condition field when it contains a non-terminal node" ;
    typescript:fieldId 6 .

typescript:field_consequence a owl:ObjectProperty ;
    rdfs:label "consequence (structural)" ;
    rdfs:comment "Structural reference for consequence field when it contains a non-terminal node" ;
    typescript:fieldId 7 .

typescript:field_constraint a owl:ObjectProperty ;
    rdfs:label "constraint (structural)" ;
    rdfs:comment "Structural reference for constraint field when it contains a non-terminal node" ;
    typescript:fieldId 8 .

typescript:field_constructor a owl:ObjectProperty ;
    rdfs:label "constructor (structural)" ;
    rdfs:comment "Structural reference for constructor field when it contains a non-terminal node" ;
    typescript:fieldId 9 .

typescript:field_declaration a owl:ObjectProperty ;
    rdfs:label "declaration (structural)" ;
    rdfs:comment "Structural reference for declaration field when it contains a non-terminal node" ;
    typescript:fieldId 10 .

typescript:field_decorator a owl:ObjectProperty ;
    rdfs:label "decorator (structural)" ;
    rdfs:comment "Structural reference for decorator field when it contains a non-terminal node" ;
    typescript:fieldId 11 .

typescript:field_finalizer a owl:ObjectProperty ;
    rdfs:label "finalizer (structural)" ;
    rdfs:comment "Structural reference for finalizer field when it contains a non-terminal node" ;
    typescript:fieldId 12 .

typescript:field_function a owl:ObjectProperty ;
    rdfs:label "function (structural)" ;
    rdfs:comment "Structural reference for function field when it contains a non-terminal node" ;
    typescript:fieldId 14 .

typescript:field_handler a owl:ObjectProperty ;
    rdfs:label "handler (structural)" ;
    rdfs:comment "Structural reference for handler field when it contains a non-terminal node" ;
    typescript:fieldId 15 .

typescript:field_increment a owl:ObjectProperty ;
    rdfs:label "increment (structural)" ;
    rdfs:comment "Structural reference for increment field when it contains a non-terminal node" ;
    typescript:fieldId 16 .

typescript:field_index a owl:ObjectProperty ;
    rdfs:label "index (structural)" ;
    rdfs:comment "Structural reference for index field when it contains a non-terminal node" ;
    typescript:fieldId 17 .

typescript:field_index_type a owl:ObjectProperty ;
    rdfs:label "index_type (structural)" ;
    rdfs:comment "Structural reference for index_type field when it contains a non-terminal node" ;
    typescript:fieldId 18 .

typescript:field_initializer a owl:ObjectProperty ;
    rdfs:label "initializer (structural)" ;
    rdfs:comment "Structural reference for initializer field when it contains a non-terminal node" ;
    typescript:fieldId 19 .

typescript:field_key a owl:ObjectProperty ;
    rdfs:label "key (structural)" ;
    rdfs:comment "Structural reference for key field when it contains a non-terminal node" ;
    typescript:fieldId 20 .

typescript:field_kind a owl:ObjectProperty ;
    rdfs:label "kind (structural)" ;
    rdfs:comment "Structural reference for kind field when it contains a non-terminal node" ;
    typescript:fieldId 21 .

typescript:field_left a owl:ObjectProperty ;
    rdfs:label "left (structural)" ;
    rdfs:comment "Structural reference for left field when it contains a non-terminal node" ;
    typescript:fieldId 23 .

typescript:field_module a owl:ObjectProperty ;
    rdfs:label "module (structural)" ;
    rdfs:comment "Structural reference for module field when it contains a non-terminal node" ;
    typescript:fieldId 24 .

typescript:field_name a owl:ObjectProperty ;
    rdfs:label "name (structural)" ;
    rdfs:comment "Structural reference for name field when it contains a non-terminal node" ;
    typescript:fieldId 25 .

typescript:field_object a owl:ObjectProperty ;
    rdfs:label "object (structural)" ;
    rdfs:comment "Structural reference for object field when it contains a non-terminal node" ;
    typescript:fieldId 26 .

typescript:field_operator a owl:ObjectProperty ;
    rdfs:label "operator (structural)" ;
    rdfs:comment "Structural reference for operator field when it contains a non-terminal node" ;
    typescript:fieldId 27 .

typescript:field_parameter a owl:ObjectProperty ;
    rdfs:label "parameter (structural)" ;
    rdfs:comment "Structural reference for parameter field when it contains a non-terminal node" ;
    typescript:fieldId 29 .

typescript:field_parameters a owl:ObjectProperty ;
    rdfs:label "parameters (structural)" ;
    rdfs:comment "Structural reference for parameters field when it contains a non-terminal node" ;
    typescript:fieldId 30 .

typescript:field_pattern a owl:ObjectProperty ;
    rdfs:label "pattern (structural)" ;
    rdfs:comment "Structural reference for pattern field when it contains a non-terminal node" ;
    typescript:fieldId 31 .

typescript:field_return_type a owl:ObjectProperty ;
    rdfs:label "return_type (structural)" ;
    rdfs:comment "Structural reference for return_type field when it contains a non-terminal node" ;
    typescript:fieldId 33 .

typescript:field_right a owl:ObjectProperty ;
    rdfs:label "right (structural)" ;
    rdfs:comment "Structural reference for right field when it contains a non-terminal node" ;
    typescript:fieldId 34 .

typescript:field_sign a owl:ObjectProperty ;
    rdfs:label "sign (structural)" ;
    rdfs:comment "Structural reference for sign field when it contains a non-terminal node" ;
    typescript:fieldId 35 .

typescript:field_source a owl:ObjectProperty ;
    rdfs:label "source (structural)" ;
    rdfs:comment "Structural reference for source field when it contains a non-terminal node" ;
    typescript:fieldId 36 .

typescript:field_type a owl:ObjectProperty ;
    rdfs:label "type (structural)" ;
    rdfs:comment "Structural reference for type field when it contains a non-terminal node" ;
    typescript:fieldId 37 .

typescript:field_type_arguments a owl:ObjectProperty ;
    rdfs:label "type_arguments (structural)" ;
    rdfs:comment "Structural reference for type_arguments field when it contains a non-terminal node" ;
    typescript:fieldId 38 .

typescript:field_type_parameters a owl:ObjectProperty ;
    rdfs:label "type_parameters (structural)" ;
    rdfs:comment "Structural reference for type_parameters field when it contains a non-terminal node" ;
    typescript:fieldId 39 .

typescript:field_value a owl:ObjectProperty ;
    rdfs:label "value (structural)" ;
    rdfs:comment "Structural reference for value field when it contains a non-terminal node" ;
    typescript:fieldId 40 .

typescript:finally_clause a owl:Class ;
    rdfs:label "finally_clause" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 208 .

typescript:flags a owl:DatatypeProperty ;
    rdfs:label "flags (literal)" ;
    rdfs:comment "Literal value for flags field when it contains a terminal node" ;
    typescript:fieldId 13 ;
    typescript:isTerminalField true .

typescript:flow_maybe_type a owl:Class ;
    rdfs:label "flow_maybe_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 333 .

typescript:for_in_statement a owl:Class ;
    rdfs:label "for_in_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 191 .

typescript:for_statement a owl:Class ;
    rdfs:label "for_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ForStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 190 .

typescript:formal_parameters a owl:Class ;
    rdfs:label "formal_parameters" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ParameterList ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 257 .

typescript:function a owl:DatatypeProperty ;
    rdfs:label "function (literal)" ;
    rdfs:comment "Literal value for function field when it contains a terminal node" ;
    rdfs:subClassOf ast-x:FunctionDefinition ;
    typescript:fieldId 14 ;
    typescript:isTerminalField true .

typescript:function_declaration a owl:Class ;
    rdfs:label "function_declaration" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 224 .

typescript:function_expression a owl:Class ;
    rdfs:label "function_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 223 .

typescript:function_signature a owl:Class ;
    rdfs:label "function_signature" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 271 .

typescript:function_type a owl:Class ;
    rdfs:label "function_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 351 .

typescript:generator_function a owl:Class ;
    rdfs:label "generator_function" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 225 .

typescript:generator_function_declaration a owl:Class ;
    rdfs:label "generator_function_declaration" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 226 .

typescript:generic_type a owl:Class ;
    rdfs:label "generic_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 319 .

typescript:hash_bang_line a owl:Class ;
    rdfs:label "hash_bang_line" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 2 .

typescript:html_comment a owl:Class ;
    rdfs:label "html_comment" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:Comment ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 162 .

typescript:identifier a owl:Class ;
    rdfs:label "identifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 1 .

typescript:if_statement a owl:Class ;
    rdfs:label "if_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:IfStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 188 .

typescript:implements_clause a owl:Class ;
    rdfs:label "implements_clause" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImplementsClause ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 280 .

typescript:import a owl:Class ;
    rdfs:label "import" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 173 .

typescript:import_alias a owl:Class ;
    rdfs:label "import_alias" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 286 .

typescript:import_attribute a owl:Class ;
    rdfs:label "import_attribute" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 180 .

typescript:import_clause a owl:Class ;
    rdfs:label "import_clause" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 175 .

typescript:import_require_clause a owl:Class ;
    rdfs:label "import_require_clause" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 277 .

typescript:import_specifier a owl:Class ;
    rdfs:label "import_specifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 179 .

typescript:import_statement a owl:Class ;
    rdfs:label "import_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ImportStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 174 .

typescript:index a owl:DatatypeProperty ;
    rdfs:label "index (literal)" ;
    rdfs:comment "Literal value for index field when it contains a terminal node" ;
    typescript:fieldId 17 ;
    typescript:isTerminalField true .

typescript:index_signature a owl:Class ;
    rdfs:label "index_signature" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 345 .

typescript:index_type_query a owl:Class ;
    rdfs:label "index_type_query" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 327 .

typescript:infer_type a owl:Class ;
    rdfs:label "infer_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 317 .

typescript:initializer a owl:DatatypeProperty ;
    rdfs:label "initializer (literal)" ;
    rdfs:comment "Literal value for initializer field when it contains a terminal node" ;
    typescript:fieldId 19 ;
    typescript:isTerminalField true .

typescript:instantiation_expression a owl:Class ;
    rdfs:label "instantiation_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 276,
        325 .

typescript:interface_body a owl:Class ;
    rdfs:label "interface_body" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 376 .

typescript:interface_declaration a owl:Class ;
    rdfs:label "interface_declaration" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ClassDefinition ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 288 .

typescript:internal_module a owl:Class ;
    rdfs:label "internal_module" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 284 .

typescript:intersection_type a owl:Class ;
    rdfs:label "intersection_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 350 .

typescript:isSupertype a owl:AnnotationProperty ;
    rdfs:label "is supertype" ;
    rdfs:comment "Whether this node type is a supertype in the grammar" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:boolean .

typescript:isTerminalField a owl:AnnotationProperty ;
    rdfs:label "is terminal field" ;
    rdfs:comment "Whether this field points to terminal (leaf) nodes" ;
    rdfs:domain owl:DatatypeProperty ;
    rdfs:range xsd:boolean .

typescript:jsx_text a owl:Class ;
    rdfs:label "jsx_text" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 163 .

typescript:key a owl:DatatypeProperty ;
    rdfs:label "key (literal)" ;
    rdfs:comment "Literal value for key field when it contains a terminal node" ;
    typescript:fieldId 20 ;
    typescript:isTerminalField true .

typescript:label a owl:DatatypeProperty ;
    rdfs:label "label (literal)" ;
    rdfs:comment "Literal value for label field when it contains a terminal node" ;
    typescript:fieldId 22 ;
    typescript:isTerminalField true .

typescript:labeled_statement a owl:Class ;
    rdfs:label "labeled_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 203 .

typescript:languageName a owl:AnnotationProperty ;
    rdfs:label "language name" ;
    rdfs:comment "Name of the language as reported by tree-sitter" .

typescript:left a owl:DatatypeProperty ;
    rdfs:label "left (literal)" ;
    rdfs:comment "Literal value for left field when it contains a terminal node" ;
    typescript:fieldId 23 ;
    typescript:isTerminalField true .

typescript:lexical_declaration a owl:Class ;
    rdfs:label "lexical_declaration" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 184 .

typescript:literal_type a owl:Class ;
    rdfs:label "literal_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 330 .

typescript:lookup_type a owl:Class ;
    rdfs:label "lookup_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 328 .

typescript:mapped_type_clause a owl:Class ;
    rdfs:label "mapped_type_clause" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 329 .

typescript:member_expression a owl:Class ;
    rdfs:label "member_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 234,
        254,
        303,
        322 .

typescript:meta_property a owl:Class ;
    rdfs:label "meta_property" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 251 .

typescript:method_definition a owl:Class ;
    rdfs:label "method_definition" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:FunctionDefinition ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 261 .

typescript:method_signature a owl:Class ;
    rdfs:label "method_signature" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 269 .

typescript:module a owl:Class,
        owl:DatatypeProperty ;
    rdfs:label "module",
        "module (literal)" ;
    rdfs:comment "Literal value for module field when it contains a terminal node" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:fieldId 24 ;
    typescript:isSupertype true ;
    typescript:isTerminalField true ;
    typescript:nodeTypeId 283 .

typescript:name a owl:DatatypeProperty ;
    rdfs:label "name (literal)" ;
    rdfs:comment "Literal value for name field when it contains a terminal node" ;
    typescript:fieldId 25 ;
    typescript:isTerminalField true .

typescript:named_imports a owl:Class ;
    rdfs:label "named_imports" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 178 .

typescript:namespace_export a owl:Class ;
    rdfs:label "namespace_export" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 168 .

typescript:namespace_import a owl:Class ;
    rdfs:label "namespace_import" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 177 .

typescript:nested_identifier a owl:Class ;
    rdfs:label "nested_identifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 219 .

typescript:nested_type_identifier a owl:Class ;
    rdfs:label "nested_type_identifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 287 .

typescript:new_expression a owl:Class ;
    rdfs:label "new_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:CallSite ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 232 .

typescript:nodeKindCount a owl:AnnotationProperty ;
    rdfs:label "node kind count" ;
    rdfs:comment "Total number of node kinds in this grammar" .

typescript:nodeTypeId a owl:AnnotationProperty ;
    rdfs:label "node type ID" ;
    rdfs:comment "Tree-sitter internal numeric ID for this node type in this language" ;
    rdfs:domain owl:Class ;
    rdfs:range xsd:nonNegativeInteger .

typescript:non_null_expression a owl:Class ;
    rdfs:label "non_null_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 268 .

typescript:null a owl:Class ;
    rdfs:label "null" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 118 .

typescript:number a owl:Class ;
    rdfs:label "number" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 110 .

typescript:object a owl:Class,
        owl:DatatypeProperty ;
    rdfs:label "object",
        "object (literal)" ;
    rdfs:comment "Literal value for object field when it contains a terminal node" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:fieldId 26 ;
    typescript:isSupertype true ;
    typescript:isTerminalField true ;
    typescript:nodeTypeId 213 .

typescript:object_assignment_pattern a owl:Class ;
    rdfs:label "object_assignment_pattern" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 216 .

typescript:object_pattern a owl:Class ;
    rdfs:label "object_pattern" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 214 .

typescript:object_type a owl:Class ;
    rdfs:label "object_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 337 .

typescript:omitting_type_annotation a owl:Class ;
    rdfs:label "omitting_type_annotation" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 299 .

typescript:opting_type_annotation a owl:Class ;
    rdfs:label "opting_type_annotation" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 301 .

typescript:optional_chain a owl:Class,
        owl:DatatypeProperty ;
    rdfs:label "optional_chain",
        "optional_chain (literal)" ;
    rdfs:comment "Literal value for optional_chain field when it contains a terminal node" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:fieldId 28 ;
    typescript:isSupertype true ;
    typescript:isTerminalField true ;
    typescript:nodeTypeId 230 .

typescript:optional_parameter a owl:Class ;
    rdfs:label "optional_parameter" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 297,
        309 .

typescript:optional_type a owl:Class ;
    rdfs:label "optional_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 310 .

typescript:override_modifier a owl:Class ;
    rdfs:label "override_modifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 295 .

typescript:pair a owl:Class ;
    rdfs:label "pair" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 262 .

typescript:pair_pattern a owl:Class ;
    rdfs:label "pair_pattern" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 263 .

typescript:parameter a owl:DatatypeProperty ;
    rdfs:label "parameter (literal)" ;
    rdfs:comment "Literal value for parameter field when it contains a terminal node" ;
    typescript:fieldId 29 ;
    typescript:isTerminalField true .

typescript:parenthesized_expression a owl:Class ;
    rdfs:label "parenthesized_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 209,
        272 .

typescript:parenthesized_type a owl:Class ;
    rdfs:label "parenthesized_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 334 .

typescript:pattern a owl:DatatypeProperty ;
    rdfs:label "pattern (literal)" ;
    rdfs:comment "Literal value for pattern field when it contains a terminal node" ;
    typescript:fieldId 31 ;
    typescript:isTerminalField true .

typescript:predefined_type a owl:Class ;
    rdfs:label "predefined_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 335 .

typescript:private_property_identifier a owl:Class ;
    rdfs:label "private_property_identifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 111 .

typescript:program a owl:Class ;
    rdfs:label "program" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 166 .

typescript:property a owl:DatatypeProperty ;
    rdfs:label "property (literal)" ;
    rdfs:comment "Literal value for property field when it contains a terminal node" ;
    typescript:fieldId 32 ;
    typescript:isTerminalField true .

typescript:property_identifier a owl:Class ;
    rdfs:label "property_identifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 377 .

typescript:property_signature a owl:Class ;
    rdfs:label "property_signature" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 339 .

typescript:public_field_definition a owl:Class ;
    rdfs:label "public_field_definition" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 266 .

typescript:readonly_type a owl:Class ;
    rdfs:label "readonly_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 348 .

typescript:regex a owl:Class ;
    rdfs:label "regex" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 250 .

typescript:regex_flags a owl:Class ;
    rdfs:label "regex_flags" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 109 .

typescript:regex_pattern a owl:Class ;
    rdfs:label "regex_pattern" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 108 .

typescript:required_parameter a owl:Class ;
    rdfs:label "required_parameter" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:Parameter ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 296,
        308 .

typescript:rest_pattern a owl:Class ;
    rdfs:label "rest_pattern" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 260 .

typescript:rest_type a owl:Class ;
    rdfs:label "rest_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 311 .

typescript:return_statement a owl:Class ;
    rdfs:label "return_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ReturnStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 200 .

typescript:satisfies_expression a owl:Class ;
    rdfs:label "satisfies_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 275 .

typescript:sequence_expression a owl:Class ;
    rdfs:label "sequence_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 246 .

typescript:shorthand_property_identifier a owl:Class ;
    rdfs:label "shorthand_property_identifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 378 .

typescript:shorthand_property_identifier_pattern a owl:Class ;
    rdfs:label "shorthand_property_identifier_pattern" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 379 .

typescript:spread_element a owl:Class ;
    rdfs:label "spread_element" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 241 .

typescript:statement_block a owl:Class ;
    rdfs:label "statement_block" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 186 .

typescript:statement_identifier a owl:Class ;
    rdfs:label "statement_identifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 380 .

typescript:string a owl:Class ;
    rdfs:label "string" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 247 .

typescript:string_fragment a owl:Class ;
    rdfs:label "string_fragment" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 101,
        102,
        160 .

typescript:subscript_expression a owl:Class ;
    rdfs:label "subscript_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 235,
        323 .

typescript:super a owl:Class ;
    rdfs:label "super" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 115 .

typescript:switch_body a owl:Class ;
    rdfs:label "switch_body" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 204 .

typescript:switch_case a owl:Class ;
    rdfs:label "switch_case" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 205 .

typescript:switch_default a owl:Class ;
    rdfs:label "switch_default" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 206 .

typescript:switch_statement a owl:Class ;
    rdfs:label "switch_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:SwitchStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 189 .

typescript:template_literal_type a owl:Class ;
    rdfs:label "template_literal_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 316 .

typescript:template_string a owl:Class ;
    rdfs:label "template_string" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 248 .

typescript:template_substitution a owl:Class ;
    rdfs:label "template_substitution" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 249 .

typescript:template_type a owl:Class ;
    rdfs:label "template_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 315 .

typescript:ternary_expression a owl:Class ;
    rdfs:label "ternary_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 242 .

typescript:this a owl:Class ;
    rdfs:label "this" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 114 .

typescript:this_type a owl:Class ;
    rdfs:label "this_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 381 .

typescript:throw_statement a owl:Class ;
    rdfs:label "throw_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:ThrowStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 201 .

typescript:true a owl:Class ;
    rdfs:label "true" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 116 .

typescript:try_statement a owl:Class ;
    rdfs:label "try_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:TryStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 195 .

typescript:tuple_type a owl:Class ;
    rdfs:label "tuple_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 347 .

typescript:type a owl:DatatypeProperty ;
    rdfs:label "type (literal)" ;
    rdfs:comment "Literal value for type field when it contains a terminal node" ;
    typescript:fieldId 37 ;
    typescript:isTerminalField true .

typescript:type_alias_declaration a owl:Class ;
    rdfs:label "type_alias_declaration" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 293 .

typescript:type_annotation a owl:Class ;
    rdfs:label "type_annotation" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 302 .

typescript:type_arguments a owl:Class ;
    rdfs:label "type_arguments" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 336 .

typescript:type_assertion a owl:Class ;
    rdfs:label "type_assertion" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 273 .

typescript:type_identifier a owl:Class ;
    rdfs:label "type_identifier" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 382 .

typescript:type_parameter a owl:Class ;
    rdfs:label "type_parameter" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 341 .

typescript:type_parameters a owl:Class ;
    rdfs:label "type_parameters" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 340 .

typescript:type_predicate a owl:Class ;
    rdfs:label "type_predicate" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 320 .

typescript:type_predicate_annotation a owl:Class ;
    rdfs:label "type_predicate_annotation" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 321 .

typescript:type_query a owl:Class ;
    rdfs:label "type_query" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 326 .

typescript:unary_expression a owl:Class ;
    rdfs:label "unary_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 244,
        331 .

typescript:undefined a owl:Class ;
    rdfs:label "undefined" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 119 .

typescript:union_type a owl:Class ;
    rdfs:label "union_type" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 349 .

typescript:update_expression a owl:Class ;
    rdfs:label "update_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 245 .

typescript:variable_declaration a owl:Class ;
    rdfs:label "variable_declaration" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:VariableDeclaration ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 183 .

typescript:variable_declarator a owl:Class ;
    rdfs:label "variable_declarator" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 185 .

typescript:while_statement a owl:Class ;
    rdfs:label "while_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:WhileStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 193 .

typescript:with_statement a owl:Class ;
    rdfs:label "with_statement" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 196 .

typescript:yield_expression a owl:Class ;
    rdfs:label "yield_expression" ;
    rdfs:isDefinedBy typescript: ;
    rdfs:subClassOf ast:Node,
        ast-x:YieldStatement ;
    typescript:isSupertype true ;
    typescript:nodeTypeId 212 .

repolex: a owl:Ontology ;
    rdfs:label "Repolex Core Ontology" ;
    rdfs:comment "Core Repolex application ontology defining repository analysis vocabulary." ;
    owl:versionInfo "1.0" .

repolex:ast-extension a owl:Ontology ;
    rdfs:label "AST Extension Ontology" ;
    rdfs:comment "Universal AST types and extensions for cross-language analysis. Maps language-specific tree-sitter nodes to generic ast-x: classes via rdfs:subClassOf." ;
    owl:versionInfo "1.0" .

ast-x:assignmentCount a owl:DatatypeProperty ;
    rdfs:label "assignment count" ;
    rdfs:comment "Count of assignment operations in the function. High values indicate mutation-heavy code. NOT YET IMPLEMENTED. To implement: Count nodes that are subclasses of ast-x:Assignment or ast-x:AugmentedAssignment within function body." ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:assignsTo a owl:DatatypeProperty ;
    rdfs:label "assigns to" ;
    rdfs:comment "Target variable name for assignment operations. Extracted from the left-hand side (field_left) of assignment nodes during blob parsing. For simple assignments only; complex targets (destructuring, field access) require following the assignment structure." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

ast-x:branchCount a owl:DatatypeProperty ;
    rdfs:label "branch count" ;
    rdfs:comment "Count of if/switch statements in the function. NOT YET IMPLEMENTED. To implement: Count nodes that are subclasses of ast-x:IfStatement or ast-x:SwitchStatement within function body." ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:containedInBlob a owl:ObjectProperty ;
    rdfs:label "contained in blob" ;
    rdfs:comment "Inverse of ast-x:sourceBlobNode. Inferred by reasoner: if node N is in blob B, then B contains N. Enables 'what nodes are in this blob?' queries." ;
    owl:inverseOf ast-x:sourceBlobNode .

ast-x:cyclomaticComplexity a owl:DatatypeProperty ;
    rdfs:label "cyclomatic complexity" ;
    rdfs:comment "McCabe cyclomatic complexity: count of decision points + 1. Higher values indicate more complex control flow. NOT YET IMPLEMENTED. To implement: During AST traversal, count decision point nodes (if_statement, for_statement, while_statement, switch_statement, conditional_expression, boolean operators &&/||) + 1. Language-specific node types map via ast-x:IfStatement, ast-x:ForStatement, etc." ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:docstring a owl:DatatypeProperty ;
    rdfs:label "docstring" ;
    rdfs:comment "Documentation text attached to a function, class, or module. Extracted from the first ast-x:Comment child of an ast-x:FunctionDefinition or ast-x:ClassDefinition during parse time. Used for documentation coverage analysis and LLM context." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

ast-x:exceptionHandlerCount a owl:DatatypeProperty ;
    rdfs:label "exception handler count" ;
    rdfs:comment "Count of try/catch blocks in the function. NOT YET IMPLEMENTED. To implement: Count nodes that are subclasses of ast-x:TryStatement within function body." ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:fieldCount a owl:DatatypeProperty ;
    rdfs:label "field count" ;
    rdfs:comment "Number of fields/properties in a class. NOT YET IMPLEMENTED. To implement: Count field/property declaration nodes within class body. Language-specific patterns needed (field_declaration, property_declaration, etc.)." ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:filePath a owl:DatatypeProperty,
        owl:FunctionalProperty ;
    rdfs:label "file path" ;
    rdfs:comment "Repository-relative file path for this AST node (e.g., 'src/main.js', 'lib/utils/helper.py'). Used to locate the source file within the repository structure." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

ast-x:hasDocumentation a owl:DatatypeProperty ;
    rdfs:label "has documentation" ;
    rdfs:comment "Whether this symbol has documentation comments (JSDoc, docstring, JavaDoc, etc.). Used for documentation coverage analysis. NOT YET IMPLEMENTED. To implement: During AST traversal, check for doc comment nodes immediately preceding or inside the definition. Language-specific patterns: jsdoc comment nodes (JS/TS), expression_statement with string literal at function start (Python), block_comment starting with /** (Java/C++), triple-slash comments (C#), etc." ;
    rdfs:range xsd:boolean .

ast-x:importResolvesTo a owl:ObjectProperty ;
    rdfs:label "import resolves to" ;
    rdfs:comment "Inferred: follows from import statement through its resolution node to the LSP-resolved target location. Chain: importStatement --resolutionNode--> node --importTarget--> location." ;
    owl:propertyChainAxiom ( ast-x:resolutionNode lsp-x:importTarget ) .

ast-x:isOptional a owl:DatatypeProperty ;
    rdfs:label "is optional" ;
    rdfs:comment "Whether this parameter is optional/has a default value. Detected via .scm queries looking for: TypeScript '?' suffix, Python/Kotlin default values, etc. Populated during blob parsing." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

ast-x:lineCount a owl:DatatypeProperty ;
    rdfs:label "line count" ;
    rdfs:comment "Number of lines spanned by this entity (endLine - startLine + 1). NOT YET IMPLEMENTED. To implement: Use ast:endRow - ast:startRow + 1 from tree-sitter node." ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:localVariableCount a owl:DatatypeProperty ;
    rdfs:label "local variable count" ;
    rdfs:comment "Number of local variable declarations in the function. NOT YET IMPLEMENTED. To implement: Count nodes that are subclasses of ast-x:VariableDeclaration within function body (excluding parameters and class fields)." ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:loopCount a owl:DatatypeProperty ;
    rdfs:label "loop count" ;
    rdfs:comment "Count of for/while loops in the function. NOT YET IMPLEMENTED. To implement: Count nodes that are subclasses of ast-x:ForStatement or ast-x:WhileStatement within function body." ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:methodCount a owl:DatatypeProperty ;
    rdfs:label "method count" ;
    rdfs:comment "Number of methods in a class. NOT YET IMPLEMENTED. To implement: Count child nodes that are subclasses of ast-x:FunctionDefinition within class body." ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:nestingDepth a owl:DatatypeProperty ;
    rdfs:label "nesting depth" ;
    rdfs:comment "Maximum depth of nested control flow structures. Deep nesting indicates harder-to-understand code. NOT YET IMPLEMENTED. To implement: During AST traversal, track current depth counter. Increment when entering control flow nodes (subclasses of sem:ControlFlow), decrement when exiting. Record max depth reached." ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:parameterCount a owl:DatatypeProperty ;
    rdfs:label "parameter count" ;
    rdfs:comment "Number of parameters for a function/method. NOT YET IMPLEMENTED. To implement: Count child nodes that are subclasses of ast-x:Parameter within function definition." ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:parameterIndex a owl:DatatypeProperty,
        owl:FunctionalProperty ;
    rdfs:label "parameter index" ;
    rdfs:comment "Zero-indexed position of this parameter in the function signature. Computed during AST traversal by counting parameter positions. Used for argument-to-parameter dataflow mapping." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

ast-x:returnCount a owl:DatatypeProperty ;
    rdfs:label "return count" ;
    rdfs:comment "Number of return statements in the function. Multiple returns can indicate complex control flow. NOT YET IMPLEMENTED. To implement: Count nodes that are subclasses of ast-x:ReturnStatement within function body." ;
    rdfs:range xsd:nonNegativeInteger .

repolex:blobHash a owl:DatatypeProperty ;
    rdfs:label "blob hash" ;
    rdfs:comment "Git blob hash (SHA-1) of the file contents" ;
    rdfs:domain repolex:File ;
    rdfs:range xsd:string .

repolex:blobUri a owl:DatatypeProperty ;
    rdfs:label "blob URI" ;
    rdfs:comment "URI reference to the blob resource" ;
    rdfs:domain repolex:File ;
    rdfs:range xsd:anyURI .

repolex:dependencyRepo a owl:ObjectProperty ;
    rdfs:label "dependency repo" ;
    rdfs:comment "A repository that this commit depends on. Resolved from package manifest (requirements.txt, pom.xml, etc.) via package registry to GitHub repo. Used in manifest graphs to build the cross-repo dependency web." ;
    rdfs:domain git:Commit ;
    rdfs:range gh:Repository .

repolex:fileName a owl:DatatypeProperty ;
    rdfs:label "file name" ;
    rdfs:comment "Base name of the file (e.g., 'main.py')" ;
    rdfs:domain repolex:File ;
    rdfs:range xsd:string .

repolex:filePath a owl:DatatypeProperty ;
    rdfs:label "file path" ;
    rdfs:comment "Relative path of the file within the repository" ;
    rdfs:domain repolex:File ;
    rdfs:range xsd:string .

repolex:fileSize a owl:DatatypeProperty ;
    rdfs:label "file size" ;
    rdfs:comment "Size of the file in bytes" ;
    rdfs:domain repolex:File ;
    rdfs:range xsd:integer .

repolex:gh-extension a owl:Ontology ;
    rdfs:label "GitHub Extension Ontology" ;
    rdfs:comment "Repolex extension types and properties for GitHub data. Defines gh-x:Item superclass and convenience properties not found in the upstream GitHub OpenAPI spec." ;
    owl:versionInfo "1.0" .

gh-x:baseRef a owl:DatatypeProperty ;
    rdfs:label "baseRef" ;
    rdfs:comment "Branch name of the PR's base (target) branch. Extracted from the GitHub API base.ref field." ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:string .

gh-x:headRef a owl:DatatypeProperty ;
    rdfs:label "headRef" ;
    rdfs:comment "Branch name of the PR's head (source) branch. Extracted from the GitHub API head.ref field." ;
    rdfs:domain gh:PullRequest ;
    rdfs:range xsd:string .

gh-x:headSha a owl:FunctionalProperty,
        owl:ObjectProperty ;
    rdfs:label "headSha" ;
    rdfs:comment "Points to the git:Commit at the tip of the PR's head branch. Extracted from the GitHub API head.sha field and linked to the corresponding commit URI." ;
    rdfs:domain gh:PullRequest ;
    rdfs:range git:Commit .

gh-x:mergeCommitSha a owl:FunctionalProperty,
        owl:ObjectProperty ;
    rdfs:label "mergeCommitSha" ;
    rdfs:comment "Points to the git:Commit created when this PR was merged. Extracted from the GitHub API merge_commit_sha field and linked to the corresponding commit URI." ;
    rdfs:domain gh:PullRequest ;
    rdfs:range git:Commit .

gh-x:totalReactions a owl:DatatypeProperty ;
    rdfs:label "totalReactions" ;
    rdfs:comment "Sum of all reaction counts on this item. Computed from the GitHub API reactions.total_count field as a convenience rollup." ;
    rdfs:domain gh-x:Item ;
    rdfs:range xsd:integer .

repolex:githubCommit a owl:DatatypeProperty ;
    rdfs:label "GitHub commit" ;
    rdfs:comment "Git commit SHA-1 hash for the resolved version" ;
    rdfs:domain repolex:Dependency ;
    rdfs:range xsd:string .

repolex:githubLink a owl:DatatypeProperty ;
    rdfs:label "GitHub link" ;
    rdfs:comment "Full GitHub URL to the repository" ;
    rdfs:domain repolex:Dependency ;
    rdfs:range xsd:anyURI .

repolex:githubOrg a owl:DatatypeProperty ;
    rdfs:label "GitHub organization" ;
    rdfs:comment "GitHub organization or user name hosting the dependency" ;
    rdfs:domain repolex:Dependency ;
    rdfs:range xsd:string .

repolex:githubRepo a owl:DatatypeProperty ;
    rdfs:label "GitHub repository" ;
    rdfs:comment "GitHub repository name" ;
    rdfs:domain repolex:Dependency ;
    rdfs:range xsd:string .

repolex:githubTag a owl:DatatypeProperty ;
    rdfs:label "GitHub tag" ;
    rdfs:comment "Git tag corresponding to the resolved package version" ;
    rdfs:domain repolex:Dependency ;
    rdfs:range xsd:string .

repolex:githubUri a owl:DatatypeProperty ;
    rdfs:label "GitHub URI" ;
    rdfs:comment "GitHub web URL for viewing this file" ;
    rdfs:domain repolex:File ;
    rdfs:range xsd:anyURI .

repolex:graphFile a owl:ObjectProperty ;
    rdfs:label "graph file" ;
    rdfs:comment "Links a commit to one of its output graph files (AST, LSP, repolex, dep, filetree, commit, branch, tag)." ;
    rdfs:domain git:Commit ;
    rdfs:range repolex:GraphFile .

repolex:graphFilePath a owl:DatatypeProperty ;
    rdfs:label "graph file path" ;
    rdfs:comment "Relative path to the .nq.gz file within the storage repo." ;
    rdfs:domain repolex:GraphFile ;
    rdfs:range xsd:string .

repolex:graphFileSize a owl:DatatypeProperty ;
    rdfs:label "graph file size" ;
    rdfs:comment "Size of the .nq.gz file in bytes." ;
    rdfs:domain repolex:GraphFile ;
    rdfs:range xsd:integer .

repolex:graphType a owl:DatatypeProperty ;
    rdfs:label "graph type" ;
    rdfs:comment "Type of graph: 'ast', 'lsp', 'repolex', 'dep', 'filetree', 'commit', 'branch', 'tag', 'issue', 'pr'." ;
    rdfs:domain repolex:GraphFile ;
    rdfs:range xsd:string .

repolex:language a owl:DatatypeProperty ;
    rdfs:label "language" ;
    rdfs:comment "Programming language (e.g., 'python', 'javascript', 'rust')" ;
    rdfs:range xsd:string .

repolex:lsp-extension a owl:Ontology ;
    rdfs:label "LSP Extension Ontology" ;
    rdfs:comment "Properties and metrics derived from LSP data via multilspy resolution and call graph analysis." ;
    owl:versionInfo "1.0" .

lsp-x:callFromReturn a owl:ObjectProperty ;
    rdfs:label "call from return" ;
    rdfs:comment "Inverse of lsp-x:returnToCall. Inferred by reasoner: if return R flows to call site C, then C receives from R. Enables 'what return values reach this call?' queries." ;
    owl:inverseOf lsp-x:returnToCall .

lsp-x:callSource a owl:ObjectProperty ;
    rdfs:label "call source" ;
    rdfs:comment "Inverse of lsp-x:callTarget. Inferred by reasoner: if A lsp-x:callTarget B, then B lsp-x:callSource A. Enables 'who calls this function?' queries without storing both directions." ;
    owl:inverseOf lsp-x:callTarget .

lsp-x:callTargetFile a owl:DatatypeProperty ;
    rdfs:label "call target file (DEPRECATED)" ;
    rdfs:comment "DEPRECATED — use lsp-x:resolutionTargetFile instead. Repository-relative file path of the call target." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

lsp-x:callTargetLine a owl:DatatypeProperty ;
    rdfs:label "call target line" ;
    rdfs:comment "Line number where the call target is defined, extracted from LSP Location response. Convenience property for quick access without following lsp-x:callTarget." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

lsp-x:callTargetName a owl:DatatypeProperty ;
    rdfs:label "call target name" ;
    rdfs:comment "Symbol name of the call target, extracted from LSP Hover response (best-effort). Convenience property for displaying target name without additional lookups." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

lsp-x:calledByCount a owl:DatatypeProperty ;
    rdfs:label "called by count" ;
    rdfs:comment "Fan-in: Number of distinct callers that call this function. Computed by counting how many call sites have lsp-x:callTarget pointing to this function." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

lsp-x:callsCount a owl:DatatypeProperty ;
    rdfs:label "calls count" ;
    rdfs:comment "Fan-out: Number of distinct functions this function calls. Computed by counting distinct lsp-x:callTarget triples where the subject is a call site within this function." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

lsp-x:childClassCount a owl:DatatypeProperty ;
    rdfs:label "child class count" ;
    rdfs:comment "Number of direct subclasses. Changes to classes with many children have wide ripple effects. Computed from LSP TypeHierarchyRequest (subtypes count)." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

lsp-x:importModule a owl:DatatypeProperty ;
    rdfs:label "import module" ;
    rdfs:comment "The module name or path being imported (e.g., 'react', 'lodash', './utils/helper'). Extracted from the import statement source text. Convenience property for quick access to import target without LSP resolution." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

lsp-x:importSource a owl:ObjectProperty ;
    rdfs:label "import source" ;
    rdfs:comment "Inverse of lsp-x:importTarget. Inferred by reasoner: if module A imports module B, then B lsp-x:importSource A. Enables 'who imports this module?' queries." ;
    owl:inverseOf lsp-x:importTarget .

lsp-x:importSymbol a owl:DatatypeProperty ;
    rdfs:label "import symbol" ;
    rdfs:comment "Specific symbol name imported from the module (e.g., 'useState' from 'react', 'Path' from 'pathlib'). Optional — not present for wildcard or module-level imports." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

lsp-x:inheritanceDepth a owl:DatatypeProperty ;
    rdfs:label "inheritance depth" ;
    rdfs:comment "Distance from root class in the inheritance hierarchy. Deep hierarchies can be harder to understand. Computed from LSP TypeHierarchyRequest (supertypes traversal)." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

lsp-x:paramFromArg a owl:ObjectProperty ;
    rdfs:label "parameter from argument" ;
    rdfs:comment "Inverse of lsp-x:argToParam. Inferred by reasoner: if argument A flows to parameter P, then P receives from A. Enables 'what arguments feed this parameter?' queries." ;
    owl:inverseOf lsp-x:argToParam .

lsp-x:resolutionSourceFile a owl:DatatypeProperty ;
    rdfs:label "resolution source file" ;
    rdfs:comment "Repo-relative file path where the LSP resolution originated (the caller/importer side). Denormalized on all LSP resolution triples (calls, imports, extends) for file-level filtering and incremental enrichment." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

lsp-x:resolutionTargetFile a owl:DatatypeProperty ;
    rdfs:label "resolution target file" ;
    rdfs:comment "Repo-relative file path where LSP resolved to (the definition/target side). Denormalized on all LSP resolution triples for file-level filtering and version diffs. Replaces the narrower lsp-x:callTargetFile." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:string .

lsp-x:transitivelyImports a owl:ObjectProperty,
        owl:TransitiveProperty ;
    rdfs:label "transitively imports" ;
    rdfs:comment "Transitive closure of import relationships. If module A imports B and B imports C, the reasoner infers A transitivelyImports C. Enables full dependency tree queries without recursion." ;
    rdfs:subPropertyOf lsp-x:importTarget .

repolex:mimeType a owl:DatatypeProperty ;
    rdfs:label "MIME type" ;
    rdfs:comment "MIME type of the file (e.g., 'text/x-python')" ;
    rdfs:domain repolex:File ;
    rdfs:range xsd:string .

repolex:packageEcosystem a owl:DatatypeProperty ;
    rdfs:label "package ecosystem" ;
    rdfs:comment "The package ecosystem/registry (e.g., 'PYPI', 'NPM', 'MAVEN')" ;
    rdfs:domain repolex:Dependency ;
    rdfs:range xsd:string .

repolex:packageName a owl:DatatypeProperty ;
    rdfs:label "package name" ;
    rdfs:comment "The package name as it appears in the registry (e.g., 'requests', 'express')" ;
    rdfs:domain repolex:Dependency ;
    rdfs:range xsd:string .

repolex:packageVersion a owl:DatatypeProperty ;
    rdfs:label "package version" ;
    rdfs:comment "The package version as declared in the dependency specification (e.g., '2.28.0', '^1.0.0')" ;
    rdfs:domain repolex:Dependency ;
    rdfs:range xsd:string .

repolex:parseStatus a owl:DatatypeProperty ;
    rdfs:label "parse status" ;
    rdfs:comment "Status of the parse for this commit: 'parsed', 'failed', or 'pending'." ;
    rdfs:domain git:Commit ;
    rdfs:range xsd:string .

repolex:parsedAt a owl:DatatypeProperty ;
    rdfs:label "parsed at" ;
    rdfs:comment "Datetime when this commit was parsed by repolex." ;
    rdfs:domain git:Commit ;
    rdfs:range xsd:dateTime .

repolex:parserVersion a owl:DatatypeProperty ;
    rdfs:label "parser version" ;
    rdfs:comment "Version of the repolex parser that produced this parse. Used for tracking which parser version generated which data." ;
    rdfs:domain git:Commit ;
    rdfs:range xsd:string .

repolex:reasoning a owl:Ontology ;
    rdfs:label "Reasoning Ontology" ;
    rdfs:comment "OWL 2 RL inference rules for the repolex knowledge graph. Defines inverse, transitive, and chain properties that enable automatic inference of implicit relationships. Requires a reasoner (owlrl) to materialize." ;
    owl:versionInfo "1.0" .

repolex:repolex_unified_lite.ttl a owl:Ontology ;
    rdfs:label "Repolex Unified Lite Ontology" ;
    rdfs:comment "Spine and Golden Ribs ontology for high-performance AST and LSP processing. Contains core AST-x, resolutionNode, LSP-x call targets, Git provenance, security, and reasoning, plus golden languages (Rust, Python, TS/JS, Go, Elixir, Swift, etc.)." ;
    owl:versionInfo "1.0" .

repolex:repository a owl:ObjectProperty ;
    rdfs:label "repository" ;
    rdfs:comment "Back-link from a commit to its repository. Convenience property for navigating from commit manifest to repo manifest." ;
    rdfs:domain git:Commit ;
    rdfs:range gh:Repository .

repolex:root a owl:ObjectProperty ;
    rdfs:label "root" ;
    rdfs:comment "Points to the root AST node of this blob (typically module or compilation_unit)" ;
    rdfs:domain repolex:Blob .

repolex:rxm a owl:Ontology ;
    rdfs:label "RXM — Repolex Metrics" ;
    rdfs:comment "Derived code quality metrics combining AST, LSP, and graph analysis. The analysis layer that turns raw structural data into actionable insights." ;
    owl:versionInfo "1.0" .

rxm:changeFrequency a owl:DatatypeProperty ;
    rdfs:label "change frequency" ;
    rdfs:comment "Number of times this entity has been modified in git history. High churn may indicate instability or complexity. NOT YET IMPLEMENTED. To implement: Query git log for commits touching this file, filter to line range of entity (ast:startRow to ast:endRow), count commits. Requires: git history integration + blame/log analysis." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

rxm:couplingCount a owl:DatatypeProperty ;
    rdfs:label "coupling count" ;
    rdfs:comment "Number of distinct external classes/modules this entity depends on. High coupling indicates tight dependencies and reduced modularity. NOT YET IMPLEMENTED. To implement: For each function/class, traverse all call sites (subclasses of ast-x:CallSite), collect lsp-x:callTarget destinations, group by containing module/class (via ast:parent chain), count distinct external modules. Requires: lsp-x:callTarget resolution + module boundary detection." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

rxm:hasCircularDependency a owl:DatatypeProperty ;
    rdfs:label "has circular dependency" ;
    rdfs:comment "Whether this module is part of a circular import dependency. Code smell indicator. NOT YET IMPLEMENTED. To implement: Build module dependency graph from lsp-x:importTarget resolution. Run cycle detection algorithm (Tarjan's SCC or DFS with recursion stack). Mark all modules in detected cycles. Requires: complete import resolution across all files in repository." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

rxm:hasHighCoupling a owl:DatatypeProperty ;
    rdfs:label "has high coupling" ;
    rdfs:comment "Whether this class/module has excessive external dependencies (couplingCount > threshold). Code smell indicator. NOT YET IMPLEMENTED. To implement: Query for entities where rxm:couplingCount > threshold (e.g., 10). Requires: rxm:couplingCount to be populated." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

rxm:impactRadius a owl:DatatypeProperty ;
    rdfs:label "impact radius" ;
    rdfs:comment "Number of entities that transitively depend on this entity. High impact radius means changes affect many other parts of the codebase. NOT YET IMPLEMENTED. To implement: Build dependency graph from lsp-x:callTarget and lsp-x:importTarget, run transitive closure from this entity, count reachable entities. Requires: complete call/import graph + graph traversal." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

rxm:isComplexFunction a owl:DatatypeProperty ;
    rdfs:label "is complex function" ;
    rdfs:comment "Whether this function is too complex (cyclomatic complexity > 10). Code smell indicator. NOT YET IMPLEMENTED. To implement: Query for functions where ast-x:cyclomaticComplexity > 10. Threshold configurable (common values: 10-15)." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

rxm:isGodClass a owl:DatatypeProperty ;
    rdfs:label "is god class" ;
    rdfs:comment "Whether this class has too many responsibilities (methods > 20 OR fields > 15). Code smell indicator. NOT YET IMPLEMENTED. To implement: Query for classes where ast-x:methodCount > 20 OR ast-x:fieldCount > 15. Thresholds configurable." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

rxm:isLongFunction a owl:DatatypeProperty ;
    rdfs:label "is long function" ;
    rdfs:comment "Whether this function is too long (line count > 100). Code smell indicator. NOT YET IMPLEMENTED. To implement: Query for functions where ast-x:lineCount > 100. Threshold configurable (common values: 50-200)." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

rxm:isPublicAPI a owl:DatatypeProperty ;
    rdfs:label "is public API" ;
    rdfs:comment "Whether this symbol is part of the public API (exported/public). Used to distinguish internal code (safe to delete if unused) from external-facing code (breaking change risk). NOT YET IMPLEMENTED. To implement: Check if symbol appears in export statements (JS/TS), has public/export modifier (Java/C#/Rust), is at module level without leading underscore (Python convention), or is in __all__ (Python). Combine AST analysis with language-specific visibility rules." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

rxm:isReachable a owl:DatatypeProperty ;
    rdfs:label "is reachable" ;
    rdfs:comment "Whether this code is reachable from entry points. Used for dead code elimination. NOT YET IMPLEMENTED. To implement: (1) Identify entry points (main(), if __name__ == '__main__', @Test annotations, module.exports, public APIs); (2) Build call graph from lsp-x:callTarget; (3) Run graph traversal (BFS/DFS) from entry points; (4) Mark all visited functions as reachable=true. Requires: complete lsp-x:callTarget resolution + language-specific entry point patterns." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

rxm:isUsed a owl:DatatypeProperty ;
    rdfs:label "is used" ;
    rdfs:comment "Whether this variable/import/symbol is actually referenced. Used for unused code detection. NOT YET IMPLEMENTED. To implement: For imports, check if lsp-x:importTarget symbol appears in any identifier/call. For variables, check if appears in any expression beyond declaration. For functions, check lsp-x:calledByCount > 0. Can use LSP ReferencesRequest or AST-based usage tracking." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

repolex:security a owl:Ontology ;
    rdfs:label "Security Ontology" ;
    rdfs:comment "Security analysis layer for repolex. Detects hidden content in source files — unicode steganography, invisible characters, homoglyphs, and other threats invisible to forge UIs but present in raw bytes." ;
    owl:versionInfo "1.0" .

security:anomalyType a owl:DatatypeProperty ;
    rdfs:label "anomaly type" ;
    rdfs:comment "Classification of the anomaly. Values include: 'variation-selector', 'bidi-override', 'zero-width', 'tag-character', 'private-use-area', 'hangul-filler', 'invisible-operator', 'homoglyph', 'confusable-whitespace', 'fullwidth-form', 'soft-hyphen'." ;
    rdfs:domain security:UnicodeAnomaly ;
    rdfs:range xsd:string .

security:charCount a owl:DatatypeProperty ;
    rdfs:label "character count" ;
    rdfs:comment "Number of anomalous characters detected in this finding." ;
    rdfs:domain security:UnicodeAnomaly ;
    rdfs:range xsd:nonNegativeInteger .

security:codepoints a owl:DatatypeProperty ;
    rdfs:label "codepoints" ;
    rdfs:comment "Unicode codepoint range or list for this finding. Format: 'U+XXXX' for single, 'U+XXXX-U+XXXX' for range. Example: 'U+FE00-U+FE0F'." ;
    rdfs:domain security:UnicodeAnomaly ;
    rdfs:range xsd:string .

security:detectedBy a owl:DatatypeProperty ;
    rdfs:label "detected by" ;
    rdfs:comment "The scanner that produced this finding. Values: 'repolex-scanner' (built-in fast scanner), 'stegg-allsight' (ST3GG/ALLSIGHT deep scan). Both may appear on the same finding if independently detected." ;
    rdfs:domain security:UnicodeAnomaly ;
    rdfs:range xsd:string .

security:hasUnicodeAnomaly a owl:DatatypeProperty ;
    rdfs:label "has unicode anomaly" ;
    rdfs:comment "Boolean flag indicating this blob contains one or more unicode anomalies. Use for fast filtering — query individual security:unicodeAnomaly links for details." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:boolean .

security:location a owl:DatatypeProperty ;
    rdfs:label "location" ;
    rdfs:comment "Source location of the finding within the file. Format: 'L{line}:C{col}-L{line}:C{col}'. Example: 'L42:C8-L42:C847'. Optional — omitted for file-level detections without line granularity." ;
    rdfs:domain security:UnicodeAnomaly ;
    rdfs:range xsd:string .

security:maxSeverityTier a owl:DatatypeProperty ;
    rdfs:label "max severity tier" ;
    rdfs:comment "Highest (most severe) tier among all findings in this blob. Tier 1 = high confidence (definite concern), Tier 2 = medium (context-dependent), Tier 3 = low (flag for awareness)." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:integer .

security:tier a owl:DatatypeProperty ;
    rdfs:label "tier" ;
    rdfs:comment "Severity tier of this finding. 1 = high confidence (variation selectors in non-emoji, bidi overrides, tag chars, PUA). 2 = medium (zero-width, hangul fillers, FEFF non-BOM, invisible operators). 3 = low (homoglyphs, fullwidth, confusable whitespace, soft hyphen)." ;
    rdfs:domain security:UnicodeAnomaly ;
    rdfs:range xsd:integer .

security:totalFindings a owl:DatatypeProperty ;
    rdfs:label "total findings" ;
    rdfs:comment "Count of individual unicode anomaly findings in this blob." ;
    rdfs:domain ast:Node ;
    rdfs:range xsd:nonNegativeInteger .

security:unicodeAnomaly a owl:ObjectProperty ;
    rdfs:label "unicode anomaly" ;
    rdfs:comment "Links a blob node to an individual UnicodeAnomaly finding. One blob may have multiple findings." ;
    rdfs:domain ast:Node ;
    rdfs:range security:UnicodeAnomaly .

repolex:semantic-categories a owl:Ontology ;
    rdfs:label "Semantic Categories Ontology" ;
    rdfs:comment "Top-level semantic categories for cross-language code analysis queries. Groups AST, LSP, and computed properties into intuitive query-time buckets." ;
    owl:versionInfo "1.0" .

repolex:storageRepo a owl:DatatypeProperty ;
    rdfs:label "storage repo" ;
    rdfs:comment "GitHub storage repository where parsed data is stored (e.g., 'repolex-forx/TopQuadrant--shacl'). Written by forx." ;
    rdfs:domain gh:Repository ;
    rdfs:range xsd:string .

repolex:trackedCommit a owl:ObjectProperty ;
    rdfs:label "tracked commit" ;
    rdfs:comment "Links a repository to a commit that is tracked for parsing (parsed, pending, or failed). Written by forx to the repo manifest." ;
    rdfs:domain gh:Repository ;
    rdfs:range git:Commit .

repolex:usesOntology a owl:ObjectProperty ;
    rdfs:label "uses ontology" ;
    rdfs:comment "Reference to an ontology URI that this blob uses (e.g., tree-sitter core ontology, language-specific ontology)" ;
    rdfs:domain repolex:Blob ;
    rdfs:range owl:Ontology .

git:parent a owl:ObjectProperty,
        owl:TransitiveProperty ;
    rdfs:label "parent" ;
    rdfs:comment "Parent commit(s). Merge commits have multiple parents." ;
    rdfs:domain git:Commit ;
    rdfs:range git:Commit .

ast-x:resolutionNode a owl:ObjectProperty ;
    rdfs:label "resolution node" ;
    rdfs:comment "Points from an AST node (such as an ImportStatement to its module/symbol leaf, or a CallSite to its callee identifier leaf) to the specific child leaf node containing the target identifier, extracted via tree-sitter queries or syntax analysis at blob parse time. The target child node carries the exact position and text required for downstream LSP resolution." ;
    rdfs:domain ast:Node ;
    rdfs:range ast:Node .

ast-x:sourceBlobNode a owl:FunctionalProperty,
        owl:ObjectProperty ;
    rdfs:label "source blob node" ;
    rdfs:comment "Points to the blob node that contains this AST node's source code. Links AST nodes back to their containing blob for retrieval and reference (e.g., <blob/abc123#node_42_1_50_2>)." ;
    rdfs:domain ast:Node ;
    rdfs:range ast:Node .

lsp-x:argToParam a owl:ObjectProperty ;
    rdfs:label "argument to parameter" ;
    rdfs:comment "Links an argument expression at a call site to the parameter definition it passes to. Populated by dataflow analysis after LSP call resolution." ;
    rdfs:domain ast:Node ;
    rdfs:range ast:Node .

lsp-x:callTarget a owl:ObjectProperty ;
    rdfs:label "call target" ;
    rdfs:comment "The resolved definition/location of a call site, populated by multilspy LSP DefinitionRequest." ;
    rdfs:domain ast:Node ;
    rdfs:range lsp:Location .

lsp-x:returnToCall a owl:ObjectProperty ;
    rdfs:label "return to call" ;
    rdfs:comment "Links a return statement to the call site that receives its value. Populated by dataflow analysis tracking return value flow." ;
    rdfs:domain ast:Node ;
    rdfs:range ast:Node .

sem:Import a owl:Class ;
    rdfs:label "Import" ;
    rdfs:comment "Import/include/use statements that bring external modules or symbols into scope. Used for dependency analysis." .

lsp:Hover a owl:Class ;
    rdfs:label "Hover" ;
    rdfs:comment "The result of a textDocument/hover request. Contains a human-readable string with type/documentation information for the symbol at the requested position. (LSP v3.17.0: Hover)" .

lsp:MarkedString a owl:Class ;
    rdfs:label "MarkedString" ;
    rdfs:comment "A deprecated hover content format. Either a plain string or a code block with a language identifier and value. Superseded by MarkupContent but still returned by some LSP servers. Corresponds to the Union type: str | {language: str, value: str}. (LSP v3.17.0: MarkedString, deprecated)" .

lsp:SymbolTag a owl:Class ;
    rdfs:label "SymbolTag" ;
    rdfs:comment "Extra annotations that tweak the rendering of a symbol. @since LSP v3.16.0. (LSP v3.17.0: SymbolTag)" .

repolex:Blob a owl:Class ;
    rdfs:label "Blob" ;
    rdfs:comment "A content-addressed AST blob representing the parsed syntax tree of a source file. Blobs are identified by git blob hash and contain the complete tree-sitter parse tree in RDF form." .

sem:Mutation a owl:Class ;
    rdfs:label "Mutation" ;
    rdfs:comment "State mutation constructs: assignments and augmented assignments that change variable values. Subset of DataFlow focusing on state changes." .

gh:CodeScanningAlert a owl:Class ;
    rdfs:label "CodeScanningAlert" ;
    gh:openApiSchemaName "code-scanning-alert" .

git:Blob a owl:Class ;
    rdfs:label "Blob" ;
    rdfs:comment "A git blob object. Represents file contents. The same content always produces the same blob hash (content-addressed storage)." ;
    rdfs:subClassOf git:IndexObject ;
    owl:disjointWith git:Tag,
        git:Tree .

lsp:CompletionItem a owl:Class ;
    rdfs:label "CompletionItem" ;
    rdfs:comment "A completion item returned by textDocument/completion. Represents a text snippet proposed to complete text being typed. (LSP v3.17.0: CompletionItem, simplified by multilspy)" .

lsp:MarkupContent a owl:Class ;
    rdfs:label "MarkupContent" ;
    rdfs:comment "A string value whose content is interpreted according to its kind (plaintext or markdown). Used in Hover responses. (LSP v3.17.0: MarkupContent)" .

lsp:TreeRepr a owl:Class ;
    rdfs:label "TreeRepr" ;
    rdfs:comment "A recursive tree structure returned alongside document symbols by request_document_symbols(). Maps integer node IDs to lists of child TreeRepr nodes, representing the hierarchical nesting of symbols in a file. Type alias: Dict[int, List[TreeRepr]]. (multilspy-specific type, not in LSP spec.)" .

ast-x:InheritanceSpecifier a owl:Class ;
    rdfs:label "inheritance specifier" ;
    rdfs:comment "General inheritance/delegation declaration. Includes delegation (Kotlin), trait bounds (Rust), interface embedding (Go)." ;
    rdfs:subClassOf sem:Inheritance .

gh-x:Item a owl:Class ;
    rdfs:label "Item" ;
    rdfs:comment "Abstract superclass for numbered, authored, timestamped GitHub entities (issues, pull requests, discussions). Enables cross-type queries without UNION." .

lsp-x:importTarget a owl:ObjectProperty ;
    rdfs:label "import target" ;
    rdfs:comment "The resolved location of an imported module/symbol, populated by multilspy LSP resolution." ;
    rdfs:domain ast:Node ;
    rdfs:range lsp:Location .

sem:Exception a owl:Class ;
    rdfs:label "Exception Handling" ;
    rdfs:comment "Exception handling constructs: try blocks, catch/except clauses, throw/raise statements. Used to find error handling patterns." .

sem:Inheritance a owl:Class ;
    rdfs:label "Inheritance" ;
    rdfs:comment "Inheritance and interface implementation relationships: extends, implements, inherits from, trait bounds. Used for OOP hierarchy analysis." .

gh:Vulnerability a owl:Class ;
    rdfs:label "Vulnerability" ;
    rdfs:comment "A vulnerability describing the product and its affected versions within a GitHub Security Advisory." ;
    gh:openApiSchemaName "vulnerability" .

lsp:MarkupKind a owl:Class ;
    rdfs:label "MarkupKind" ;
    rdfs:comment "Describes the content type supported in hover and completion results. Values: plaintext, markdown. (LSP v3.17.0: MarkupKind)" .

lsp:Position a owl:Class ;
    rdfs:label "Position" ;
    rdfs:comment "A position in a text document expressed as zero-based line and character offset. Both fields are zero-based integers. (LSP v3.17.0: Position)" .

ast:Point a owl:Class ;
    rdfs:label "Point" ;
    rdfs:comment "A position in source code, with row and column." .

repolex:GraphFile a owl:Class ;
    rdfs:label "Graph File" ;
    rdfs:comment "A serialized RDF graph file produced by the parser. Contains the path and size of a .nq.gz file in the storage repo." .

ast-x:ImplementsClause a owl:Class ;
    rdfs:label "implements clause" ;
    rdfs:comment "Interface implementation declaration. Maps to implements (Java, TypeScript), trait bounds (Rust), protocols (Swift)." ;
    rdfs:subClassOf sem:Inheritance .

sem:DataFlow a owl:Class ;
    rdfs:label "Data Flow" ;
    rdfs:comment "Data flow constructs: assignments, augmented assignments, parameters, variable declarations. Used to track how data moves through code." .

sem:Type a owl:Class ;
    rdfs:label "Type Definition" ;
    rdfs:comment "Type definitions: interfaces, enums, structs, type aliases, traits, protocols. Used to find type system elements across languages." .

gh:DependabotAlert a owl:Class ;
    rdfs:label "DependabotAlert" ;
    rdfs:comment "A Dependabot alert." ;
    gh:openApiSchemaName "dependabot-alert" .

gh:DependabotAlertWithRepository a owl:Class ;
    rdfs:label "DependabotAlertWithRepository" ;
    rdfs:comment "A Dependabot alert." ;
    gh:openApiSchemaName "dependabot-alert-with-repository" .

gh:License a owl:Class ;
    rdfs:label "License" ;
    rdfs:comment "License Simple" ;
    gh:openApiSchemaName "license-simple" .

git:Actor a owl:Class ;
    rdfs:label "Actor" ;
    rdfs:comment "A person who performed an action in git (author, committer, or tagger). Identified by name and email." .

git:Remote a owl:Class ;
    rdfs:label "Remote" ;
    rdfs:comment "A remote repository configuration (e.g., 'origin')." .

ast-x:AugmentedAssignment a owl:Class ;
    rdfs:label "augmented assignment" ;
    rdfs:comment "Compound assignment: +=, -=, *=, /=, etc. Reads and writes the same variable." ;
    rdfs:subClassOf sem:DataFlow,
        sem:Mutation .

gh:Label a owl:Class ;
    rdfs:label "Label" ;
    rdfs:comment "Color-coded labels help you categorize and filter your issues (just like labels in Gmail)." ;
    owl:disjointWith gh:Milestone ;
    gh:openApiSchemaName "label" .

gh:OrgMembership a owl:Class ;
    rdfs:label "OrgMembership" ;
    rdfs:comment "Org Membership" ;
    gh:openApiSchemaName "org-membership" .

git:IndexObject a owl:Class ;
    rdfs:label "IndexObject" ;
    rdfs:comment "GitPython abstraction for objects that can appear in a tree index. Adds path, name, and mode information from the tree context. Parent class of Blob and Tree." ;
    rdfs:subClassOf git:Object .

git:Tree a owl:Class ;
    rdfs:label "Tree" ;
    rdfs:comment "A git tree object. Represents a directory - contains references to blobs (files) and other trees (subdirectories)." ;
    rdfs:subClassOf git:IndexObject ;
    owl:disjointWith git:Tag .

lsp:Range a owl:Class ;
    rdfs:label "Range" ;
    rdfs:comment "A range in a text document expressed as start and end positions. (LSP v3.17.0: Range)" .

ast-x:YieldStatement a owl:Class ;
    rdfs:label "yield statement" ;
    rdfs:comment "Generator/coroutine yield: yield, yield_expression, co_yield." ;
    rdfs:subClassOf sem:ControlFlow .

git:Repository a owl:Class ;
    rdfs:label "Repository" ;
    rdfs:comment "A git repository. Contains objects, references, and configuration." .

lsp:Location a owl:Class ;
    rdfs:label "Location" ;
    rdfs:comment "Represents a location inside a resource such as a line inside a text file. (LSP v3.17.0: Location, extended by multilspy with absolutePath and relativePath.)" .

repolex:File a owl:Class ;
    rdfs:label "File" ;
    rdfs:comment "A file in a repository" .

ast-x:ElseClause a owl:Class ;
    rdfs:label "else clause" ;
    rdfs:comment "Default branch when no condition matches. NOT a decision point - does not contribute to cyclomatic complexity. Separated from ast-x:IfStatement to avoid inflating complexity counts." ;
    rdfs:subClassOf sem:ControlFlow .

security:UnicodeAnomaly a owl:Class ;
    rdfs:label "Unicode Anomaly" ;
    rdfs:comment "A detected instance of suspicious unicode usage in a source file. Includes invisible characters, variation selectors, bidi overrides, tag characters, private use area, and homoglyphs. Each anomaly is a specific finding at a specific location." .

gh:AuthorAssociation a owl:Class ;
    rdfs:label "AuthorAssociation" ;
    rdfs:comment "How the author is associated with the repository." .

git:Object a owl:Class ;
    rdfs:label "Object" ;
    rdfs:comment "Base class for all Git objects. All git objects are identified by their SHA-1 hash." .

git:Tag a owl:Class ;
    rdfs:label "Tag" ;
    rdfs:comment "An annotated git tag. Contains tagger info, date, message, and points to a tagged object (usually a commit). Lightweight tags are just refs and don't have a Tag object." ;
    rdfs:subClassOf git:Object .

lsp:UnifiedSymbolInformation a owl:Class ;
    rdfs:label "UnifiedSymbolInformation" ;
    rdfs:comment "Information about a programming construct such as a variable, class, or function. Unifies LSP DocumentSymbol and SymbolInformation into a single type. Returned by request_document_symbols and request_workspace_symbol. (multilspy type: UnifiedSymbolInformation)" .

repolex:Dependency a owl:Class ;
    rdfs:label "Dependency" ;
    rdfs:comment "An external dependency resolved from a package registry (PyPI, NPM, etc.) to a specific GitHub repository and commit." .

git:Reference a owl:Class ;
    rdfs:label "Reference" ;
    rdfs:comment "A git reference (ref). Includes branches, tags, HEAD, and remote-tracking branches. References are mutable pointers to commits." .

lsp:LspRequest a owl:Class ;
    rdfs:label "LspRequest" ;
    rdfs:comment "Abstract base class representing a multilspy query. Subclasses correspond to the six query methods on SyncLanguageServer." .

ast-x:ExtendsClause a owl:Class ;
    rdfs:label "extends clause" ;
    rdfs:comment "Superclass/parent class declaration. Single inheritance (Java, Ruby) or primary base class (C++, Python). Used to identify class hierarchies." ;
    rdfs:subClassOf sem:Inheritance .

ast-x:ThrowStatement a owl:Class ;
    rdfs:label "throw statement" ;
    rdfs:comment "Raise an exception: throw, raise." ;
    rdfs:subClassOf sem:Exception .

sem:ControlFlow a owl:Class ;
    rdfs:label "Control Flow" ;
    rdfs:comment "Control flow constructs: branching (if, switch, match), loops (for, while), and flow control (break, continue, return, yield). Used to find all control flow across languages." .

gh:PullRequestReview a owl:Class ;
    rdfs:label "PullRequestReview" ;
    rdfs:comment "Pull Request Reviews are reviews on pull requests." ;
    gh:openApiSchemaName "pull-request-review" .

gh:ReactionRollup a owl:Class ;
    rdfs:label "ReactionRollup" ;
    gh:openApiSchemaName "reaction-rollup" .

gh:IssueComment a owl:Class ;
    rdfs:label "IssueComment" ;
    rdfs:comment "Comments provide a way for people to collaborate on an issue." ;
    gh:openApiSchemaName "issue-comment" .

ast-x:ContinueStatement a owl:Class ;
    rdfs:label "continue statement" ;
    rdfs:comment "Skip to next iteration: continue, next (Ruby), redo (Ruby)." ;
    rdfs:subClassOf sem:ControlFlow .

gh:Team a owl:Class ;
    rdfs:label "Team" ;
    rdfs:comment "Groups of organization members that gives permissions on specified repositories." ;
    gh:openApiSchemaName "team" .

ast-x:ReturnStatement a owl:Class ;
    rdfs:label "return statement" ;
    rdfs:comment "Exit function with optional value: return, co_return (C++20)." ;
    rdfs:subClassOf sem:ControlFlow .

gh:ReleaseAsset a owl:Class ;
    rdfs:label "ReleaseAsset" ;
    rdfs:comment "Data related to a release." ;
    gh:openApiSchemaName "release-asset" .

gh:SecurityAdvisoryEcosystem a owl:Class ;
    rdfs:label "SecurityAdvisoryEcosystem" ;
    rdfs:comment "The package's language or package management ecosystem." .

ast-x:BreakStatement a owl:Class ;
    rdfs:label "break statement" ;
    rdfs:comment "Early exit: break (exits loop or switch), fallthrough (Go)." ;
    rdfs:subClassOf sem:ControlFlow .

ast-x:TryStatement a owl:Class ;
    rdfs:label "try statement" ;
    rdfs:comment "Exception handling scope: try, try-with-resources (Java), begin (Ruby)." ;
    rdfs:subClassOf sem:Exception .

sem:Declaration a owl:Class ;
    rdfs:label "Declaration" ;
    rdfs:comment "Declarations: functions, methods, classes, interfaces, variables, constants. Used to find all declarations across languages." .

gh:Milestone a owl:Class ;
    rdfs:label "Milestone" ;
    rdfs:comment "A collection of related issues and pull requests." ;
    gh:openApiSchemaName "milestone" .

gh:TeamFull a owl:Class ;
    rdfs:label "TeamFull" ;
    rdfs:comment "Groups of organization members that gives permissions on specified repositories." ;
    gh:openApiSchemaName "team-full" .

ast-x:CatchClause a owl:Class ;
    rdfs:label "catch clause" ;
    rdfs:comment "Exception handler: catch, except, rescue." ;
    rdfs:subClassOf sem:Exception .

ast-x:Assignment a owl:Class ;
    rdfs:label "assignment" ;
    rdfs:comment "Direct value assignment: x = expr. Includes walrus operator := (Python), Go short_var_declaration." ;
    rdfs:subClassOf sem:DataFlow,
        sem:Mutation .

ast-x:ParameterList a owl:Class ;
    rdfs:label "parameter list" ;
    rdfs:comment "Container node holding all parameters in a function/method signature. Use ast-x:parameterIndex on child ast-x:Parameter nodes to track position." ;
    owl:disjointWith ast-x:Parameter .

ast-x:VariableDeclaration a owl:Class ;
    rdfs:label "variable declaration" ;
    rdfs:comment "Introduces a new variable binding: let, var, const, short_var_declaration (:= in Go)." ;
    rdfs:subClassOf sem:DataFlow,
        sem:Declaration .

gh:Discussion a owl:Class ;
    rdfs:label "Discussion" ;
    rdfs:comment "A Discussion in a repository." ;
    gh:openApiSchemaName "discussion" .

ast-x:ImportStatement a owl:Class ;
    rdfs:label "import statement" ;
    rdfs:comment "Any import, use, require, or include directive. Used by multilspy to resolve module paths and cross-file symbol origins." ;
    rdfs:subClassOf sem:Import .

gh:GlobalAdvisory a owl:Class ;
    rdfs:label "GlobalAdvisory" ;
    rdfs:comment "A GitHub Security Advisory." ;
    gh:openApiSchemaName "global-advisory" .

ast-x:ForStatement a owl:Class ;
    rdfs:label "for statement" ;
    rdfs:comment "For loop: for-in, for-each, enhanced-for, range-based for. Iterator-driven." ;
    rdfs:subClassOf sem:ControlFlow ;
    owl:disjointWith ast-x:SwitchStatement,
        ast-x:WhileStatement .

ast-x:IfStatement a owl:Class ;
    rdfs:label "if statement" ;
    rdfs:comment "Conditional branch: if, elif, unless, guard, if-modifier. Each represents a decision point for cyclomatic complexity." ;
    rdfs:subClassOf sem:ControlFlow ;
    owl:disjointWith ast-x:ForStatement,
        ast-x:SwitchStatement,
        ast-x:WhileStatement .

gh:Release a owl:Class ;
    rdfs:label "Release" ;
    rdfs:comment "A release." ;
    gh:openApiSchemaName "release" .

gh:RepositoryAdvisory a owl:Class ;
    rdfs:label "RepositoryAdvisory" ;
    rdfs:comment "A repository security advisory." ;
    gh:openApiSchemaName "repository-advisory" .

gh:SecretScanningAlert a owl:Class ;
    rdfs:label "SecretScanningAlert" ;
    gh:openApiSchemaName "secret-scanning-alert" .

ast-x:SwitchStatement a owl:Class ;
    rdfs:label "switch statement" ;
    rdfs:comment "Multi-way dispatch: switch, match, case, when." ;
    rdfs:subClassOf sem:ControlFlow .

ast-x:CallSite a owl:Class ;
    rdfs:label "call site" ;
    rdfs:comment "Any function call, method call, or constructor invocation. PRIMARY input for multilspy: each call_site is sent as a DefinitionRequest to resolve the target." .

git:Commit a owl:Class ;
    rdfs:label "Commit" ;
    rdfs:comment "A git commit object. Contains a snapshot (tree), parent commits, author/committer info, and a message." ;
    rdfs:subClassOf git:Object ;
    owl:disjointWith git:Blob,
        git:Tag,
        git:Tree .

ast-x:Comment a owl:Class ;
    rdfs:label "comment" ;
    rdfs:comment "Any comment node in the AST: line comments, block comments, doc comments. Provides context for LLM analysis. Documentation content is available via LSP hover for doc comments." .

gh:PullRequestReviewComment a owl:Class ;
    rdfs:label "PullRequestReviewComment" ;
    rdfs:comment "Pull Request Review Comments are comments on a portion of the Pull Request's diff." ;
    gh:openApiSchemaName "pull-request-review-comment" .

gh:Issue a owl:Class ;
    rdfs:label "Issue" ;
    rdfs:comment "Issues are a great way to keep track of tasks, enhancements, and bugs for your projects." ;
    rdfs:subClassOf gh-x:Item ;
    owl:disjointWith gh:PullRequest,
        gh:PullRequestReview ;
    gh:openApiSchemaName "issue" .

lsp:CompletionItemKind a owl:Class ;
    rdfs:label "CompletionItemKind" ;
    rdfs:comment "Enumeration of completion item kinds. Integer values 1-25. (LSP v3.17.0: CompletionItemKind)" .

ast-x:WhileStatement a owl:Class ;
    rdfs:label "while statement" ;
    rdfs:comment "Condition-driven loop: while, do-while, loop (Rust), until (Ruby)." ;
    rdfs:subClassOf sem:ControlFlow ;
    owl:disjointWith ast-x:SwitchStatement .

gh:User a owl:Class ;
    rdfs:label "User" ;
    rdfs:comment "A GitHub user." ;
    gh:openApiSchemaName "simple-user" .

lsp:SymbolKind a owl:Class ;
    rdfs:label "SymbolKind" ;
    rdfs:comment "Enumeration of symbol kinds used in document and workspace symbol responses. Integer values 1-26. (LSP v3.17.0: SymbolKind)" .

ast-x:ClassDefinition a owl:Class ;
    rdfs:label "class definition" ;
    rdfs:comment "Any class, interface, struct, enum, trait, or module definition. Includes impl blocks (Rust) and type declarations (Go)." ;
    rdfs:subClassOf sem:Declaration ;
    owl:disjointWith ast-x:ImportStatement .

ast-x:FunctionDefinition a owl:Class ;
    rdfs:label "function definition" ;
    rdfs:comment "Any function, method, constructor, lambda, or closure definition. Used by multilspy to find all references." ;
    rdfs:subClassOf sem:Declaration ;
    owl:disjointWith ast-x:ClassDefinition,
        ast-x:ImportStatement .

ast-x:Parameter a owl:Class ;
    rdfs:label "parameter" ;
    rdfs:comment "Individual parameter within a function/method signature. Covers required, optional, typed, default, variadic, and destructured parameters. Children of an ast-x:ParameterList." ;
    rdfs:subClassOf sem:DataFlow ;
    owl:disjointWith ast-x:Assignment .

gh:PullRequest a owl:Class ;
    rdfs:label "PullRequest" ;
    rdfs:comment "Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary." ;
    rdfs:subClassOf gh-x:Item ;
    owl:disjointWith gh:IssueComment ;
    gh:openApiSchemaName "pull-request" .

elixir: a owl:Ontology ;
    rdfs:label "Elixir Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for elixir" ;
    owl:versionInfo "v0.25" ;
    elixir:abiVersion 14 ;
    elixir:fieldCount 9 ;
    elixir:languageName "None" ;
    elixir:nodeKindCount 235 .

gh:Organization a owl:Class ;
    rdfs:label "Organization" ;
    rdfs:comment "Organization Full" ;
    gh:openApiSchemaName "organization-full" .

gh:Repository a owl:Class ;
    rdfs:label "Repository" ;
    rdfs:comment "Full Repository" ;
    gh:openApiSchemaName "full-repository" .

go: a owl:Ontology ;
    rdfs:label "Go Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for go" ;
    owl:versionInfo "v0.25" ;
    go:abiVersion 15 ;
    go:fieldCount 35 ;
    go:languageName "go" ;
    go:nodeKindCount 219 .

javascript: a owl:Ontology ;
    rdfs:label "Javascript Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for javascript" ;
    owl:versionInfo "v0.25" ;
    javascript:abiVersion 15 ;
    javascript:fieldCount 36 ;
    javascript:languageName "javascript" ;
    javascript:nodeKindCount 265 .

python: a owl:Ontology ;
    rdfs:label "Python Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for python" ;
    owl:versionInfo "v0.25" ;
    python:abiVersion 15 ;
    python:fieldCount 32 ;
    python:languageName "python" ;
    python:nodeKindCount 275 .

c: a owl:Ontology ;
    rdfs:label "C Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for c" ;
    owl:versionInfo "v0.25" ;
    c:abiVersion 15 ;
    c:fieldCount 39 ;
    c:languageName "c" ;
    c:nodeKindCount 363 .

ruby: a owl:Ontology ;
    rdfs:label "Ruby Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for ruby" ;
    owl:versionInfo "v0.25" ;
    ruby:abiVersion 14 ;
    ruby:fieldCount 32 ;
    ruby:languageName "None" ;
    ruby:nodeKindCount 351 .

kotlin: a owl:Ontology ;
    rdfs:label "Kotlin Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for kotlin" ;
    owl:versionInfo "v0.25" ;
    kotlin:abiVersion 14 ;
    kotlin:fieldCount 4 ;
    kotlin:languageName "None" ;
    kotlin:nodeKindCount 360 .

java: a owl:Ontology ;
    rdfs:label "Java Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for java" ;
    owl:versionInfo "v0.25" ;
    java:abiVersion 14 ;
    java:fieldCount 40 ;
    java:languageName "None" ;
    java:nodeKindCount 321 .

scala: a owl:Ontology ;
    rdfs:label "Scala Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for scala" ;
    owl:versionInfo "v0.25" ;
    scala:abiVersion 14 ;
    scala:fieldCount 32 ;
    scala:languageName "None" ;
    scala:nodeKindCount 358 .

rust: a owl:Ontology ;
    rdfs:label "Rust Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for rust" ;
    owl:versionInfo "v0.25" ;
    rust:abiVersion 15 ;
    rust:fieldCount 31 ;
    rust:languageName "rust" ;
    rust:nodeKindCount 355 .

typescript: a owl:Ontology ;
    rdfs:label "Typescript Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for typescript" ;
    owl:versionInfo "v0.25" ;
    typescript:abiVersion 14 ;
    typescript:fieldCount 40 ;
    typescript:languageName "None" ;
    typescript:nodeKindCount 383 .

swift: a owl:Ontology ;
    rdfs:label "Swift Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for swift" ;
    owl:versionInfo "v0.25" ;
    swift:abiVersion 14 ;
    swift:fieldCount 46 ;
    swift:languageName "None" ;
    swift:nodeKindCount 552 .

dart: a owl:Ontology ;
    rdfs:label "Dart Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for dart" ;
    owl:versionInfo "v0.25" ;
    dart:abiVersion 15 ;
    dart:fieldCount 22 ;
    dart:languageName "dart" ;
    dart:nodeKindCount 525 .

cpp: a owl:Ontology ;
    rdfs:label "Cpp Grammar Ontology" ;
    rdfs:comment "Tree-sitter grammar ontology for cpp" ;
    owl:versionInfo "v0.25" ;
    cpp:abiVersion 14 ;
    cpp:fieldCount 53 ;
    cpp:languageName "None" ;
    cpp:nodeKindCount 570 .

ast:Node a owl:Class ;
    rdfs:label "Node" ;
    rdfs:comment "Base class for all tree-sitter AST nodes. All language-specific node types (e.g., lang:class_definition) are subclasses of this." .

