@prefix rdf: . @prefix rdfs: . @prefix owl: . @prefix xsd: . @prefix skos: . @prefix dc: . @prefix dcterms: . @prefix prov: . @prefix sh: . @prefix vann: . # ── FIBO alignment prefixes ───────────────────────────────────────────────── @prefix fibo-fnd-pty-pty: . @prefix fibo-fnd-acc-cur: . @prefix fibo-fnd-dt-fd: . @prefix fibo-fbc-pas-caa: . @prefix fibo-sec-sec-id: . # ── Prism / project namespaces ─────────────────────────────────────────────── @prefix prism: . @prefix wp: . @prefix ins: . @prefix eq: . @prefix prov-wp: . @prefix shapes: . # ═══════════════════════════════════════════════════════════════════════════════ # ONTOLOGY HEADER # ═══════════════════════════════════════════════════════════════════════════════ a owl:Ontology ; owl:versionIRI ; owl:versionInfo "1.0.0" ; owl:imports ; dc:title "Prism Wealth Planning Ontology" ; dc:description """ Ontology for Insurance and Wealth Planning domain within the Prism knowledge graph platform. Covers clients, households, advisors, wealth plans, goals, financial accounts, assets, liabilities, insurance products, documents, and provenance metadata. Aligned with FIBO (Financial Industry Business Ontology) where applicable. """ ; dc:creator "Prism Architecture Team" ; dcterms:created "2025-01-01"^^xsd:date ; dcterms:modified "2025-06-01"^^xsd:date ; dcterms:license ; vann:preferredNamespacePrefix "wp" ; vann:preferredNamespaceUri "https://prism.example.org/ontology/wealth-planning/" ; rdfs:comment "Prism Wealth Planning Ontology v1.0.0 — design-approved, not yet in production." . # ═══════════════════════════════════════════════════════════════════════════════ # SECTION 1 – PARTY ENTITIES # Aligned to: FIBO FND Parties, LEI, ISO 20022 # ═══════════════════════════════════════════════════════════════════════════════ # ── 1.1 Client ──────────────────────────────────────────────────────────────── wp:Client a owl:Class ; rdfs:subClassOf fibo-fnd-pty-pty:Party ; rdfs:label "Client" ; skos:definition """ A natural person or legal entity that is the primary beneficiary of wealth-planning services and whose financial profile is managed within Prism. """ ; rdfs:comment "Maps to ISO 20022 Party / FIBO IndividualParty or LegalPerson." . wp:clientId a owl:DatatypeProperty ; rdfs:domain wp:Client ; rdfs:range xsd:string ; rdfs:label "client ID" ; skos:definition "Unique system identifier for a client (CRM or source-system key)." . wp:legalName a owl:DatatypeProperty ; rdfs:domain wp:Client ; rdfs:range xsd:string ; rdfs:label "legal name" ; skos:definition "Full legal name of the client as registered with the firm." . wp:dateOfBirth a owl:DatatypeProperty ; rdfs:domain wp:Client ; rdfs:range xsd:date ; rdfs:label "date of birth" . wp:taxResidencyJurisdiction a owl:DatatypeProperty ; rdfs:domain wp:Client ; rdfs:range xsd:string ; rdfs:label "tax residency jurisdiction" ; skos:definition "ISO 3166-1 alpha-2 country code of the client's tax domicile." . wp:riskProfileCategory a owl:DatatypeProperty ; rdfs:domain wp:Client ; rdfs:range wp:RiskProfileCategoryType ; rdfs:label "risk profile category" . wp:RiskProfileCategoryType a rdfs:Datatype ; owl:equivalentClass [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:enumeration "Conservative" ] [ xsd:enumeration "Moderately Conservative" ] [ xsd:enumeration "Moderate" ] [ xsd:enumeration "Moderately Aggressive" ] [ xsd:enumeration "Aggressive" ] ) ] . # ── 1.2 Household ───────────────────────────────────────────────────────────── wp:Household a owl:Class ; rdfs:subClassOf fibo-fnd-pty-pty:Party ; rdfs:label "Household" ; skos:definition """ A grouping of one or more clients (e.g. spouses, domestic partners, dependants) sharing financial planning objectives and potentially joint accounts. """ . wp:householdId a owl:DatatypeProperty ; rdfs:domain wp:Household ; rdfs:range xsd:string ; rdfs:label "household ID" . wp:householdName a owl:DatatypeProperty ; rdfs:domain wp:Household ; rdfs:range xsd:string ; rdfs:label "household name" . wp:hasMember a owl:ObjectProperty ; rdfs:domain wp:Household ; rdfs:range wp:Client ; rdfs:label "has member" ; skos:definition "Relates a Household to the Clients who are members of that household." ; owl:inverseOf wp:memberOf . wp:memberOf a owl:ObjectProperty ; rdfs:domain wp:Client ; rdfs:range wp:Household ; rdfs:label "member of" . wp:primaryClient a owl:ObjectProperty ; rdfs:subPropertyOf wp:hasMember ; rdfs:domain wp:Household ; rdfs:range wp:Client ; rdfs:label "primary client" ; skos:definition "The lead client for correspondence and plan ownership." . # ── 1.3 Advisor ─────────────────────────────────────────────────────────────── wp:Advisor a owl:Class ; rdfs:subClassOf fibo-fnd-pty-pty:Party ; rdfs:label "Advisor" ; skos:definition """ A licensed financial professional (wealth manager, financial planner, broker-dealer rep) responsible for managing client relationships and wealth plans. """ . wp:advisorId a owl:DatatypeProperty ; rdfs:domain wp:Advisor ; rdfs:range xsd:string ; rdfs:label "advisor ID" . wp:advisorLicenseNumber a owl:DatatypeProperty ; rdfs:domain wp:Advisor ; rdfs:range xsd:string ; rdfs:label "advisor license number" ; skos:definition "Regulatory license identifier (e.g. FINRA CRD, FCA FRN)." . wp:regulatoryDesignation a owl:DatatypeProperty ; rdfs:domain wp:Advisor ; rdfs:range xsd:string ; rdfs:label "regulatory designation" ; skos:example "CFP, CFA, ChFC, RIA" . wp:advisedBy a owl:ObjectProperty ; rdfs:domain wp:Client ; rdfs:range wp:Advisor ; rdfs:label "advised by" ; owl:inverseOf wp:advises . wp:advises a owl:ObjectProperty ; rdfs:domain wp:Advisor ; rdfs:range wp:Client ; rdfs:label "advises" . wp:assignedToHousehold a owl:ObjectProperty ; rdfs:domain wp:Advisor ; rdfs:range wp:Household ; rdfs:label "assigned to household" . # ═══════════════════════════════════════════════════════════════════════════════ # SECTION 2 – WEALTH PLAN ENTITIES # Aligned to: CFP Board Financial Planning Framework, ISO 22222 # ═══════════════════════════════════════════════════════════════════════════════ # ── 2.1 WealthPlan ──────────────────────────────────────────────────────────── wp:WealthPlan a owl:Class ; rdfs:label "Wealth Plan" ; skos:definition """ A comprehensive, time-bound financial plan prepared for a client or household, encompassing goals, scenarios, assets, liabilities, income projections, and recommended strategies. Analogous to ISO 22222 'Personal Financial Plan'. """ . wp:planId a owl:DatatypeProperty ; rdfs:domain wp:WealthPlan ; rdfs:range xsd:string ; rdfs:label "plan ID" . wp:planName a owl:DatatypeProperty ; rdfs:domain wp:WealthPlan ; rdfs:range xsd:string ; rdfs:label "plan name" . wp:planStatus a owl:DatatypeProperty ; rdfs:domain wp:WealthPlan ; rdfs:range xsd:string ; rdfs:label "plan status" ; skos:example "Draft | Active | Superseded | Archived" . wp:planEffectiveDate a owl:DatatypeProperty ; rdfs:domain wp:WealthPlan ; rdfs:range xsd:date ; rdfs:label "plan effective date" . wp:planExpiryDate a owl:DatatypeProperty ; rdfs:domain wp:WealthPlan ; rdfs:range xsd:date ; rdfs:label "plan expiry date" . wp:reviewFrequency a owl:DatatypeProperty ; rdfs:domain wp:WealthPlan ; rdfs:range xsd:string ; rdfs:label "review frequency" ; skos:example "Annual | Semi-Annual | Quarterly" . wp:hasWealthPlan a owl:ObjectProperty ; rdfs:domain wp:Household ; rdfs:range wp:WealthPlan ; rdfs:label "has wealth plan" ; owl:inverseOf wp:wealthPlanFor . wp:wealthPlanFor a owl:ObjectProperty ; rdfs:domain wp:WealthPlan ; rdfs:range wp:Household ; rdfs:label "wealth plan for" . wp:preparedBy a owl:ObjectProperty ; rdfs:domain wp:WealthPlan ; rdfs:range wp:Advisor ; rdfs:label "prepared by" . wp:derivedFromDocument a owl:ObjectProperty ; rdfs:domain wp:WealthPlan ; rdfs:range wp:Document ; rdfs:label "derived from document" ; skos:definition "The source document(s) that informed or produced this wealth plan." . # ── 2.2 PlanScenario ────────────────────────────────────────────────────────── wp:PlanScenario a owl:Class ; rdfs:label "Plan Scenario" ; skos:definition """ A what-if variant of a WealthPlan representing alternative assumptions (e.g. early retirement, different return rates, additional contributions). """ . wp:scenarioId a owl:DatatypeProperty ; rdfs:domain wp:PlanScenario ; rdfs:range xsd:string ; rdfs:label "scenario ID" . wp:scenarioName a owl:DatatypeProperty ; rdfs:domain wp:PlanScenario ; rdfs:range xsd:string ; rdfs:label "scenario name" . wp:scenarioType a owl:DatatypeProperty ; rdfs:domain wp:PlanScenario ; rdfs:range xsd:string ; rdfs:label "scenario type" ; skos:example "Base | Optimistic | Pessimistic | StressTest | Custom" . wp:hasScenario a owl:ObjectProperty ; rdfs:domain wp:WealthPlan ; rdfs:range wp:PlanScenario ; rdfs:label "has scenario" ; owl:inverseOf wp:scenarioOf . wp:scenarioOf a owl:ObjectProperty ; rdfs:domain wp:PlanScenario ; rdfs:range wp:WealthPlan ; rdfs:label "scenario of" . # ── 2.3 Goal ────────────────────────────────────────────────────────────────── wp:Goal a owl:Class ; rdfs:label "Financial Goal" ; skos:definition """ A specific, time-bound financial objective defined within a WealthPlan, such as retirement, education funding, home purchase, or estate transfer. """ . wp:goalId a owl:DatatypeProperty ; rdfs:domain wp:Goal ; rdfs:range xsd:string ; rdfs:label "goal ID" . wp:goalCategory a owl:DatatypeProperty ; rdfs:domain wp:Goal ; rdfs:range xsd:string ; rdfs:label "goal category" ; skos:example "Retirement | EducationFunding | HomePurchase | EmergencyFund | EstatePlanning | Charitable | BusinessSuccession | Other" . wp:targetDate a owl:DatatypeProperty ; rdfs:domain wp:Goal ; rdfs:range xsd:date ; rdfs:label "target date" . wp:targetAmount a owl:DatatypeProperty ; rdfs:domain wp:Goal ; rdfs:range xsd:decimal ; rdfs:label "target amount" ; skos:definition "Monetary target expressed in the plan's base currency." . wp:currency a owl:DatatypeProperty ; rdfs:domain wp:Goal ; rdfs:range xsd:string ; rdfs:label "currency" ; skos:definition "ISO 4217 three-letter currency code." . wp:goalPriority a owl:DatatypeProperty ; rdfs:domain wp:Goal ; rdfs:range xsd:integer ; rdfs:label "goal priority" ; skos:definition "Ordinal rank (1 = highest) within the WealthPlan." . wp:goalFundingProbability a owl:DatatypeProperty ; rdfs:domain wp:Goal ; rdfs:range xsd:decimal ; rdfs:label "goal funding probability" ; skos:definition "Monte Carlo or deterministic probability of achieving the goal (0.0–1.0)." . wp:hasGoal a owl:ObjectProperty ; rdfs:domain wp:WealthPlan ; rdfs:range wp:Goal ; rdfs:label "has goal" ; owl:inverseOf wp:goalOf . wp:goalOf a owl:ObjectProperty ; rdfs:domain wp:Goal ; rdfs:range wp:WealthPlan ; rdfs:label "goal of" . wp:goalAppliesInScenario a owl:ObjectProperty ; rdfs:domain wp:Goal ; rdfs:range wp:PlanScenario ; rdfs:label "goal applies in scenario" . # ── 2.4 Assumption ──────────────────────────────────────────────────────────── wp:Assumption a owl:Class ; rdfs:label "Planning Assumption" ; skos:definition """ A financial modelling assumption embedded in a PlanScenario, such as inflation rate, expected rate of return, tax rate, or income growth. """ . wp:assumptionType a owl:DatatypeProperty ; rdfs:domain wp:Assumption ; rdfs:range xsd:string ; rdfs:label "assumption type" ; skos:example "InflationRate | NominalReturn | RealReturn | TaxRate | IncomeGrowthRate | LongevityAge" . wp:assumptionValue a owl:DatatypeProperty ; rdfs:domain wp:Assumption ; rdfs:range xsd:decimal ; rdfs:label "assumption value" . wp:assumptionSource a owl:DatatypeProperty ; rdfs:domain wp:Assumption ; rdfs:range xsd:string ; rdfs:label "assumption source" ; skos:example "AdvisorJudgement | MarketConsensus | ActuarialTable | RegulatoryGuidance" . wp:hasAssumption a owl:ObjectProperty ; rdfs:domain wp:PlanScenario ; rdfs:range wp:Assumption ; rdfs:label "has assumption" . # ═══════════════════════════════════════════════════════════════════════════════ # SECTION 3 – FINANCIAL ACCOUNT, ASSET & LIABILITY ENTITIES # Aligned to: FIBO FBC Clients & Accounts, XBRL GL, ISO 20022 acmt.* # ═══════════════════════════════════════════════════════════════════════════════ # ── 3.1 Account ─────────────────────────────────────────────────────────────── wp:Account a owl:Class ; rdfs:subClassOf fibo-fbc-pas-caa:CustomerAccount ; rdfs:label "Financial Account" ; skos:definition """ A financial account held by or on behalf of a client at a custodian, broker-dealer, bank, or insurer. """ . wp:accountId a owl:DatatypeProperty ; rdfs:domain wp:Account ; rdfs:range xsd:string ; rdfs:label "account ID" . wp:accountNumber a owl:DatatypeProperty ; rdfs:domain wp:Account ; rdfs:range xsd:string ; rdfs:label "account number" . wp:accountType a owl:DatatypeProperty ; rdfs:domain wp:Account ; rdfs:range xsd:string ; rdfs:label "account type" ; skos:example "Brokerage | IRA | RothIRA | 401k | 529 | TrustAccount | BankSavings | BankChecking | Annuity | CorporateRetirement" . wp:accountStatus a owl:DatatypeProperty ; rdfs:domain wp:Account ; rdfs:range xsd:string ; rdfs:label "account status" ; skos:example "Active | Closed | Restricted | Suspended" . wp:custodianName a owl:DatatypeProperty ; rdfs:domain wp:Account ; rdfs:range xsd:string ; rdfs:label "custodian name" . wp:custodianLEI a owl:DatatypeProperty ; rdfs:domain wp:Account ; rdfs:range xsd:string ; rdfs:label "custodian LEI" ; skos:definition "Legal Entity Identifier (ISO 17442) of the account custodian." . wp:registrationType a owl:DatatypeProperty ; rdfs:domain wp:Account ; rdfs:range xsd:string ; rdfs:label "registration type" ; skos:example "Individual | Joint WROS | Joint TIC | TOD | Trust | Corporate | Custodial UGMA/UTMA" . wp:taxTreatment a owl:DatatypeProperty ; rdfs:domain wp:Account ; rdfs:range xsd:string ; rdfs:label "tax treatment" ; skos:example "Taxable | TaxDeferred | TaxExempt" . wp:holdsAccount a owl:ObjectProperty ; rdfs:domain wp:Client ; rdfs:range wp:Account ; rdfs:label "holds account" ; owl:inverseOf wp:accountHeldBy . wp:accountHeldBy a owl:ObjectProperty ; rdfs:domain wp:Account ; rdfs:range wp:Client ; rdfs:label "account held by" . wp:accountIncludedInPlan a owl:ObjectProperty ; rdfs:domain wp:Account ; rdfs:range wp:WealthPlan ; rdfs:label "account included in plan" . # ── 3.2 Holding ─────────────────────────────────────────────────────────────── wp:Holding a owl:Class ; rdfs:label "Holding" ; skos:definition """ A position in a specific financial instrument held within an Account, representing quantity, cost basis, and current valuation. """ . wp:holdingId a owl:DatatypeProperty ; rdfs:domain wp:Holding ; rdfs:range xsd:string ; rdfs:label "holding ID" . wp:isinCode a owl:DatatypeProperty ; rdfs:domain wp:Holding ; rdfs:range xsd:string ; rdfs:label "ISIN code" ; skos:definition "ISO 6166 International Securities Identification Number." . wp:tickerSymbol a owl:DatatypeProperty ; rdfs:domain wp:Holding ; rdfs:range xsd:string ; rdfs:label "ticker symbol" . wp:cusipCode a owl:DatatypeProperty ; rdfs:domain wp:Holding ; rdfs:range xsd:string ; rdfs:label "CUSIP code" . wp:quantity a owl:DatatypeProperty ; rdfs:domain wp:Holding ; rdfs:range xsd:decimal ; rdfs:label "quantity" . wp:marketValue a owl:DatatypeProperty ; rdfs:domain wp:Holding ; rdfs:range xsd:decimal ; rdfs:label "market value" . wp:costBasis a owl:DatatypeProperty ; rdfs:domain wp:Holding ; rdfs:range xsd:decimal ; rdfs:label "cost basis" . wp:assetClass a owl:DatatypeProperty ; rdfs:domain wp:Holding ; rdfs:range xsd:string ; rdfs:label "asset class" ; skos:example "Equity | FixedIncome | Cash | RealEstate | Alternative | Commodity | Crypto | PrivateEquity" . wp:valuationDate a owl:DatatypeProperty ; rdfs:domain wp:Holding ; rdfs:range xsd:date ; rdfs:label "valuation date" . wp:containsHolding a owl:ObjectProperty ; rdfs:domain wp:Account ; rdfs:range wp:Holding ; rdfs:label "contains holding" ; owl:inverseOf wp:holdingIn . wp:holdingIn a owl:ObjectProperty ; rdfs:domain wp:Holding ; rdfs:range wp:Account ; rdfs:label "holding in" . # ── 3.3 Asset ───────────────────────────────────────────────────────────────── wp:Asset a owl:Class ; rdfs:label "Asset" ; skos:definition """ A resource of economic value owned by or owed to a client, outside of or in addition to securities holdings (e.g. real estate, business interest, collectibles). """ . wp:assetId a owl:DatatypeProperty ; rdfs:domain wp:Asset ; rdfs:range xsd:string ; rdfs:label "asset ID" . wp:assetDescription a owl:DatatypeProperty ; rdfs:domain wp:Asset ; rdfs:range xsd:string ; rdfs:label "asset description" . wp:estimatedValue a owl:DatatypeProperty ; rdfs:domain wp:Asset ; rdfs:range xsd:decimal ; rdfs:label "estimated value" . wp:ownsAsset a owl:ObjectProperty ; rdfs:domain wp:Client ; rdfs:range wp:Asset ; rdfs:label "owns asset" . wp:assetIncludedInPlan a owl:ObjectProperty ; rdfs:domain wp:Asset ; rdfs:range wp:WealthPlan ; rdfs:label "asset included in plan" . # ── 3.4 Liability ───────────────────────────────────────────────────────────── wp:Liability a owl:Class ; rdfs:label "Liability" ; skos:definition """ A financial obligation owed by a client, such as a mortgage, student loan, auto loan, credit card balance, or tax obligation. """ . wp:liabilityId a owl:DatatypeProperty ; rdfs:domain wp:Liability ; rdfs:range xsd:string ; rdfs:label "liability ID" . wp:liabilityType a owl:DatatypeProperty ; rdfs:domain wp:Liability ; rdfs:range xsd:string ; rdfs:label "liability type" ; skos:example "Mortgage | HELOC | AutoLoan | StudentLoan | PersonalLoan | CreditCard | TaxObligation | BusinessDebt" . wp:outstandingBalance a owl:DatatypeProperty ; rdfs:domain wp:Liability ; rdfs:range xsd:decimal ; rdfs:label "outstanding balance" . wp:interestRate a owl:DatatypeProperty ; rdfs:domain wp:Liability ; rdfs:range xsd:decimal ; rdfs:label "interest rate" ; skos:definition "Annual interest rate expressed as a decimal (e.g. 0.065 for 6.5%)." . wp:maturityDate a owl:DatatypeProperty ; rdfs:domain wp:Liability ; rdfs:range xsd:date ; rdfs:label "maturity date" . wp:hasLiability a owl:ObjectProperty ; rdfs:domain wp:Client ; rdfs:range wp:Liability ; rdfs:label "has liability" ; owl:inverseOf wp:liabilityOf . wp:liabilityOf a owl:ObjectProperty ; rdfs:domain wp:Liability ; rdfs:range wp:Client ; rdfs:label "liability of" . wp:liabilityIncludedInPlan a owl:ObjectProperty ; rdfs:domain wp:Liability ; rdfs:range wp:WealthPlan ; rdfs:label "liability included in plan" . # ═══════════════════════════════════════════════════════════════════════════════ # SECTION 4 – INSURANCE ENTITIES # Aligned to: ACORD insurance standards, FIBO FBC, ISO 20022 # ═══════════════════════════════════════════════════════════════════════════════ # ── 4.1 InsuranceProduct ────────────────────────────────────────────────────── ins:InsuranceProduct a owl:Class ; rdfs:label "Insurance Product" ; skos:definition """ A category or line of insurance offered by an insurer, such as Whole Life, Term Life, Universal Life, Variable Annuity, Long-Term Care, or Disability Income insurance. """ . ins:productCode a owl:DatatypeProperty ; rdfs:domain ins:InsuranceProduct ; rdfs:range xsd:string ; rdfs:label "product code" . ins:productName a owl:DatatypeProperty ; rdfs:domain ins:InsuranceProduct ; rdfs:range xsd:string ; rdfs:label "product name" . ins:insuranceLineOfBusiness a owl:DatatypeProperty ; rdfs:domain ins:InsuranceProduct ; rdfs:range xsd:string ; rdfs:label "line of business" ; skos:example "Life | Annuity | LongTermCare | DisabilityIncome | PropertyCasualty | HealthMedical" . ins:underwriterLEI a owl:DatatypeProperty ; rdfs:domain ins:InsuranceProduct ; rdfs:range xsd:string ; rdfs:label "underwriter LEI" . # ── 4.2 InsurancePolicy ─────────────────────────────────────────────────────── ins:InsurancePolicy a owl:Class ; rdfs:label "Insurance Policy" ; skos:definition """ A contract between an insurer and one or more policyholders providing coverage against specified risks in exchange for premiums. Conforms to ACORD Policy object model. """ . ins:policyId a owl:DatatypeProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range xsd:string ; rdfs:label "policy ID" . ins:policyNumber a owl:DatatypeProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range xsd:string ; rdfs:label "policy number" . ins:policyStatus a owl:DatatypeProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range xsd:string ; rdfs:label "policy status" ; skos:example "InForce | Lapsed | Surrendered | Matured | Pending | Cancelled" . ins:issueDate a owl:DatatypeProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range xsd:date ; rdfs:label "issue date" . ins:policyEffectiveDate a owl:DatatypeProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range xsd:date ; rdfs:label "policy effective date" . ins:policyExpiryDate a owl:DatatypeProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range xsd:date ; rdfs:label "policy expiry date" . ins:premiumAmount a owl:DatatypeProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range xsd:decimal ; rdfs:label "premium amount" . ins:premiumFrequency a owl:DatatypeProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range xsd:string ; rdfs:label "premium frequency" ; skos:example "Monthly | Quarterly | SemiAnnual | Annual | SinglePremium" . ins:cashSurrenderValue a owl:DatatypeProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range xsd:decimal ; rdfs:label "cash surrender value" . ins:ofTypeProduct a owl:ObjectProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range ins:InsuranceProduct ; rdfs:label "of type product" . ins:policyHeldBy a owl:ObjectProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range wp:Client ; rdfs:label "policy held by" ; skos:definition "The policyholder (owner) of the insurance contract." . ins:policyIncludedInPlan a owl:ObjectProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range wp:WealthPlan ; rdfs:label "policy included in plan" . # ── 4.3 Coverage ────────────────────────────────────────────────────────────── ins:Coverage a owl:Class ; rdfs:label "Coverage" ; skos:definition """ A specific protection feature or benefit provided under an InsurancePolicy, such as death benefit, accelerated benefit, or long-term care benefit. """ . ins:coverageId a owl:DatatypeProperty ; rdfs:domain ins:Coverage ; rdfs:range xsd:string ; rdfs:label "coverage ID" . ins:coverageType a owl:DatatypeProperty ; rdfs:domain ins:Coverage ; rdfs:range xsd:string ; rdfs:label "coverage type" ; skos:example "DeathBenefit | LongTermCare | AcceleratedBenefit | DisabilityWaiverOfPremium | ReturnOfPremium" . ins:faceAmount a owl:DatatypeProperty ; rdfs:domain ins:Coverage ; rdfs:range xsd:decimal ; rdfs:label "face amount" ; skos:definition "Nominal death benefit or maximum benefit limit." . ins:coversRisk a owl:ObjectProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range ins:Coverage ; rdfs:label "covers risk" ; skos:definition "Links an InsurancePolicy to its constituent Coverage objects." ; owl:inverseOf ins:coverageUnder . ins:coverageUnder a owl:ObjectProperty ; rdfs:domain ins:Coverage ; rdfs:range ins:InsurancePolicy ; rdfs:label "coverage under" . ins:insuredParty a owl:ObjectProperty ; rdfs:domain ins:Coverage ; rdfs:range wp:Client ; rdfs:label "insured party" ; skos:definition "The person whose life, health, or property is the subject of coverage." . # ── 4.4 Rider ───────────────────────────────────────────────────────────────── ins:Rider a owl:Class ; rdfs:label "Policy Rider" ; skos:definition """ An amendment or endorsement to an InsurancePolicy that modifies or extends its base coverage (e.g. waiver of premium, guaranteed insurability, long-term care accelerated benefit rider). """ . ins:riderCode a owl:DatatypeProperty ; rdfs:domain ins:Rider ; rdfs:range xsd:string ; rdfs:label "rider code" . ins:riderDescription a owl:DatatypeProperty ; rdfs:domain ins:Rider ; rdfs:range xsd:string ; rdfs:label "rider description" . ins:riderPremium a owl:DatatypeProperty ; rdfs:domain ins:Rider ; rdfs:range xsd:decimal ; rdfs:label "rider premium" . ins:hasRider a owl:ObjectProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range ins:Rider ; rdfs:label "has rider" . # ── 4.5 Beneficiary ─────────────────────────────────────────────────────────── ins:Beneficiary a owl:Class ; rdfs:label "Beneficiary" ; skos:definition """ A person or entity designated to receive policy proceeds or account assets upon a triggering event (death, disability, maturity). """ . ins:beneficiaryType a owl:DatatypeProperty ; rdfs:domain ins:Beneficiary ; rdfs:range xsd:string ; rdfs:label "beneficiary type" ; skos:example "Primary | Contingent | Tertiary | Irrevocable" . ins:allocationPercentage a owl:DatatypeProperty ; rdfs:domain ins:Beneficiary ; rdfs:range xsd:decimal ; rdfs:label "allocation percentage" ; skos:definition "Share of proceeds allocated to this beneficiary (0.0–100.0)." . ins:hasBeneficiary a owl:ObjectProperty ; rdfs:domain ins:InsurancePolicy ; rdfs:range ins:Beneficiary ; rdfs:label "has beneficiary" . ins:beneficiaryIsClient a owl:ObjectProperty ; rdfs:domain ins:Beneficiary ; rdfs:range wp:Client ; rdfs:label "beneficiary is client" ; skos:definition "Links a Beneficiary record to a known Client entity in Prism." . # ═══════════════════════════════════════════════════════════════════════════════ # SECTION 5 – DOCUMENT & FILE ENTITIES # Aligned to: Dublin Core, PROV-O, schema.org DigitalDocument # ═══════════════════════════════════════════════════════════════════════════════ # ── 5.1 Document ────────────────────────────────────────────────────────────── wp:Document a owl:Class ; rdfs:subClassOf prov:Entity ; rdfs:label "Document" ; skos:definition """ A file or artefact ingested into Prism representing a wealth planning or insurance document (e.g. financial plan PDF, account statement, policy contract, KYC form). """ . wp:documentId a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "document ID" ; skos:definition "System-generated UUID assigned at ingestion time." . wp:documentTitle a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "document title" . wp:documentType a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "document type" ; skos:example "FinancialPlan | AccountStatement | PolicyContract | KYCForm | ProspectusStatement | TrustDocument | WillAndTestament | RetirementProjection | TaxReturn | ClientProposal | InvestmentPolicyStatement" . wp:mimeType a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "MIME type" ; skos:example "application/pdf | application/vnd.openxmlformats-officedocument.wordprocessingml.document | text/csv" . wp:fileHash a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "file hash" ; skos:definition "SHA-256 hex digest of the file content for integrity verification." . wp:fileSizeBytes a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:long ; rdfs:label "file size bytes" . wp:s3ObjectKey a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "S3 object key" ; skos:definition "AWS S3 fully-qualified object key (s3://bucket/path/to/file)." . wp:s3BucketName a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "S3 bucket name" . wp:sourceSystem a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "source system" ; skos:example "Salesforce | Orion | Envestnet | Redtail | DocuSign | Laser App | Manual Upload" . wp:ingestionTimestamp a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:dateTime ; rdfs:label "ingestion timestamp" ; skos:definition "UTC datetime when the document was ingested into Prism." . wp:uploadedByUser a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "uploaded by user" ; skos:definition "System user ID or email of the user who uploaded the document." . wp:department a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "department" ; skos:example "WealthPlanning | Insurance | Equity | Compliance" . wp:tenantId a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "tenant ID" ; skos:definition "Multi-tenancy discriminator for named-graph isolation in GraphDB / Neptune." . wp:classification a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "classification" ; skos:example "Public | Internal | Confidential | Restricted | PII" . wp:jurisdiction a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "jurisdiction" ; skos:definition "Regulatory jurisdiction governing the document (ISO 3166-1 alpha-2 or subdivision code)." . wp:effectiveDate a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:date ; rdfs:label "effective date" . wp:expiryDate a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:date ; rdfs:label "expiry date" . wp:retentionPolicyCode a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "retention policy code" ; skos:definition "Reference to the firm's document retention schedule (e.g. '7YR', 'PERMANENT')." . wp:embeddingModelVersion a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "embedding model version" ; skos:definition "Version identifier of the vector embedding model used for this document." . wp:vectorIndexNamespace a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "vector index namespace" ; skos:definition "Redis or Pinecone namespace where document vector embeddings are stored." . wp:pertainsToClient a owl:ObjectProperty ; rdfs:domain wp:Document ; rdfs:range wp:Client ; rdfs:label "pertains to client" . wp:pertainsToHousehold a owl:ObjectProperty ; rdfs:domain wp:Document ; rdfs:range wp:Household ; rdfs:label "pertains to household" . wp:ingestedFromSource a owl:ObjectProperty ; rdfs:domain wp:Document ; rdfs:range wp:SourceSystem ; rdfs:label "ingested from source" . wp:documentVersion a owl:DatatypeProperty ; rdfs:domain wp:Document ; rdfs:range xsd:string ; rdfs:label "document version" . wp:supersedes a owl:ObjectProperty ; rdfs:domain wp:Document ; rdfs:range wp:Document ; rdfs:label "supersedes" ; skos:definition "This document replaces a previous version of the same document." . # ── 5.2 DocumentChunk ───────────────────────────────────────────────────────── wp:DocumentChunk a owl:Class ; rdfs:subClassOf prov:Entity ; rdfs:label "Document Chunk" ; skos:definition """ A semantically coherent text segment extracted from a Document, used as the granular unit for vector embedding, retrieval, and evidence citations. """ . wp:chunkId a owl:DatatypeProperty ; rdfs:domain wp:DocumentChunk ; rdfs:range xsd:string ; rdfs:label "chunk ID" . wp:chunkSequenceNumber a owl:DatatypeProperty ; rdfs:domain wp:DocumentChunk ; rdfs:range xsd:integer ; rdfs:label "chunk sequence number" ; skos:definition "Ordinal position of the chunk within its parent document (0-indexed)." . wp:pageStart a owl:DatatypeProperty ; rdfs:domain wp:DocumentChunk ; rdfs:range xsd:integer ; rdfs:label "page start" . wp:pageEnd a owl:DatatypeProperty ; rdfs:domain wp:DocumentChunk ; rdfs:range xsd:integer ; rdfs:label "page end" . wp:chunkText a owl:DatatypeProperty ; rdfs:domain wp:DocumentChunk ; rdfs:range xsd:string ; rdfs:label "chunk text" ; skos:definition "Plain-text content of the chunk (may be omitted in production for storage efficiency)." . wp:vectorId a owl:DatatypeProperty ; rdfs:domain wp:DocumentChunk ; rdfs:range xsd:string ; rdfs:label "vector ID" ; skos:definition "Identifier of the embedding vector in the configured vector store." . wp:confidenceScore a owl:DatatypeProperty ; rdfs:domain wp:DocumentChunk ; rdfs:range xsd:decimal ; rdfs:label "confidence score" ; skos:definition "Extraction or retrieval confidence (0.0–1.0) assigned by the ingestion pipeline." . wp:hasChunk a owl:ObjectProperty ; rdfs:domain wp:Document ; rdfs:range wp:DocumentChunk ; rdfs:label "has chunk" ; owl:inverseOf wp:chunkOf . wp:chunkOf a owl:ObjectProperty ; rdfs:domain wp:DocumentChunk ; rdfs:range wp:Document ; rdfs:label "chunk of" . # ── 5.3 SourceSystem ────────────────────────────────────────────────────────── wp:SourceSystem a owl:Class ; rdfs:label "Source System" ; skos:definition "An upstream system from which documents or data are ingested into Prism." . wp:sourceSystemId a owl:DatatypeProperty ; rdfs:domain wp:SourceSystem ; rdfs:range xsd:string ; rdfs:label "source system ID" . wp:sourceSystemName a owl:DatatypeProperty ; rdfs:domain wp:SourceSystem ; rdfs:range xsd:string ; rdfs:label "source system name" . wp:sourceSystemType a owl:DatatypeProperty ; rdfs:domain wp:SourceSystem ; rdfs:range xsd:string ; rdfs:label "source system type" ; skos:example "CRM | PortfolioManagement | DocumentManagement | InsuranceAdmin | TaxPreparation | Custodian" . wp:sourceSystemBaseUrl a owl:DatatypeProperty ; rdfs:domain wp:SourceSystem ; rdfs:range xsd:anyURI ; rdfs:label "source system base URL" . # ═══════════════════════════════════════════════════════════════════════════════ # SECTION 6 – PROVENANCE ENTITIES # Aligned to: W3C PROV-O (prov:) # ═══════════════════════════════════════════════════════════════════════════════ prov-wp:IngestionRun a owl:Class ; rdfs:subClassOf prov:Activity ; rdfs:label "Ingestion Run" ; skos:definition """ A discrete execution of the Prism document ingestion pipeline, associated with a batch of documents from one or more source systems. """ . prov-wp:ingestionRunId a owl:DatatypeProperty ; rdfs:domain prov-wp:IngestionRun ; rdfs:range xsd:string ; rdfs:label "ingestion run ID" . prov-wp:pipelineVersion a owl:DatatypeProperty ; rdfs:domain prov-wp:IngestionRun ; rdfs:range xsd:string ; rdfs:label "pipeline version" . prov-wp:runStartTime a owl:DatatypeProperty ; rdfs:domain prov-wp:IngestionRun ; rdfs:range xsd:dateTime ; rdfs:label "run start time" . prov-wp:runEndTime a owl:DatatypeProperty ; rdfs:domain prov-wp:IngestionRun ; rdfs:range xsd:dateTime ; rdfs:label "run end time" . prov-wp:runStatus a owl:DatatypeProperty ; rdfs:domain prov-wp:IngestionRun ; rdfs:range xsd:string ; rdfs:label "run status" ; skos:example "Completed | Failed | PartialSuccess | Running" . prov-wp:producedByRun a owl:ObjectProperty ; rdfs:subPropertyOf prov:wasGeneratedBy ; rdfs:domain wp:Document ; rdfs:range prov-wp:IngestionRun ; rdfs:label "produced by run" . prov-wp:EvidenceSpan a owl:Class ; rdfs:subClassOf prov:Entity ; rdfs:label "Evidence Span" ; skos:definition """ A specific text span within a DocumentChunk that was used as evidence for an extracted entity, claim, or graph triple. Supports RAG citation. """ . prov-wp:spanStart a owl:DatatypeProperty ; rdfs:domain prov-wp:EvidenceSpan ; rdfs:range xsd:integer ; rdfs:label "span start" ; skos:definition "Character offset (inclusive) within the chunk text." . prov-wp:spanEnd a owl:DatatypeProperty ; rdfs:domain prov-wp:EvidenceSpan ; rdfs:range xsd:integer ; rdfs:label "span end" ; skos:definition "Character offset (exclusive) within the chunk text." . prov-wp:spanText a owl:DatatypeProperty ; rdfs:domain prov-wp:EvidenceSpan ; rdfs:range xsd:string ; rdfs:label "span text" . prov-wp:withinChunk a owl:ObjectProperty ; rdfs:domain prov-wp:EvidenceSpan ; rdfs:range wp:DocumentChunk ; rdfs:label "within chunk" . prov-wp:citedAs a owl:ObjectProperty ; rdfs:domain prov:Entity ; rdfs:range prov-wp:EvidenceSpan ; rdfs:label "cited as" ; skos:definition "Links any extracted entity or triple to the evidence span supporting it." . # ═══════════════════════════════════════════════════════════════════════════════ # SECTION 7 – NAMED GRAPH / TENANCY METADATA # ═══════════════════════════════════════════════════════════════════════════════ prism:NamedGraphDescriptor a owl:Class ; rdfs:label "Named Graph Descriptor" ; skos:definition """ A metadata node that describes a named graph within the GraphDB/Neptune repository, carrying tenancy, department, and security context. """ . prism:graphUri a owl:DatatypeProperty ; rdfs:domain prism:NamedGraphDescriptor ; rdfs:range xsd:anyURI ; rdfs:label "graph URI" . prism:graphDepartment a owl:DatatypeProperty ; rdfs:domain prism:NamedGraphDescriptor ; rdfs:range xsd:string ; rdfs:label "graph department" . prism:graphTenantId a owl:DatatypeProperty ; rdfs:domain prism:NamedGraphDescriptor ; rdfs:range xsd:string ; rdfs:label "graph tenant ID" . prism:graphClassification a owl:DatatypeProperty ; rdfs:domain prism:NamedGraphDescriptor ; rdfs:range xsd:string ; rdfs:label "graph classification" . prism:graphCreatedAt a owl:DatatypeProperty ; rdfs:domain prism:NamedGraphDescriptor ; rdfs:range xsd:dateTime ; rdfs:label "graph created at" . prism:iamRoleArn a owl:DatatypeProperty ; rdfs:domain prism:NamedGraphDescriptor ; rdfs:range xsd:string ; rdfs:label "IAM role ARN" ; skos:definition "AWS IAM Role ARN with read/write access to this named graph (Neptune context)." . # ═══════════════════════════════════════════════════════════════════════════════ # SECTION 8 – SHACL SHAPES (Minimum Viable Constraints) # ═══════════════════════════════════════════════════════════════════════════════ shapes:ClientShape a sh:NodeShape ; sh:targetClass wp:Client ; sh:property [ sh:path wp:clientId ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ; sh:name "client ID" ] ; sh:property [ sh:path wp:legalName ; sh:minCount 1 ; sh:datatype xsd:string ; sh:name "legal name" ] ; sh:property [ sh:path wp:tenantId ; sh:minCount 1 ; sh:datatype xsd:string ; sh:name "tenant ID" ] . shapes:WealthPlanShape a sh:NodeShape ; sh:targetClass wp:WealthPlan ; sh:property [ sh:path wp:planId ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path wp:wealthPlanFor ; sh:minCount 1 ; sh:class wp:Household ] ; sh:property [ sh:path wp:planStatus ; sh:minCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path wp:department ; sh:minCount 1 ; sh:datatype xsd:string ] . shapes:DocumentShape a sh:NodeShape ; sh:targetClass wp:Document ; sh:property [ sh:path wp:documentId ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path wp:documentType ; sh:minCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path wp:tenantId ; sh:minCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path wp:department ; sh:minCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path wp:fileHash ; sh:minCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path wp:ingestionTimestamp ; sh:minCount 1 ; sh:datatype xsd:dateTime ] ; sh:property [ sh:path wp:s3ObjectKey ; sh:minCount 1 ; sh:datatype xsd:string ] . shapes:InsurancePolicyShape a sh:NodeShape ; sh:targetClass ins:InsurancePolicy ; sh:property [ sh:path ins:policyId ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path ins:policyNumber ; sh:minCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path ins:policyHeldBy ; sh:minCount 1 ; sh:class wp:Client ] ; sh:property [ sh:path ins:ofTypeProduct ; sh:minCount 1 ; sh:class ins:InsuranceProduct ] ; sh:property [ sh:path ins:policyStatus ; sh:minCount 1 ; sh:datatype xsd:string ] . shapes:DocumentChunkShape a sh:NodeShape ; sh:targetClass wp:DocumentChunk ; sh:property [ sh:path wp:chunkId ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path wp:chunkOf ; sh:minCount 1 ; sh:class wp:Document ] ; sh:property [ sh:path wp:vectorId ; sh:minCount 1 ; sh:datatype xsd:string ] . # ═══════════════════════════════════════════════════════════════════════════════ # SECTION 9 – SKOS CONCEPT SCHEMES (Controlled Vocabularies) # ═══════════════════════════════════════════════════════════════════════════════ wp:DocumentTypeScheme a skos:ConceptScheme ; skos:prefLabel "Wealth Planning Document Types" ; dcterms:description "Controlled vocabulary of document types used in Wealth Planning ingestion." . wp:FinancialPlanDoc a skos:Concept ; skos:inScheme wp:DocumentTypeScheme ; skos:prefLabel "Financial Plan" ; skos:notation "FinancialPlan" . wp:AccountStatementDoc a skos:Concept ; skos:inScheme wp:DocumentTypeScheme ; skos:prefLabel "Account Statement" ; skos:notation "AccountStatement" . wp:PolicyContractDoc a skos:Concept ; skos:inScheme wp:DocumentTypeScheme ; skos:prefLabel "Policy Contract" ; skos:notation "PolicyContract" . wp:KYCFormDoc a skos:Concept ; skos:inScheme wp:DocumentTypeScheme ; skos:prefLabel "KYC / AML Form" ; skos:notation "KYCForm" . wp:InvestmentPolicyStatementDoc a skos:Concept ; skos:inScheme wp:DocumentTypeScheme ; skos:prefLabel "Investment Policy Statement" ; skos:notation "InvestmentPolicyStatement" . wp:TrustDocumentDoc a skos:Concept ; skos:inScheme wp:DocumentTypeScheme ; skos:prefLabel "Trust Document" ; skos:notation "TrustDocument" . wp:TaxReturnDoc a skos:Concept ; skos:inScheme wp:DocumentTypeScheme ; skos:prefLabel "Tax Return" ; skos:notation "TaxReturn" . wp:RetirementProjectionDoc a skos:Concept ; skos:inScheme wp:DocumentTypeScheme ; skos:prefLabel "Retirement Projection" ; skos:notation "RetirementProjection" . wp:AssetClassScheme a skos:ConceptScheme ; skos:prefLabel "Asset Class Taxonomy" ; dcterms:description "Controlled vocabulary of asset classes aligned to GICS / CFA Institute classifications." . wp:EquityAssetClass a skos:Concept ; skos:inScheme wp:AssetClassScheme ; skos:prefLabel "Equity" ; skos:notation "Equity" . wp:FixedIncomeAssetClass a skos:Concept ; skos:inScheme wp:AssetClassScheme ; skos:prefLabel "Fixed Income" ; skos:notation "FixedIncome" . wp:CashEquivalentAssetClass a skos:Concept ; skos:inScheme wp:AssetClassScheme ; skos:prefLabel "Cash & Equivalents" ; skos:notation "Cash" . wp:RealEstateAssetClass a skos:Concept ; skos:inScheme wp:AssetClassScheme ; skos:prefLabel "Real Estate" ; skos:notation "RealEstate" . wp:AlternativeAssetClass a skos:Concept ; skos:inScheme wp:AssetClassScheme ; skos:prefLabel "Alternatives" ; skos:notation "Alternative" . wp:PrivateEquityAssetClass a skos:Concept ; skos:inScheme wp:AssetClassScheme ; skos:prefLabel "Private Equity" ; skos:narrower wp:AlternativeAssetClass ; skos:notation "PrivateEquity" . # ═══════════════════════════════════════════════════════════════════════════════ # SECTION 10 – SAMPLE INSTANCE DATA (Illustrative / POC Only) # ═══════════════════════════════════════════════════════════════════════════════ # Named graph scope: # (In production, all triples below would be asserted within that named graph) a wp:Client ; wp:clientId "C-00123" ; wp:legalName "Jane A. Doe" ; wp:dateOfBirth "1972-04-15"^^xsd:date ; wp:taxResidencyJurisdiction "US" ; wp:riskProfileCategory "Moderate" ; wp:tenantId "tenant-001" ; wp:department "WealthPlanning" . a wp:Household ; wp:householdId "HH-00456" ; wp:householdName "Doe Family" ; wp:hasMember ; wp:tenantId "tenant-001" . a wp:Advisor ; wp:advisorId "ADV-007" ; wp:legalName "Robert M. Smith" ; wp:regulatoryDesignation "CFP" ; wp:advises . a wp:WealthPlan ; wp:planId "WP-2025-001" ; wp:planName "Doe Family Comprehensive Financial Plan 2025" ; wp:planStatus "Active" ; wp:planEffectiveDate "2025-01-01"^^xsd:date ; wp:planExpiryDate "2026-01-01"^^xsd:date ; wp:department "WealthPlanning" ; wp:tenantId "tenant-001" ; wp:wealthPlanFor ; wp:preparedBy . a wp:Goal ; wp:goalId "GOAL-R-001" ; wp:goalCategory "Retirement" ; wp:targetDate "2037-04-15"^^xsd:date ; wp:targetAmount "3500000"^^xsd:decimal ; wp:currency "USD" ; wp:goalPriority 1 ; wp:goalFundingProbability "0.82"^^xsd:decimal ; wp:goalOf . a wp:Document ; wp:documentId "DOC-98765" ; wp:documentTitle "Doe Family Financial Plan Q1 2025" ; wp:documentType "FinancialPlan" ; wp:mimeType "application/pdf" ; wp:fileHash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ; wp:fileSizeBytes "1048576"^^xsd:long ; wp:s3ObjectKey "s3://prism-docs/wealth-planning/tenant-001/DOC-98765.pdf" ; wp:s3BucketName "prism-docs" ; wp:sourceSystem "DocuSign" ; wp:ingestionTimestamp "2025-01-15T09:30:00Z"^^xsd:dateTime ; wp:uploadedByUser "advisor@firm.com" ; wp:department "WealthPlanning" ; wp:tenantId "tenant-001" ; wp:classification "Confidential" ; wp:jurisdiction "US-NY" ; wp:effectiveDate "2025-01-01"^^xsd:date ; wp:pertainsToClient ; wp:pertainsToHousehold . a ins:InsurancePolicy ; ins:policyId "POL-LIF-00012" ; ins:policyNumber "LIF-2020-00012" ; ins:policyStatus "InForce" ; ins:issueDate "2020-06-01"^^xsd:date ; ins:policyEffectiveDate "2020-07-01"^^xsd:date ; ins:premiumAmount "4200"^^xsd:decimal ; ins:premiumFrequency "Annual" ; ins:cashSurrenderValue "38000"^^xsd:decimal ; ins:policyHeldBy ; ins:policyIncludedInPlan . # ── End of ontology ───────────────────────────────────────────────────────────