@prefix vvc: <https://w3id.org/vvc#> .
@prefix schema: <https://schema.org/> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@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#> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix schema: <http://schema.org/> .
@prefix jsonld: <http://www.w3.org/ns/json-ld#> .

# Ontology definition
vvc: a owl:Ontology ;
    dc:title """Verifiable Vehicle Credentials v1.0"""@en ;
    dc:description """<div>
    <h2>Introduction to the Verifiable Vehicle Credentials Vocabulary</h2>
    <p>The Verifiable Vehicle Credentials Vocabulary provides a clear way to describe important information about vehicles and their ownership. This vocabulary simplifies communication about vehicles by ensuring everyone uses the same terms and definitions. By having a common language, misunderstandings can be reduced when sharing information about vehicles.</p>
    
    <p>This vocabulary is beneficial for many reasons. It allows for consistent data sharing between different parties involved in the vehicle industry. Whether it's a car manufacturer, dealership, insurance company, or government agency, everyone can have a shared understanding. This improves efficiency and helps to streamline processes, making it easier to handle vehicle credentials quickly and accurately.</p>
    
    <p>Various market verticals can benefit from using the Vehicle Credentials Vocabulary. Automotive manufacturers can standardize their vehicle specifications, while dealerships can provide better information to potential buyers. Insurance companies can use the vocabulary to assess risk and evaluate policies based on clear vehicle data. Additionally, government agencies can improve their record-keeping and make vehicle information more accessible to the public.</p>
    
    <p>Use cases for the vocabulary include vehicle registration, tracking ownership changes, and sharing technical specifications between manufacturers and dealerships. It is also valuable in managing insurance claims and assessing vehicle values. The vocabulary meets the requirements of being comprehensive and adaptable, which means it can evolve along with changes in the vehicle industry.</p>
    
    <p>In summary, the Vehicle Credentials Vocabulary is a powerful tool that brings clarity and consistency to the vehicle industry. By facilitating better communication and data sharing, this vocabulary can help a wide range of businesses and organizations work more effectively together. It sets the stage for improved operations and better customer experiences throughout the vehicle lifecycle.</p>
</div>"""^^rdf:HTML ;
    dc:abstract """The Vehicle Credentials Vocabulary is designed to help organize and share information about vehicles and their ownership. It includes terms and definitions that describe different aspects of vehicles, such as their specifications, registration details, insurance information, and ownership information. This vocabulary is useful for anyone involved with digital credentials related to vehicles, whether they are car owners, dealerships, or government agencies."""@en ;
    dc:date "2026-10-19"^^xsd:date ;
.

