PREFIX gleif-L2: <https://www.gleif.org/ontology/L2/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

<https://www.gleif.org/ontology/Base/LegalEntityRelationship> a rdfs:Class .

gleif-L2:hasRelationshipStatus a rdf:Property ;
  rdfs:label "has relationship status" ;
  rdfs:comment "Indicates the status of the relationship (i.e., active, inactive)." ;
  rdfs:domain <https://www.gleif.org/ontology/Base/LegalEntityRelationship> ;
  rdfs:range gleif-L2:RelationshipStatus .

gleif-L2:hasChild a rdf:Property ;
  rdfs:label "has child" ;
  rdfs:comment "The entity that plays the child role." ;
  rdfs:domain <https://www.gleif.org/ontology/Base/LegalEntityRelationship> ;
  rdfs:range <https://www.gleif.org/ontology/Base/Entity> ;
  rdfs:subPropertyOf <https://www.gleif.org/ontology/Base/hasSource> .

gleif-L2:hasParent a rdf:Property ;
  rdfs:label "has parent" ;
  rdfs:comment "The entity that plays the parent role." ;
  rdfs:domain <https://www.gleif.org/ontology/Base/LegalEntityRelationship> ;
  rdfs:range <https://www.gleif.org/ontology/Base/Entity> ;
  rdfs:subPropertyOf <https://www.gleif.org/ontology/Base/hasTarget> .

gleif-L2:hasRelationshipPeriod a rdf:Property ;
  rdfs:label "has relationship period" ;
  rdfs:comment "The dates in this instance of Period indicate the duration of validity of the relationship itself, as distinct from any administrative or reporting aspects." ;
  rdfs:domain <https://www.gleif.org/ontology/Base/LegalEntityRelationship> ;
  rdfs:range <https://www.gleif.org/ontology/Base/Period> .

gleif-L2:RegistrationStatus a rdfs:Class ;
  rdfs:label "relationship registration status" ;
  rdfs:comment "The status of the legal entity's relationship record registration with the Managing LOU." ;
  rdfs:subClassOf <https://www.gleif.org/ontology/Base/RegistrationStatus> .

<https://www.gleif.org/ontology/Base/RegistryEntry> a rdfs:Class .

gleif-L2:DirectConsolidation a rdfs:Class ;
  rdfs:label "direct consolidation" ;
  rdfs:comment "The 'child' entity has its accounts fully consolidated by the 'parent' entity, in the sense given by the accounting standard(s) specified; the parent entity is the closest fully consolidating parent to the child entity in any applicable hierarchical ownership structure." ;
  rdfs:subClassOf gleif-L2:AccountingConsolidation .

gleif-L2:hasAccountingStandard a rdf:Property ;
  rdfs:label "has accounting standard" ;
  rdfs:comment "The accounting standard applied to determine the definition of e.g. ultimate or direct accounting consolidating parent for the relationship. The relevant accounting standard is that applicable to the 'parent' entity." ;
  rdfs:domain gleif-L2:AccountingConsolidation ;
  rdfs:range gleif-L2:AccountingStandard ;
  rdfs:subPropertyOf <https://www.gleif.org/ontology/Base/isQualifiedBy> .

<https://www.gleif.org/ontology/L1/LocalOperatingUnit> a rdfs:Class .

<https://www.gleif.org/ontology/L1/RegisteredEntity> a rdfs:Class .

<https://www.gleif.org/ontology/Base/Period> a rdfs:Class .

<https://www.gleif.org/ontology/L1/ValidationSourceKind> a rdfs:Class .

<https://www.gleif.org/ontology/Base/RegistrationStatus> a rdfs:Class .

gleif-L2:AccountingConsolidation a rdfs:Class ;
  rdfs:label "accounting consolidation" ;
  rdfs:comment "Accounting consolidation holds when '[in the] financial statements of a group [...] the assets, liabilities, equity, income, expenses and cash flows of the parent and its subsidiaries are presented as those of a single economic entity'." ;
  rdfs:subClassOf <https://www.gleif.org/ontology/Base/LegalEntityRelationship> .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object" .

gleif-L2:LegalEntityRelationshipRecord a rdfs:Class ;
  rdfs:label "legal entity relationship record" ;
  rdfs:comment "The Registration container element contains information specifying the LOU's administration of the relationship record." ;
  rdfs:subClassOf <https://www.gleif.org/ontology/Base/RegistryEntry> .

gleif-L2:hasValidationDocuments a rdf:Property ;
  rdfs:label "has validation documents" ;
  rdfs:comment "Type of source document(s) used for validating the relationship." ;
  rdfs:domain gleif-L2:LegalEntityRelationshipRecord ;
  rdfs:range gleif-L2:RelationshipValidationDocumentsKind .

gleif-L2:hasDocumentFilingPeriod a rdf:Property ;
  rdfs:label "has document filing period" ;
  rdfs:comment "The dates in this instance of Period indicate the validity period of a regulatory filing, accounting document, or other document demonstrating the relationship's validity" ;
  rdfs:domain gleif-L2:LegalEntityRelationshipRecord ;
  rdfs:range <https://www.gleif.org/ontology/Base/Period> .

gleif-L2:hasAccountingPeriod a rdf:Property ;
  rdfs:label "has accounting period" ;
  rdfs:comment "The dates in this Period indicate the accounting period covered by the most recent validation documents for this relationship." ;
  rdfs:domain gleif-L2:LegalEntityRelationshipRecord ;
  rdfs:range <https://www.gleif.org/ontology/Base/Period> .

