@prefix party: . @prefix core: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix skos: . @prefix dct: . @prefix foaf: . @prefix vann: . ################################################################# # Ontology ################################################################# a owl:Ontology ; owl:versionIRI ; owl:versionInfo "1.0.0" ; dct:title "Chubb Party Ontology"@en ; dct:description "Reusable module defining the Party role-holder pattern. A Party is the n-ary reification of the association between an Agent (a Person or Organisation) and a Resource (a policy, claim, submission, account, or any other subject of interest), qualified by one or more roles drawn from a SKOS concept scheme and optionally bounded in time. This module deliberately defines only the Party abstraction and its properties. Resource, the agent hierarchy, and the role concept scheme members are defined in companion ontologies."@en ; dct:created "2026-07-27"^^xsd:date ; dct:modified "2026-07-27"^^xsd:date ; dct:publisher ; dct:license ; vann:preferredNamespaceUri "https://data.chubb.com/ontology/party#" ; vann:preferredNamespacePrefix "party" ; rdfs:seeAlso , . ################################################################# # Annotation property declarations (OWL 2 DL compliance) ################################################################# skos:prefLabel a owl:AnnotationProperty . skos:altLabel a owl:AnnotationProperty . skos:definition a owl:AnnotationProperty . skos:example a owl:AnnotationProperty . dct:description a owl:AnnotationProperty . dct:title a owl:AnnotationProperty . dct:created a owl:AnnotationProperty . dct:modified a owl:AnnotationProperty . dct:publisher a owl:AnnotationProperty . dct:license a owl:AnnotationProperty . dct:source a owl:AnnotationProperty . vann:preferredNamespaceUri a owl:AnnotationProperty . vann:preferredNamespacePrefix a owl:AnnotationProperty . ################################################################# # Externally defined classes (declared here, defined elsewhere) ################################################################# core:Resource a owl:Class ; rdfs:label "Resource"@en ; skos:prefLabel "Resource"@en ; dct:description "Any thing of interest to which parties may be attached — a policy, claim, submission, account, location, or agreement. Fully defined in the Chubb Core ontology; declared here only so that property domains and ranges resolve."@en ; rdfs:isDefinedBy . foaf:Agent a owl:Class ; rdfs:label "Agent"@en ; skos:prefLabel "Agent"@en ; dct:description "A person or organisation capable of acting. Referenced from FOAF; the Chubb agent hierarchy (Person, Organisation, legal entity subtypes) is defined in a companion ontology."@en ; rdfs:isDefinedBy . foaf:Person a owl:Class ; rdfs:subClassOf foaf:Agent ; rdfs:label "Person"@en ; skos:prefLabel "Person"@en ; dct:description "A natural person acting as the agent behind a party role."@en ; rdfs:isDefinedBy . foaf:Organization a owl:Class ; rdfs:subClassOf foaf:Agent ; rdfs:label "Organisation"@en ; skos:prefLabel "Organisation"@en ; skos:altLabel "Organization"@en ; dct:description "A legal entity or other organised body acting as the agent behind a party role."@en ; rdfs:isDefinedBy . skos:Concept a owl:Class ; rdfs:label "Concept"@en ; skos:prefLabel "Concept"@en ; dct:description "A term in a controlled vocabulary. Used here as the range of hasPartyRole; the role concepts themselves are defined in the party role concept scheme."@en ; rdfs:isDefinedBy . ################################################################# # Classes ################################################################# party:Party a owl:Class ; rdfs:label "Party"@en ; skos:prefLabel "Party"@en ; skos:altLabel "Party Role Assignment"@en , "Involved Party"@en ; dct:description "The reified involvement of exactly one Agent with exactly one Resource, qualified by at least one role. Party is a role-holder, not a legal entity: the same person or organisation may hold many Party instances across policies, claims and accounts, each carrying its own roles, effective dates and allocations. Modelling involvement this way keeps role-specific facts off the agent and lets an agent be, for example, both named insured on one policy and beneficiary on another."@en ; skos:example "Party #P-4471: agent = Acme Manufacturing Inc., resource = Policy 8812-B, role = Named Insured, effective 2026-01-01 to 2027-01-01."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty party:hasAgent ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:onClass foaf:Agent ] ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty party:isPartyOf ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:onClass core:Resource ] ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty party:hasPartyRole ; owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:onClass skos:Concept ] . party:PartyRoleScheme a owl:Class ; rdfs:subClassOf skos:ConceptScheme ; rdfs:label "Party Role Scheme"@en ; skos:prefLabel "Party Role Scheme"@en ; dct:description "A controlled vocabulary whose concepts are admissible values of hasPartyRole — for example named insured, additional insured, beneficiary, claimant, producer, payer. The scheme's members are maintained in a companion taxonomy so roles can be versioned independently of the ontology."@en ; rdfs:isDefinedBy . ################################################################# # Object properties ################################################################# party:hasParty a owl:ObjectProperty , owl:InverseFunctionalProperty ; rdfs:label "has party"@en ; skos:prefLabel "has party"@en ; dct:description "Relates a resource to a party involved in it. Inverse-functional because each Party belongs to exactly one Resource; a resource may have many parties."@en ; rdfs:domain core:Resource ; rdfs:range party:Party ; owl:inverseOf party:isPartyOf ; rdfs:isDefinedBy . party:isPartyOf a owl:ObjectProperty , owl:FunctionalProperty ; rdfs:label "is party of"@en ; skos:prefLabel "is party of"@en ; dct:description "Relates a party to the single resource whose context gives the involvement its meaning."@en ; rdfs:domain party:Party ; rdfs:range core:Resource ; owl:inverseOf party:hasParty ; rdfs:isDefinedBy . party:hasAgent a owl:ObjectProperty , owl:FunctionalProperty ; rdfs:label "has agent"@en ; skos:prefLabel "has agent"@en ; skos:altLabel "has party agent"@en ; dct:description "Relates a party to the person or organisation that stands behind the involvement. Functional: a party identifies exactly one agent. Two roles held by the same agent on the same resource may be carried by one party or split across two, depending on whether the roles share effective dates."@en ; rdfs:domain party:Party ; rdfs:range foaf:Agent ; owl:inverseOf party:isAgentOf ; rdfs:isDefinedBy . party:isAgentOf a owl:ObjectProperty ; rdfs:label "is agent of"@en ; skos:prefLabel "is agent of"@en ; dct:description "Relates a person or organisation to a party involvement it stands behind. Traversing this property from an agent yields every policy, claim and account the agent touches."@en ; rdfs:domain foaf:Agent ; rdfs:range party:Party ; owl:inverseOf party:hasAgent ; rdfs:isDefinedBy . party:hasPartyRole a owl:ObjectProperty ; rdfs:label "has party role"@en ; skos:prefLabel "has party role"@en ; dct:description "Relates a party to a role concept that characterises the involvement, such as named insured, beneficiary or claimant. A party may carry more than one role when the roles are co-extensive in time and allocation."@en ; rdfs:domain party:Party ; rdfs:range skos:Concept ; owl:inverseOf party:isPartyRoleOf ; rdfs:isDefinedBy . party:isPartyRoleOf a owl:ObjectProperty ; rdfs:label "is party role of"@en ; skos:prefLabel "is party role of"@en ; dct:description "Relates a role concept to the parties that carry it. Useful for role-driven retrieval such as every beneficiary across a book of business."@en ; rdfs:domain skos:Concept ; rdfs:range party:Party ; owl:inverseOf party:hasPartyRole ; rdfs:isDefinedBy . ################################################################# # Datatype properties ################################################################# party:partyIdentifier a owl:DatatypeProperty ; rdfs:label "party identifier"@en ; skos:prefLabel "party identifier"@en ; dct:description "The identifier assigned to this involvement by the system of record. Scoped to the source system, not globally unique; use the party IRI for global identity."@en ; rdfs:domain party:Party ; rdfs:range xsd:string ; rdfs:isDefinedBy . party:sourceSystemCode a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:label "source system code"@en ; skos:prefLabel "source system code"@en ; dct:description "Code of the administration system that asserted this party involvement, qualifying partyIdentifier and supporting lineage when the same involvement arrives from several feeds."@en ; rdfs:domain party:Party ; rdfs:range xsd:string ; rdfs:isDefinedBy . party:partyRoleCode a owl:DatatypeProperty ; rdfs:label "party role code"@en ; skos:prefLabel "party role code"@en ; dct:description "The raw role code as it appears in the source system, retained alongside the resolved hasPartyRole concept so that mappings stay auditable and unmapped codes remain visible."@en ; rdfs:domain party:Party ; rdfs:range xsd:string ; rdfs:isDefinedBy . party:effectiveFromDate a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:label "effective from date"@en ; skos:prefLabel "effective from date"@en ; dct:description "The date on which the involvement takes effect. Absent means effective from the inception of the related resource."@en ; rdfs:domain party:Party ; rdfs:range xsd:date ; rdfs:isDefinedBy . party:effectiveToDate a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:label "effective to date"@en ; skos:prefLabel "effective to date"@en ; dct:description "The date on which the involvement ceases. Absent means the involvement is open-ended and still current."@en ; rdfs:domain party:Party ; rdfs:range xsd:date ; rdfs:isDefinedBy . party:isPrimaryParty a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:label "is primary party"@en ; skos:prefLabel "is primary party"@en ; dct:description "Whether this involvement is the principal one for its role on the resource — the first named insured, the lead claimant. At most one party per role per resource should be primary; enforce with SHACL rather than OWL."@en ; rdfs:domain party:Party ; rdfs:range xsd:boolean ; rdfs:isDefinedBy . party:partySequenceNumber a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:label "party sequence number"@en ; skos:prefLabel "party sequence number"@en ; dct:description "Ordinal position of this involvement within its role on the resource, preserving source-system ordering for display and for tie-breaking among peers."@en ; rdfs:domain party:Party ; rdfs:range xsd:positiveInteger ; rdfs:isDefinedBy . party:allocationPercentage a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:label "allocation percentage"@en ; skos:prefLabel "allocation percentage"@en ; dct:description "Share of an amount attributable to this involvement, expressed from 0 to 100 — beneficiary splits, co-insured participations, commission shares. Sums across peer parties should reach 100; enforce with SHACL."@en ; rdfs:domain party:Party ; rdfs:range xsd:decimal ; rdfs:isDefinedBy . party:partyNote a owl:DatatypeProperty ; rdfs:label "party note"@en ; skos:prefLabel "party note"@en ; dct:description "Free-text underwriter or adjuster commentary about the involvement. Carries no inferential weight and should not be relied on for automated decisions."@en ; rdfs:domain party:Party ; rdfs:range xsd:string ; rdfs:isDefinedBy .