# Property definitions
vvc:bodyType a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:label "Body Type" ;
    rdfs:comment """<div>The Body Type property specifies the classification of a vehicle based on its physical design characteristics, such as sedan, coupe, SUV, or truck. This property is useful for vehicle identification, regulatory purposes, and consumer preferences.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:brand a rdf:Property, owl:ObjectProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:range schema:Organization ;
    rdfs:label "Brand" ;
    rdfs:comment """<div>The Brand property identifies the name of the brand associated with the vehicle, typically linked to the manufacturer. This property is vital for branding, marketing, and consumer identification purposes, helping customers recognize and select vehicles based on brand reputation.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:branding a rdf:Property ;
    rdfs:domain vvc:VehicleTitle ;
    rdfs:label "Branding" ;
    rdfs:comment """<div>One or more descriptive title brand labels, consistent with AAMVA terminology, such as 'Clear', 'Salvage', or 'Original Taxi'. These labels describe the vehicle's status, condition, or history and may affect ownership, insurance, or transferability.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:controlNumber a rdf:Property ;
    rdfs:domain vvc:VehicleTitle ;
    rdfs:label "Control Number" ;
    rdfs:comment """<div>The Control Number is a unique identifier assigned to a vehicle or related documentation for tracking and management purposes. This property helps in organizing records, facilitating audits, and ensuring that all vehicle credentials can be accurately referenced.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:coverageAmount a rdf:Property, owl:ObjectProperty ;
    rdfs:domain vvc:VehicleInsuranceInformation ;
    rdfs:range schema:MonetaryAmount ;
    rdfs:label "Coverage Amount" ;
    rdfs:comment """<div>The Coverage Amount property specifies the maximum sum that an insurance policy will pay in the event of a claim. This information is crucial for understanding the financial protection offered by the policy.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:coverageLimit a rdf:Property, owl:ObjectProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleInsuranceInformation vvc:ProofOfInsuranceCredential) ] ;
    rdfs:range vvc:CoverageLimit ;
    rdfs:label "Coverage Limit" ;
    rdfs:comment """<div>Links to one or more CoverageLimit instances, each describing a distinct coverage type and its per-person and/or per-accident monetary limits. Use in place of the single-valued vvc:coverageAmount when per-type regulatory breakdowns are required.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:coverageLimitPerAccident a rdf:Property, owl:ObjectProperty ;
    rdfs:domain vvc:CoverageLimit ;
    rdfs:range schema:MonetaryAmount ;
    rdfs:label "Coverage Limit Per Accident" ;
    rdfs:comment """<div>Maximum amount payable for all claims from a single accident. Applies to bodily injury (aggregate) and property damage. US state BI per-accident minimums range from $30,000 to $100,000; PD from $5,000 to $25,000. Canadian minimum third-party liability is CAD $200,000 in most provinces (CAD $500,000 NS; CAD $50,000 private portion QC). EU directive floor: €6,450,000 BI per accident; €1,300,000 PD per accident.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:coverageLimitPerPerson a rdf:Property, owl:ObjectProperty ;
    rdfs:domain vvc:CoverageLimit ;
    rdfs:range schema:MonetaryAmount ;
    rdfs:label "Coverage Limit Per Person" ;
    rdfs:comment """<div>Maximum amount payable for a single injured person in one accident. Applies primarily to bodily injury liability. Expressed as a schema:MonetaryAmount with schema:value and schema:currency (ISO 4217). US state minimums range from $15,000 (LA, PA) to $50,000 (AK, ME, MI, NC, VA). EU directive floor: €1,300,000 per victim.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:coverageType a rdf:Property ;
    rdfs:domain vvc:CoverageLimit ;
    rdfs:label "Coverage Type" ;
    rdfs:comment """<div>Code identifying the category of coverage for this CoverageLimit. Allowed values: "bodilyInjury" (BI; required in all US states except NH no-mandate and FL PIP-only; all Canadian provinces; all EU member states), "propertyDamage" (PD; required US/Canada/EU), "personalInjuryProtection" (PIP; mandatory in US no-fault states: DE, FL, HI, KS, KY, MA, MI, MN, NJ, NY, ND, OR, UT), "medicalPayments" (MedPay; required ME, NH, PA), "uninsuredMotorist" (UM; required ~22 US states), "underinsuredMotorist" (UIM), "accidentBenefits" (Canadian SABS; required most provinces), "directCompensationPropertyDamage" (DCPD; required AB, NB, NL, NS, ON, PE, QC), "civilLiability" (EU/CA general BI+PD term).</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:equipmentTrustNumber a rdf:Property ;
    rdfs:domain vvc:VehicleTitle ;
    rdfs:label "Equipment Trust Number" ;
    rdfs:comment """<div>The Equipment Trust Number is a unique identifier associated with the financing or leasing trust of a piece of equipment. This property is used to track and manage ownership and financial agreements related to the equipment, ensuring clarity in financial transactions and responsibilities.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:feeBasisYear a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain vvc:VehicleRegistration ;
    rdfs:range xsd:gYear ;
    rdfs:label "Fee Basis Year" ;
    rdfs:comment """<div>The year used with the VLF class to determine the Vehicle License Fee and its depreciation schedule. It is usually assigned when ownership changes, a nonresident purchases the vehicle, or an alteration places the vehicle in a different VLF class.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:feesPaid a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration) ] ;
    rdfs:label "Fees Paid" ;
    rdfs:comment """<div>The feesPaid property denotes the fees paid as part of the transaction, registration, insurance, or other event represented by a credential.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:firstSold a rdf:Property, owl:ObjectProperty ;
    rdfs:domain vvc:VehicleTitle ;
    rdfs:range vvc:FirstSaleInformation ;
    rdfs:label "First Sold" ;
    rdfs:comment """<div>The Purchase Date specifies the date on which a vehicle was acquired by the owner. This property is important for tracking ownership history, determining warranty eligibility, and assessing vehicle depreciation over time.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:fuelType a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration) ] ;
    rdfs:label "Fuel Type" ;
    rdfs:comment """<div>The Fuel Type property indicates the kind of fuel that a vehicle utilizes for operation, such as gasoline, diesel, electric, or hybrid. This information is crucial for consumers' energy choices, regulatory adherence, and environmental considerations.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:insuranceProvider a rdf:Property, owl:ObjectProperty ;
    rdfs:domain vvc:VehicleInsuranceInformation ;
    rdfs:range schema:Organization ;
    rdfs:label "Insurance Provider" ;
    rdfs:comment """<div>The Insurance Provider property identifies the company or organization that issues the insurance policy for the vehicle. This property is essential for managing policy details, facilitating claims processing, and ensuring compliance with insurance requirements.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:insuredAddress a rdf:Property, owl:ObjectProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleInsuranceInformation vvc:ProofOfInsuranceCredential) ] ;
    rdfs:range schema:PostalAddress ;
    rdfs:label "Insured Address" ;
    rdfs:comment """<div>The mailing address of the named insured as it appears on the policy. Required on most US insurance ID cards and Canadian pink slips. In the EU Green Card context this appears in Box 7 alongside the policyholder name.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:insurerCode a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleInsuranceInformation vvc:ProofOfInsuranceCredential) ] ;
    rdfs:label "Insurer Code" ;
    rdfs:comment """<div>The bureau or insurer code identifying the issuing insurance undertaking within the Green Card System (Council of Bureaux). Appears in Box 4 of the International Motor Insurance Certificate; the country prefix must match Box 1 and the insurer name in Box 8. Analogous to naicNumber in the US context.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:isInsured a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration) ] ;
    rdfs:label "Is Insured" ;
    rdfs:comment """<div>The isInsured property indicates whether the vehicle in question is covered under an insurance policy.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:issuingBureau a rdf:Property, owl:ObjectProperty ;
    rdfs:domain vvc:ProofOfInsuranceCredential ;
    rdfs:range schema:Organization ;
    rdfs:label "Issuing Bureau" ;
    rdfs:comment """<div>The national Green Card bureau responsible for issuing or countersigning the International Motor Insurance Certificate. Relevant for cross-border travel to non-EEA countries such as Turkey, Ukraine, Moldova, Switzerland, and Andorra, where the physical Green Card is required.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:jurisdiction a rdf:Property ;
    rdfs:domain vvc:VehicleTitle ;
    rdfs:label "Jurisdiction" ;
    rdfs:comment """<div>The jurisdiction that issued the vehicle's title. This property provides the jurisdictional context for interpreting titleNumber and verifying the title record.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:jurisdictionValidity a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleInsuranceInformation vvc:ProofOfInsuranceCredential) ] ;
    rdfs:label "Jurisdiction Validity" ;
    rdfs:comment """<div>ISO 3166-1 alpha-2 country code or ISO 3166-2 subdivision code identifying a jurisdiction where this coverage is legally valid (e.g. "US-CA" for California, "CA-ON" for Ontario, "FR" for France). Multiple values indicate multi-jurisdiction coverage. For EU Green Card purposes maps to the countries listed in Box 6; EEA member states are represented as a single grouped block.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:licensePlateIdentifier a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:label "License Plate Identifier" ;
    rdfs:comment """<div>The License Plate Identifier is a unique alphanumeric code assigned to a vehicle's license plate. This property is used to identify the vehicle on public roads and in legal documentation, aiding in tracking ownership, registration, and compliance with local regulations.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:licenseTypeCode a rdf:Property ;
    rdfs:domain vvc:VehicleRegistration ;
    rdfs:label "License Type Code" ;
    rdfs:comment """<div>A jurisdiction-specific code assigned by a vehicle registration authority to identify the type of license or registration associated with a vehicle or vessel. This is distinct from a vehicle type code, which classifies the vehicle itself.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:lienholder a rdf:Property, owl:ObjectProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:range schema:Person, schema:Organization ;
    rdfs:label "Lienholder" ;
    rdfs:comment """<div>The Lienholder property identifies the individual or organization that has a legal claim or interest in a vehicle due to a loan or other financial obligation. This property is crucial for understanding any existing liens on the vehicle, which may affect ownership rights and transferability.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:lienholderReleaseDate a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:range xsd:dateTime ;
    rdfs:label "Lienholder Release Date" ;
    rdfs:comment """<div>The Lienholder Release Date indicates the date on which a lienholder formally relinquishes their claim on a vehicle. This property is important for documenting the resolution of a lien and allowing for the clear transfer of ownership without encumbrances.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:make a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:label "Make" ;
    rdfs:comment """<div>A name that a manufacturer applies to a group of vehicles or engines.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:makeCode a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:label "Make Code" ;
    rdfs:comment """<div>The code a registration authority holds for the vehicle's make, as distinct from the make's trade name. In North America this is the four-character NCIC make code published by the FBI and administered for jurisdictions by AAMVA; it is the make value exchanged between vehicle registries and law enforcement, and it is the make field of record on a Canadian registration. A credential that carries only a trade name cannot be matched against a registry record without a lookup that the issuer has already performed.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:manufacturer a rdf:Property, owl:ObjectProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:range schema:Organization ;
    rdfs:label "Manufacturer" ;
    rdfs:comment """<div>The Manufacturer property identifies the organization responsible for producing the vehicle. This property is important for tracking the source of the vehicle, compliance with regulatory standards, and addressing any manufacturer recalls or warranties.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:minimumLegalCoverageConfirmed a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleInsuranceInformation vvc:ProofOfInsuranceCredential) ] ;
    rdfs:range xsd:boolean ;
    rdfs:label "Minimum Legal Coverage Confirmed" ;
    rdfs:comment """<div>Boolean indicating the insurer certifies that the policy meets or exceeds the minimum compulsory insurance required by the jurisdiction(s) in jurisdictionValidity. Corresponds to the "indication of compulsory insurance cover" required on EU certificates under Directive 2009/103/EC Article 16, and the implied attestation on US ID cards and Canadian pink slips.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:motivePower a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration) ] ;
    rdfs:label "Motive Power" ;
    rdfs:comment """<div>The motivePower property allows expression of a vehicle's propulsion mechanism.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:motorcycleEngineNumber a rdf:Property ;
    rdfs:domain vvc:VehicleTitle ;
    rdfs:label "Motorcycle Engine Number" ;
    rdfs:comment """<div>The Motorcycle Engine Number is a unique identifier assigned to the engine of a motorcycle. This property is essential for tracking engine specifications, verifying identity, and facilitating compliance with regulatory requirements regarding vehicle identification.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:naicNumber a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleInsuranceInformation vvc:ProofOfInsuranceCredential) ] ;
    rdfs:label "NAIC Number" ;
    rdfs:comment """<div>The National Association of Insurance Commissioners company code uniquely identifying the insurance carrier. Required on US insurance ID cards. Analogous to the EU Green Card insurer code (see insurerCode).</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:namedInsured a rdf:Property, owl:ObjectProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleInsuranceInformation vvc:ProofOfInsuranceCredential) ] ;
    rdfs:range schema:Person, schema:Organization ;
    rdfs:label "Named Insured" ;
    rdfs:comment """<div>The individual or legal entity explicitly named on the policy as the primary insured party. Required on US insurance ID cards, Canadian pink slips, and EU motor insurance certificates. Distinct from vvc:owner (registered owner) and vvc:policyHolder (contracting party) when these differ.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:numberOfAxles a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:range xsd:integer ;
    rdfs:label "Number of Axles" ;
    rdfs:comment """<div>The Number of Axles property specifies the total count of axles on a vehicle. This information is important for regulatory compliance, vehicle classification, and determining weight restrictions for transportation purposes.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:numberOfCylinders a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:label "Number of Cylinders" ;
    rdfs:comment """<div>The numberOfCylinders property denotes the number of cylinders in a vehicle's engine, if applicable.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:odometerReading a rdf:Property, owl:ObjectProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:range schema:Observation ;
    rdfs:label "Odometer Reading" ;
    rdfs:comment """<div>The Odometer Reading represents the total distance traveled by a vehicle as recorded by the vehicle's odometer. This property is useful for assessing the vehicle's usage, maintenance needs, and overall value in relation to age and condition.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:owner a rdf:Property, owl:ObjectProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:range schema:Person, schema:Organization ;
    rdfs:label "Owner" ;
    rdfs:comment """<div>The Owner property identifies the individual or organization that possesses legal rights to a vehicle. This property can be used to associate a vehicle with a person's name or an organization's entity, providing clear ownership information for registration and legal purposes.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:ownerSaleRequirements a rdf:Property ;
    rdfs:domain vvc:VehicleTitle ;
    rdfs:label "Owner Sale Requirements" ;
    rdfs:comment """<div>A detailed description of the conditions and requirements that a vehicle owner must fulfill to sell their vehicle. This may include documentation needed, compliance with legal regulations, and any restrictions or obligations associated with the sale, ensuring a lawful and smooth transfer of ownership.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:policyEndDate a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain vvc:VehicleInsuranceInformation ;
    rdfs:range xsd:dateTime ;
    rdfs:label "Policy End Date" ;
    rdfs:comment """<div>The Policy End Date specifies the date on which the insurance coverage expires. This property is important for tracking the need for policy renewal and ensuring continuous insurance coverage for the vehicle.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:policyHolder a rdf:Property ;
    rdfs:domain vvc:VehicleInsuranceInformation ;
    rdfs:label "Policy Holder" ;
    rdfs:comment """<div>The Policy Holder is the person or organization that holds the policy in question.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:policyNumber a rdf:Property ;
    rdfs:domain vvc:VehicleInsuranceInformation ;
    rdfs:label "Policy Number" ;
    rdfs:comment """<div>The Policy Number property refers to the unique identifier assigned to an insurance policy covering a vehicle. This property is essential for managing insurance details, facilitating claims processing, and ensuring compliance with mandatory insurance requirements.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:policyStartDate a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain vvc:VehicleInsuranceInformation ;
    rdfs:range xsd:dateTime ;
    rdfs:label "Policy Start Date" ;
    rdfs:comment """<div>The Policy Start Date indicates the date when the insurance coverage begins. This property is crucial for understanding the validity period of the policy and ensuring the vehicle is insured continuously.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:provenanceResource a rdf:Property, owl:ObjectProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:label "Provenance Resource" ;
    rdfs:comment """<div>A reference to the source or origin of information regarding a vehicle's history, ownership, and other relevant details. This property may contain links to documents, records, or databases that provide verification of the vehicle's lineage and legal standing, ensuring transparency and trust in vehicle-related transactions.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:purchaseDate a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration) ] ;
    rdfs:range xsd:date ;
    rdfs:label "Purchase Date" ;
    rdfs:comment """<div>The Purchase Date specifies the date on which a vehicle was acquired by the owner. This property is important for tracking ownership history, determining warranty eligibility, and assessing vehicle depreciation over time.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:registeringOrganization a rdf:Property, owl:ObjectProperty ;
    rdfs:domain vvc:VehicleRegistration ;
    rdfs:range schema:Organization ;
    rdfs:label "Registering Organization" ;
    rdfs:comment """<div>The Registering Organization property identifies the company or governmental entity responsible for the registration of the vehicle. This property is essential for verifying the legitimacy of the registration and for facilitating communication regarding registration matters.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:registrationExpirationDate a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain vvc:VehicleRegistration ;
    rdfs:range xsd:dateTime ;
    rdfs:label "Registration Expiration Date" ;
    rdfs:comment """<div>The Registration Expiration Date indicates the date on which the vehicle registration will become invalid unless renewed. This property is critical for ensuring compliance with registration requirements and avoiding penalties for operating an unregistered vehicle.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:registrationIssueDate a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain vvc:VehicleRegistration ;
    rdfs:range xsd:dateTime ;
    rdfs:label "Registration Issue Date" ;
    rdfs:comment """<div>The Registration Issue Date indicates the date on which the vehicle registration was processed.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:registrationStartDate a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain vvc:VehicleRegistration ;
    rdfs:range xsd:dateTime ;
    rdfs:label "Registration Start Date" ;
    rdfs:comment """<div>The Registration Start Date indicates when the vehicle's registration became effective. This property is important for tracking the registration timeline and ensuring compliance with regulatory requirements.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:titleIssueDate a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain vvc:VehicleTitle ;
    rdfs:range xsd:dateTime ;
    rdfs:label "Title Issue Date" ;
    rdfs:comment """<div>The date and time when the vehicle title was officially issued by the governing authority. This property records the moment the ownership of the vehicle was formally recognized and documented, serving as an important reference for ownership history and transactions.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:titleNumber a rdf:Property ;
    rdfs:domain vvc:VehicleTitle ;
    rdfs:label "Title Number" ;
    rdfs:comment """<div>The identifier used by the issuing jurisdiction to reference a vehicle's title. Its format is determined by that jurisdiction and may be derived from the title issue date.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:vehicleIdentificationNumber a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:label "Vehicle Identification Number" ;
    rdfs:comment """<div>A unique identifier assigned to a vehicle, commonly known as the Vehicle Identification Number (VIN). This number is used to track the vehicle's history, including ownership, registration, and insurance details. It is essential for verifying the vehicle's identity and is included in various official documents.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:vehicleModelDate a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:range xsd:date ;
    rdfs:label "Vehicle Model Date" ;
    rdfs:comment """<div>The Vehicle Model Date specifies the date associated with the specific model of a vehicle, indicating when the model was introduced or last updated. This property is important for understanding the model's manufacturing history, compliance with safety recalls, and assessing vehicle value.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:vehicleTypeCode a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:label "Vehicle Type Code" ;
    rdfs:comment """<div>The vehicleTypeCode property allows general expression of a vehicle's type classification.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:vesselType a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:label "Vessel Type" ;
    rdfs:comment """<div>The vesselType property allows expression of a watercraft's type classification.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:vlfClass a rdf:Property ;
    rdfs:domain vvc:VehicleRegistration ;
    rdfs:label "VLF Class" ;
    rdfs:comment """<div>A code identifying the vehicle value range used to determine a Vehicle License Fee (VLF).</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:weight a rdf:Property, owl:ObjectProperty ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:range schema:QuantitativeValue ;
    rdfs:label "Weight" ;
    rdfs:comment """<div>The Weight property indicates the mass of a vehicle, typically measured in kilograms or pounds. This information is crucial for compliance with transportation regulations, assessing performance metrics, and determining towing capacities.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:weightClass a rdf:Property ;
    rdfs:domain [ owl:unionOf (vvc:VehicleTitle vvc:VehicleRegistration vvc:VehicleInsuranceInformation) ] ;
    rdfs:label "Weight Class" ;
    rdfs:comment """<div>The weightClass property allows general expression of a vehicle's weight classification.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

# Class definitions
vvc:CoverageLimit a rdfs:Class ;
    rdfs:label "Coverage Limit" ;
    rdfs:comment """<div>A structured representation of a single insurance coverage type and its monetary limits. A ProofOfInsuranceCredential references one or more CoverageLimit instances — one per required coverage type (e.g. bodily injury, property damage, PIP, uninsured motorist). Each carries a coverageType code and per-person and/or per-accident monetary amounts.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:FirstSaleInformation a rdfs:Class ;
    rdfs:label "First Sale Information" ;
    rdfs:comment """<div>First Sale Information refers to the details regarding the initial sale or transfer of ownership of a vehicle. This class encompasses data such as the sale date, selling party, and purchasing party, which are vital for documenting the vehicle's ownership history.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:ProofOfInsuranceCredential a rdfs:Class ;
    rdfs:label "Proof of Insurance Credential" ;
    rdfs:comment """<div>A Verifiable Credential serving as legally recognized evidence that a vehicle carries the minimum compulsory third-party liability coverage required by the jurisdiction of operation. Equivalent to the insurance ID card (US), pink slip (Canada), national insurance certificate (EU), and International Motor Insurance Certificate / Green Card (EU cross-border). Extends VehicleInsuranceCredential with structured per-type coverage limits and jurisdiction validity fields.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:VehicleInsuranceCredential a rdfs:Class ;
    rdfs:label "Vehicle Insurance Credential" ;
    rdfs:comment """<div>A document that provides evidence of insurance coverage for a vehicle. This credential includes information such as the insurance policy number, the name of the insurance provider, coverage details, and the effective dates of the policy.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:VehicleInsuranceInformation a rdfs:Class ;
    rdfs:label "Vehicle Insurance Information" ;
    rdfs:comment """<div>Vehicle Insurance Information refers to the details regarding the insurance coverage for a vehicle, including policy numbers, insurance provider, and validity periods. This class ensures that relevant insurance data is linked with the vehicle for regulatory and risk management purposes.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:VehicleRegistration a rdfs:Class ;
    rdfs:label "Vehicle Registration" ;
    rdfs:comment """<div>A Vehicle Registration represents the official record of a vehicle's registration with a government authority. This class includes details such as the registration number, date of registration, and the name of the registered owner, as well as any pertinent registration status or expiration information.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:VehicleRegistrationCredential a rdfs:Class ;
    rdfs:label "Vehicle Registration Credential" ;
    rdfs:comment """<div>A document that verifies a vehicle's registration with a governmental authority. This credential includes details such as the vehicle identification number (VIN), registration number, the owner's information, and the registration's validity period. It serves as proof that the vehicle has been registered and is allowed to operate on public roads.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:VehicleTitle a rdfs:Class ;
    rdfs:label "Vehicle Title" ;
    rdfs:comment """<div>A Vehicle Title represents the legal document that establishes a person's or entity's ownership of a vehicle. This class includes information such as the title number, date of issue, and any relevant liens or encumbrances associated with the vehicle.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.

vvc:VehicleTitleCredential a rdfs:Class ;
    rdfs:label "Vehicle Title Credential" ;
    rdfs:comment """<div>A document that establishes ownership of a vehicle. This credential is issued by the appropriate authority and contains important information including the vehicle identification number (VIN), the owner's name, and any liens against the vehicle. It is used in various legal and financial transactions involving the vehicle.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <https://w3id.org/vvc#> ;
    vs:term_status "stable" ;