gleif-L2:hasValidationReference a rdf:Property ;
  rdfs:label "has validation reference" ;
  rdfs:comment "A reference to a specific document or other source used as the basis of relationship validation for this relationship record." ;
  rdfs:domain gleif-L2:LegalEntityRelationshipRecord ;
  rdfs:range <https://w3id.org/linkml/Any> .

gleif-L2:hasValidationSources a rdf:Property ;
  rdfs:label "has validation sources" ;
  rdfs:comment "Level of relationship validation." ;
  rdfs:domain gleif-L2:LegalEntityRelationshipRecord ;
  rdfs:range <https://www.gleif.org/ontology/L1/ValidationSourceKind> .

<https://www.gleif.org/ontology/Base/Entity> a rdfs:Class .

gleif-L2:UltimateConsolidation a rdfs:Class ;
  rdfs:label "ultimate consolidation" ;
  rdfs:comment "The 'child' entity has its accounts fully consolidated by the 'parent' entity, in the sense given by the accounting standard(s) specified; the child entity is the most distant fully consolidating parent from the child entity in any applicable hierarchical ownership structure." ;
  rdfs:subClassOf gleif-L2:AccountingConsolidation .

gleif-L2:InternationalBranchRelationship a rdfs:Class ;
  rdfs:label "international branch relationship" ;
  rdfs:comment "Child is a lead international branch or international branch network outside of the head office’s jurisdiction. The Parent is the Head Office and MUST have an LEI." ;
  rdfs:subClassOf <https://www.gleif.org/ontology/Base/LegalEntityRelationship> .

<https://www.gleif.org/ontology/Base/hasInitialRegistrationDate> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://www.gleif.org/ontology/Base/hasLastUpdateDate> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://www.gleif.org/ontology/Base/hasNextRenewalDate> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://www.gleif.org/ontology/Base/hasRegistrationStatus> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://www.gleif.org/ontology/Base/hasSource> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://www.gleif.org/ontology/Base/hasTarget> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://www.gleif.org/ontology/Base/isQualifiedBy> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://www.gleif.org/ontology/Base/records> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://www.gleif.org/ontology/L1/hasManagingLOU> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

gleif-L2:hasSource a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

gleif-L2:AccountingStandard a rdfs:Class ;
  rdfs:label "accounting standard" ;
  rdfs:comment "the type of accounting standard used to source consolidation information, which is based on reported accounting roll-ups" .

gleif-L2:AccountingStandardIFRS a gleif-L2:AccountingStandard ;
  rdfs:label "IFRS" ;
  rdfs:comment "International Financial Reporting Standard (developed by the International Accounting Standards Board – IASB)" .

gleif-L2:AccountingStandardOtherAccountingStandard a gleif-L2:AccountingStandard ;
  rdfs:label "other accounting standard" ;
  rdfs:comment "A financial reporting (accounting) standard not otherwise listed in the latest version of the relationship data file format." .

gleif-L2:AccountingStandardUSGAAP a gleif-L2:AccountingStandard ;
  rdfs:label "US GAAP" ;
  rdfs:comment "United States-Generally Accepted Accounting Principles." .

gleif-L2:RelationshipStatus a rdfs:Class ;
  rdfs:label "relationship status" ;
  rdfs:comment "The status of the legal entities' relationship itself: active or inactive." .

gleif-L2:RelationshipStatusActive a gleif-L2:RelationshipStatus ;
  rdfs:label "active" ;
  rdfs:comment "As of the last report or update, the reporting legal entity reported that it is legally registered and/or operating, AND that the relationship detailed in this RelationshipRecord is still valid." .

gleif-L2:RelationshipStatusInactive a gleif-L2:RelationshipStatus ;
  rdfs:label "inactive" ;
  rdfs:comment "It has been determined that the relationship ended, e.g. because entity that reported this relationship is no longer legally registered and/or operating; or the relationship is no longer valid for other reasons" .

gleif-L2:RelationshipValidationDocumentsKind a rdfs:Class ;
  rdfs:label "relationship validation documents kind" ;
  rdfs:comment "Type of source document(s) used for validating the relationship." .

gleif-L2:RelationshipValidationDocumentsKindAccountsFiling a gleif-L2:RelationshipValidationDocumentsKind ;
  rdfs:label "accounts filing" ;
  rdfs:comment "A consolidated financial (accounting) statement, prepared and submitted to the relevant authority." .

gleif-L2:RelationshipValidationDocumentsKindContracts a gleif-L2:RelationshipValidationDocumentsKind ;
  rdfs:label "contracts" ;
  rdfs:comment "Other documents supporting the preparation of consolidated financial statements." .

gleif-L2:RelationshipValidationDocumentsKindOtherOfficialDocuments a gleif-L2:RelationshipValidationDocumentsKind ;
  rdfs:label "other official documents" ;
  rdfs:comment "Other official document(s) attesting to the validity of the relationship." .

gleif-L2:RelationshipValidationDocumentsKindRegulatoryFiling a gleif-L2:RelationshipValidationDocumentsKind ;
  rdfs:label "regulatory filing" ;
  rdfs:comment "An annual regulatory filing providing public information on parent relationships" .

gleif-L2:RelationshipValidationDocumentsKindSupportingDocuments a gleif-L2:RelationshipValidationDocumentsKind ;
  rdfs:label "supporting documents" ;
  rdfs:comment "Other documents supporting the preparation of consolidated financial statements." .