.



# Context files and their mentions
<vocab> a jsonld:Context ;
    schema:mentions
        schema:Certification,
        schema:MonetaryAmount,
        schema:Observation,
        schema:Organization,
        schema:Person,
        schema:PostalAddress,
        schema:QuantitativeValue,
        schema:about,
        schema:address,
        schema:addressLocality,
        schema:addressRegion,
        schema:certificationIdentification,
        schema:currency,
        schema:description,
        schema:hasCertification,
        schema:model,
        schema:name,
        schema:observationDate,
        schema:postalCode,
        schema:streetAddress,
        schema:unitCode,
        schema:value,
        schema:variableMeasured ;
.

<https://w3id.org/vvc> a jsonld:Context ;
    schema:mentions
        vvc:CoverageLimit,
        vvc:CoverageLimit,
        vvc:FirstSaleInformation,
        vvc:FirstSaleInformation,
        vvc:ProofOfInsuranceCredential,
        vvc:ProofOfInsuranceCredential,
        vvc:VehicleInsuranceCredential,
        vvc:VehicleInsuranceCredential,
        vvc:VehicleInsuranceInformation,
        vvc:VehicleInsuranceInformation,
        vvc:VehicleRegistration,
        vvc:VehicleRegistration,
        vvc:VehicleRegistrationCredential,
        vvc:VehicleRegistrationCredential,
        vvc:VehicleTitle,
        vvc:VehicleTitle,
        vvc:VehicleTitleCredential,
        vvc:VehicleTitleCredential,
        vvc:bodyType,
        vvc:bodyType,
        vvc:brand,
        vvc:brand,
        vvc:branding,
        vvc:branding,
        vvc:controlNumber,
        vvc:controlNumber,
        vvc:coverageAmount,
        vvc:coverageAmount,
        vvc:coverageLimit,
        vvc:coverageLimit,
        vvc:coverageLimitPerAccident,
        vvc:coverageLimitPerAccident,
        vvc:coverageLimitPerPerson,
        vvc:coverageLimitPerPerson,
        vvc:coverageType,
        vvc:coverageType,
        vvc:equipmentTrustNumber,
        vvc:equipmentTrustNumber,
        vvc:feeBasisYear,
        vvc:feeBasisYear,
        vvc:feesPaid,
        vvc:feesPaid,
        vvc:firstSold,
        vvc:firstSold,
        vvc:fuelType,
        vvc:fuelType,
        vvc:insuranceProvider,
        vvc:insuranceProvider,
        vvc:insuredAddress,
        vvc:insuredAddress,
        vvc:insurerCode,
        vvc:insurerCode,
        vvc:isInsured,
        vvc:isInsured,
        vvc:issuingBureau,
        vvc:issuingBureau,
        vvc:jurisdiction,
        vvc:jurisdiction,
        vvc:jurisdictionValidity,
        vvc:jurisdictionValidity,
        vvc:licensePlateIdentifier,
        vvc:licensePlateIdentifier,
        vvc:licenseTypeCode,
        vvc:licenseTypeCode,
        vvc:lienholder,
        vvc:lienholder,
        vvc:lienholderReleaseDate,
        vvc:lienholderReleaseDate,
        vvc:make,
        vvc:make,
        vvc:makeCode,
        vvc:makeCode,
        vvc:manufacturer,
        vvc:manufacturer,
        vvc:minimumLegalCoverageConfirmed,
        vvc:minimumLegalCoverageConfirmed,
        vvc:motivePower,
        vvc:motivePower,
        vvc:motorcycleEngineNumber,
        vvc:motorcycleEngineNumber,
        vvc:naicNumber,
        vvc:naicNumber,
        vvc:namedInsured,
        vvc:namedInsured,
        vvc:numberOfAxles,
        vvc:numberOfAxles,
        vvc:numberOfCylinders,
        vvc:numberOfCylinders,
        vvc:odometerReading,
        vvc:odometerReading,
        vvc:owner,
        vvc:owner,
        vvc:ownerSaleRequirements,
        vvc:ownerSaleRequirements,
        vvc:policyEndDate,
        vvc:policyEndDate,
        vvc:policyHolder,
        vvc:policyHolder,
        vvc:policyNumber,
        vvc:policyNumber,
        vvc:policyStartDate,
        vvc:policyStartDate,
        vvc:provenanceResource,
        vvc:provenanceResource,
        vvc:purchaseDate,
        vvc:purchaseDate,
        vvc:registeringOrganization,
        vvc:registeringOrganization,
        vvc:registrationExpirationDate,
        vvc:registrationExpirationDate,
        vvc:registrationIssueDate,
        vvc:registrationIssueDate,
        vvc:registrationStartDate,
        vvc:registrationStartDate,
        vvc:titleIssueDate,
        vvc:titleIssueDate,
        vvc:titleNumber,
        vvc:titleNumber,
        vvc:vehicleIdentificationNumber,
        vvc:vehicleIdentificationNumber,
        vvc:vehicleModelDate,
        vvc:vehicleModelDate,
        vvc:vehicleTypeCode,
        vvc:vehicleTypeCode,
        vvc:vesselType,
        vvc:vesselType,
        vvc:vlfClass,
        vvc:vlfClass,
        vvc:weight,
        vvc:weight,
        vvc:weightClass,
        vvc:weightClass ;
.

