@prefix pbo: <https://ontology.property.local/pbo#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix prov: <http://www.w3.org/ns/prov#> .

<https://ontology.property.local/pbo> a owl:Ontology ;
    rdfs:label "Australian Property Investment, Accommodation and Operations Ontology"@en ;
    dcterms:title "Australian Property Investment, Accommodation and Operations Ontology"@en ;
    dcterms:description "Evidence-first ontology derived from the property-pages corpus: property assets and identifiers, parties and roles, agreements, accommodation and operating models, ownership structures, investment strategies, Australian regulatory regimes and authorisations with occupancy thresholds, tax rules with effective dates, business-planning artefacts, financial scenarios and metric values, risks and decision gates, property-management operations, agency business models and property data sources. Generated from build/build_model.py; see model.yaml for the term ledger."@en ;
    dcterms:creator "Ryan Ballantyne" ;
    dcterms:created "2026-09-14"^^xsd:date ;
    dcterms:modified "2026-09-14"^^xsd:date ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:source <file://property-pages/> ;
    owl:versionInfo "0.1.0" ;
    owl:versionIRI <https://ontology.property.local/pbo/0.1.0> ;
    rdfs:comment "OWL 2 DL. PROV-O, SKOS and DCTERMS are referenced by IRI without owl:imports (DEC-002)."@en .

# ---- Classes ----
pbo:Party a owl:Class ;
    rdfs:label "Party"@en ;
    rdfs:comment "A person, organisation or government body that can bear a role in relation to a property asset, agreement, authorisation or business activity."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf prov:Agent .

pbo:Person a owl:Class ;
    rdfs:label "Person"@en ;
    rdfs:comment "An individual human party, for example an owner-occupier renting rooms, an individual investor or a resident."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Party ;
    rdfs:subClassOf prov:Person .

pbo:Organisation a owl:Class ;
    rdfs:label "Organisation"@en ;
    rdfs:comment "A legal or business entity such as a company, trust, partnership, agency, franchisor, lender or insurer."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Party ;
    rdfs:subClassOf prov:Organization .

pbo:GovernmentBody a owl:Class ;
    rdfs:label "Government body"@en ;
    rdfs:comment "A public authority at federal, state or local level that legislates, regulates, registers, licenses, taxes or plans."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Organisation .

pbo:LocalCouncil a owl:Class ;
    rdfs:label "Local council"@en ;
    rdfs:comment "A local government authority administering a planning scheme, development approvals, premises registration and local compliance."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:GovernmentBody .

pbo:Regulator a owl:Class ;
    rdfs:label "Regulator"@en ;
    rdfs:comment "A government body that administers a regulatory regime, for example the Residential Tenancies Authority, the Australian Taxation Office or Consumer Affairs Victoria."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:GovernmentBody .

pbo:Business a owl:Class ;
    rdfs:label "Business"@en ;
    rdfs:comment "An organisation operating a commercial activity in property, such as a property-management agency, developer, operator or real-estate agency."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Organisation .

pbo:PropertyManagementBusiness a owl:Class ;
    rdfs:label "Property management business"@en ;
    rdfs:comment "A business that manages properties on behalf of owners under management agreements, holding a rent roll and providing leasing, rent collection, inspection, maintenance and reporting services."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Business .

pbo:Role a owl:Class ;
    rdfs:label "Role"@en ;
    rdfs:comment "A context-dependent capacity a party bears in relation to a property, agreement or activity (owner, investor, operator, landlord, tenant, resident, property manager, lender, insurer, developer, adviser). Roles are named individuals of this class, bound to parties through participations."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:Participation a owl:Class ;
    rdfs:label "Participation"@en ;
    rdfs:comment "The occurrence of a party bearing a role in a specific context (an agreement, property asset, development project or business), optionally bounded in time."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:PropertyAsset a owl:Class ;
    rdfs:label "Property asset"@en ;
    rdfs:comment "A parcel of land, building, dwelling, rentable unit or commercial premises that can be owned, leased, developed or operated."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:LandParcel a owl:Class ;
    rdfs:label "Land parcel"@en ;
    rdfs:comment "A legally identified parcel of land, described by a lot-on-plan and represented spatially in a cadastre."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:PropertyAsset .

pbo:Building a owl:Class ;
    rdfs:label "Building"@en ;
    rdfs:comment "A structure on land, classified for building-code purposes and containing one or more dwellings or units."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:PropertyAsset .

pbo:Dwelling a owl:Class ;
    rdfs:label "Dwelling"@en ;
    rdfs:comment "A self-contained residential unit of accommodation, whether a detached house, apartment, duplex half, dual-key section or secondary dwelling."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:PropertyAsset .

pbo:RentableUnit a owl:Class ;
    rdfs:label "Rentable unit"@en ;
    rdfs:comment "A room, studio, bed or tenancy unit let separately within a larger property, for example a rooming-house room, a coliving bed or a multi-tenant commercial unit."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:PropertyAsset .

pbo:CommercialPremises a owl:Class ;
    rdfs:label "Commercial premises"@en ;
    rdfs:comment "Property occupied for business purposes such as retail, office, industrial, healthcare or warehouse use."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:PropertyAsset .

pbo:Portfolio a owl:Class ;
    rdfs:label "Portfolio"@en ;
    rdfs:comment "A collection of property assets held or managed together by an investor or business, including a property manager's rent roll."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:PropertyIdentifier a owl:Class ;
    rdfs:label "Property identifier"@en ;
    rdfs:comment "An identifier that denotes a property asset within some identification scheme (address, lot-on-plan, title reference, cadastral parcel identifier, G-NAF address identifier)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:Address a owl:Class ;
    rdfs:label "Address"@en ;
    rdfs:comment "A postal or geocoded street address identifying a property."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:PropertyIdentifier .

pbo:LotOnPlanIdentifier a owl:Class ;
    rdfs:label "Lot-on-plan identifier"@en ;
    rdfs:comment "A Queensland-style legal land description consisting of a lot number and registered plan."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:PropertyIdentifier .

pbo:TitleReference a owl:Class ;
    rdfs:label "Title reference"@en ;
    rdfs:comment "The registered title identifier under which ownership and registered interests (mortgages, easements, covenants, leases, caveats) are recorded."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:PropertyIdentifier .

pbo:CadastralParcelIdentifier a owl:Class ;
    rdfs:label "Cadastral parcel identifier"@en ;
    rdfs:comment "The identifier of a parcel in the spatial cadastral fabric."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:PropertyIdentifier .

pbo:Jurisdiction a owl:Class ;
    rdfs:label "Jurisdiction"@en ;
    rdfs:comment "A geographic-legal area (nation, state, local government area, metropolitan region) within which a regulatory regime, tax rule or market statistic applies."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:Agreement a owl:Class ;
    rdfs:label "Agreement"@en ;
    rdfs:comment "A contract between two or more parties concerning the occupation, operation, management or use of a property asset, carrying term, rent, permitted use and allocation of obligations and risks."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:ResidentialTenancyAgreement a owl:Class ;
    rdfs:label "Residential tenancy agreement"@en ;
    rdfs:comment "A general tenancy agreement under which a tenant rents whole residential premises from a lessor."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Agreement .

pbo:RoomingAccommodationAgreement a owl:Class ;
    rdfs:label "Rooming accommodation agreement"@en ;
    rdfs:comment "An agreement under which a resident rents a room and shares facilities with a provider; in Queensland the prescribed form under the Residential Tenancies and Rooming Accommodation Act 2008."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Agreement .

pbo:HeadLease a owl:Class ;
    rdfs:label "Head lease (master lease)"@en ;
    rdfs:comment "A lease from the property owner to an operator who then sublets to residents or occupants; the operator pays fixed rent regardless of occupancy."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Agreement .

pbo:Sublease a owl:Class ;
    rdfs:label "Sublease"@en ;
    rdfs:comment "A letting by a head tenant or operator to an end tenant, resident or occupant of all or part of premises held under a head lease."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Agreement .

pbo:ManagementAgreement a owl:Class ;
    rdfs:label "Management agreement"@en ;
    rdfs:comment "An agreement under which an operator or property manager manages accommodation or property for an owner in return for a fee and/or revenue or profit share, without fixed head rent."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Agreement .

pbo:CorporateLease a owl:Class ;
    rdfs:label "Corporate lease"@en ;
    rdfs:comment "A lease of residential property to a company for occupation by its staff, typically furnished and serviced to a higher standard at a premium rent."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Agreement .

pbo:CommercialLease a owl:Class ;
    rdfs:label "Commercial lease"@en ;
    rdfs:comment "A lease of commercial premises between a lessor and a business lessee, characterised by lease type (gross, net, triple net), term, rent reviews, permitted use and outgoings allocation."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Agreement .

pbo:ContractClause a owl:Class ;
    rdfs:label "Contract clause"@en ;
    rdfs:comment "A provision within an agreement that allocates a specific right, obligation or contingency, such as subletting permission, break rights, rent escalation, make-good or co-tenancy relief."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:CoTenancyClause a owl:Class ;
    rdfs:label "Co-tenancy clause"@en ;
    rdfs:comment "A commercial-lease clause allowing a tenant to reduce rent or exercise other rights if an anchor tenant leaves or occupancy falls below an agreed level."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:ContractClause .

pbo:SublettingPermissionClause a owl:Class ;
    rdfs:label "Subletting permission clause"@en ;
    rdfs:comment "An express provision granting the tenant or operator authority to sublet or license the premises to others."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:ContractClause .

pbo:OutgoingAllocation a owl:Class ;
    rdfs:label "Outgoing allocation"@en ;
    rdfs:comment "The assignment of a category of property outgoing (taxes, insurance, maintenance, common-area costs, capital expenditure, utilities) to the party in a given role under a lease type."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:RegulatoryRegime a owl:Class ;
    rdfs:label "Regulatory regime"@en ;
    rdfs:comment "A coherent body of rules administered by a regulator under legislation in a jurisdiction that applies to an operating model or accommodation type, may set occupancy thresholds and may require authorisations before operation."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:Legislation a owl:Class ;
    rdfs:label "Legislation"@en ;
    rdfs:comment "A named statute, regulation, planning provision, code or ruling that establishes a regulatory regime or rule."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:LegalInstrument .

pbo:LegalInstrument a owl:Class ;
    rdfs:label "Legal instrument"@en ;
    rdfs:comment "An information artefact with legal effect, such as legislation, a prescribed form or a planning-scheme provision."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:InformationArtefact .

pbo:PrescribedForm a owl:Class ;
    rdfs:label "Prescribed form"@en ;
    rdfs:comment "A form mandated by a regulator for a specified agreement or notice, such as Queensland's Form R18 rooming accommodation agreement."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:LegalInstrument .

pbo:RegulatoryRule a owl:Class ;
    rdfs:label "Regulatory rule"@en ;
    rdfs:comment "A specific requirement, restriction or entitlement within a regime that has effective dates, such as a rent-increase frequency limit, a notice period, a levy or a tax deductibility rule."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:TaxRule a owl:Class ;
    rdfs:label "Tax rule"@en ;
    rdfs:comment "A regulatory rule about income tax, capital gains tax, GST, land tax or duty that applies to a class of property or taxpayer from an effective date, possibly with a grandfathering cut-off."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:RegulatoryRule .

pbo:OccupancyThreshold a owl:Class ;
    rdfs:label "Occupancy threshold"@en ;
    rdfs:comment "A numeric limit on residents, rooms, bedrooms, lettings or floor area that triggers, exempts or bounds the application of a regulatory regime."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:Authorisation a owl:Class ;
    rdfs:label "Authorisation"@en ;
    rdfs:comment "A planning approval, building approval, fire-safety certification, registration, accreditation or licence issued by a government body to a party for a property or operation under a regulatory regime, with a status and validity."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:PlanningApproval a owl:Class ;
    rdfs:label "Planning approval"@en ;
    rdfs:comment "A development or use approval under a local planning scheme permitting a stated use (for example rooming accommodation) on a site, or an exemption from needing one."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Authorisation .

pbo:BuildingApproval a owl:Class ;
    rdfs:label "Building approval"@en ;
    rdfs:comment "A building permit, classification change, occupancy approval or compliance notice confirming the building is approved for its intended class and use."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Authorisation .

pbo:FireSafetyCertification a owl:Class ;
    rdfs:label "Fire-safety certification"@en ;
    rdfs:comment "Documentation that the premises satisfy applicable fire-safety requirements (alarms, exits, emergency lighting, fire-safety management)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Authorisation .

pbo:ResidentialServiceRegistration a owl:Class ;
    rdfs:label "Residential service registration"@en ;
    rdfs:comment "Queensland registration required before operating a residential service accommodating four or more residents who separately pay for accommodation."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Authorisation .

pbo:AccommodationServiceAccreditation a owl:Class ;
    rdfs:label "Accommodation service accreditation"@en ;
    rdfs:comment "Queensland accreditation of a registered residential service (Level 1 accommodation; Levels 2-3 where food or personal care are provided), sought within three months of registration."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Authorisation .

pbo:RoomingHouseOperatorLicence a owl:Class ;
    rdfs:label "Rooming house operator licence"@en ;
    rdfs:comment "The Victorian licence a person or entity must hold before operating a rooming house under the Rooming House Operators Act 2016; one licence can cover multiple premises."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Authorisation .

pbo:RoomingHousePremisesRegistration a owl:Class ;
    rdfs:label "Rooming house premises registration"@en ;
    rdfs:comment "Victorian registration of each rooming-house premises with the local council under the public-health framework, separate from the operator licence."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Authorisation .

pbo:RealEstateAgentLicence a owl:Class ;
    rdfs:label "Real estate agent licence"@en ;
    rdfs:comment "A state licence or registration held by a property agent, salesperson or corporation, recorded in a public register such as the Queensland Office of Fair Trading register."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:Authorisation .

pbo:InvestmentStrategy a owl:Class ;
    rdfs:label "Investment strategy"@en ;
    rdfs:comment "A named approach to acquiring, holding, improving, operating or disposing of property to achieve return objectives (for example buy and hold, fix and flip, rooming house, dual income, small-scale development)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:OperatingModel a owl:Class ;
    rdfs:label "Operating model"@en ;
    rdfs:comment "A named arrangement of who controls the asset, who earns the operating revenue and who bears vacancy and fixed-cost risk (ownership, master lease / rent-to-rent, management or revenue share, hybrid/franchise, corporate leasing, single-lease rental)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:AccommodationType a owl:Class ;
    rdfs:label "Accommodation type"@en ;
    rdfs:comment "A named physical and occupancy configuration of accommodation (whole-house rental, rooming house / HMO, coliving, boarding house, share house, dual-income configurations, student accommodation, short-stay, single- or multi-tenant commercial)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:OwnershipStructure a owl:Class ;
    rdfs:label "Ownership structure"@en ;
    rdfs:comment "A legal vehicle through which property is held (individual, joint tenants, tenants in common, discretionary trust, unit trust, company, self-managed super fund)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:StructureCharacteristic a owl:Class ;
    rdfs:label "Structure characteristic"@en ;
    rdfs:comment "A stated tax, liability, distribution, financing, estate or administrative property of an ownership structure as described by a source."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:LeaseType a owl:Class ;
    rdfs:label "Lease type"@en ;
    rdfs:comment "A named commercial or residential lease structure distinguished by duration and outgoings allocation (short-term, long-term, shopping-centre/retail, gross, net, triple net)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:TenantConfiguration a owl:Class ;
    rdfs:label "Tenant configuration"@en ;
    rdfs:comment "Whether a property is occupied by a single tenant or by multiple tenants under separate leases."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:TenantSegment a owl:Class ;
    rdfs:label "Tenant segment"@en ;
    rdfs:comment "A demand group that an accommodation product targets (students, young professionals, essential workers, corporate staff, singles and couples, families, new arrivals, temporary workers)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:AgencyBusinessModel a owl:Class ;
    rdfs:label "Agency business model"@en ;
    rdfs:comment "An organisational structure for a real-estate agency (franchise, cooperative, joint venture, boutique, independent) with characteristic control and capability-sourcing patterns."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:BuildingClassification a owl:Class ;
    rdfs:label "Building classification"@en ;
    rdfs:comment "A National Construction Code building class (for example Class 1a, Class 1b, Class 3) that determines fire, egress and occupancy requirements."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:TaxClassification a owl:Class ;
    rdfs:label "Tax classification"@en ;
    rdfs:comment "A tax-law categorisation of a property activity or supply (rental investment, rental-property business, profit-making undertaking, input-taxed residential rent, commercial residential premises)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:AuthorisationType a owl:Class ;
    rdfs:label "Authorisation type"@en ;
    rdfs:comment "The kind of authorisation a regime requires (planning approval, building approval, fire-safety certification, registration, accreditation, operator licence, premises registration, agent licence)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:ThresholdKind a owl:Class ;
    rdfs:label "Threshold kind"@en ;
    rdfs:comment "What an occupancy threshold counts: residents, unrelated tenants, rooms rented, bedrooms, separate lettings, persons, floor area, dwellings."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:Metric a owl:Class ;
    rdfs:label "Metric"@en ;
    rdfs:comment "A named financial, operating or market measure (gross yield, net yield, NOI, cash-on-cash return, IRR, occupancy, economic vacancy, RevPAR, CAC, EBITDA, EBITDAR, DSCR, LVR, break-even occupancy, median rent, vacancy rate)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:RiskCategory a owl:Class ;
    rdfs:label "Risk category"@en ;
    rdfs:comment "A grouping of risks by nature (planning-use, building/fire, licensing, tenancy-law, vacancy/turnover, management intensity, insurance, interest-rate/refinancing, valuation/exit, construction-cost, tax-classification, policy, counterparty, market-cycle, data/privacy, key-person)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:OutgoingCategory a owl:Class ;
    rdfs:label "Outgoing category"@en ;
    rdfs:comment "A category of property operating cost that a lease may allocate: taxes/rates, insurance, maintenance, common-area maintenance, capital expenditure, utilities."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:DataAccessTier a owl:Class ;
    rdfs:label "Data access tier"@en ;
    rdfs:comment "The access model of a data source: open authoritative, public lookup or government paid, commercial API/extract, first-party, derived internally."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:PropertyAttribute a owl:Class ;
    rdfs:label "Property attribute"@en ;
    rdfs:comment "A kind of information about a property that a data source can supply (address, parcel boundary, zoning, overlay, flood exposure, school catchment, transport access, demographics, development application, transaction, listing, rent, ownership, title, valuation)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:DocumentSection a owl:Class ;
    rdfs:label "Document section"@en ;
    rdfs:comment "A named component that a business-planning artefact is recommended to contain (executive summary, market analysis, financial projections, risk and contingency, exit strategy, and so on)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:FeeModel a owl:Class ;
    rdfs:label "Fee model"@en ;
    rdfs:comment "The way a property-management service is charged: percentage of rent collected, flat fee, hybrid, letting fee, renewal fee, ancillary fees."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:CapabilitySourcing a owl:Class ;
    rdfs:label "Capability sourcing"@en ;
    rdfs:comment "How an organisation obtains a capability: owned internally, centralised, localised, outsourced, shared through a network, accessed through partnership (inbound/outbound open innovation)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:PropertyClass a owl:Class ;
    rdfs:label "Property class for tax purposes"@en ;
    rdfs:comment "A category of property to which a tax rule applies: new residential build, established residential, commercial residential premises, build-to-rent project, affordable housing."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:ProjectPhase a owl:Class ;
    rdfs:label "Project phase"@en ;
    rdfs:comment "A stage in a development or conversion project (acquisition screening, conditional due diligence, concept and approvals, construction, completion, operating approvals, lease-up, ongoing operation)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:Risk a owl:Class ;
    rdfs:label "Risk"@en ;
    rdfs:comment "An uncertain event or condition that, if it occurs, adversely affects a strategy, operating model, agreement, property or project, categorised and optionally mitigated."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:Mitigation a owl:Class ;
    rdfs:label "Mitigation"@en ;
    rdfs:comment "A control, action or diligence step recorded as reducing the likelihood or impact of a risk."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:DecisionGate a owl:Class ;
    rdfs:label "Decision gate"@en ;
    rdfs:comment "A go/no-go condition that must be satisfied before a project proceeds, such as the planning, building/fire, finance and operating gates for a rooming house."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:InformationArtefact a owl:Class ;
    rdfs:label "Information artefact"@en ;
    rdfs:comment "A document, dataset, model, plan, register or other information object produced or used in property business activity."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf prov:Entity .

pbo:BusinessPlan a owl:Class ;
    rdfs:label "Business plan"@en ;
    rdfs:comment "An internal strategy document describing a business's objectives, structure, market, strategy, operations, finances, risks and exit."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:InformationArtefact .

pbo:ProjectPlan a owl:Class ;
    rdfs:label "Project plan"@en ;
    rdfs:comment "A document describing a specific development project's site, scope, staging, milestones, team and delivery."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:InformationArtefact .

pbo:FeasibilityStudy a owl:Class ;
    rdfs:label "Feasibility study"@en ;
    rdfs:comment "A financial and technical assessment of whether a site and project are viable, covering income and cost streams, structure, risks and projected position."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:InformationArtefact .

pbo:InformationMemorandum a owl:Class ;
    rdfs:label "Information memorandum"@en ;
    rdfs:comment "An external document (typically 25-30 pages) presenting a development to investors or lenders with overview, location, plan, team, market, financial plan, offer and risk management."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:InformationArtefact .

pbo:FinancialModel a owl:Class ;
    rdfs:label "Financial model"@en ;
    rdfs:comment "A projection artefact containing income statement, cash flow, balance sheet, sources and uses, break-even, ROI/IRR and sensitivity analysis."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:InformationArtefact .

pbo:RiskRegister a owl:Class ;
    rdfs:label "Risk register"@en ;
    rdfs:comment "A structured list of risks with owner, likelihood, impact, mitigation, trigger and response."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:InformationArtefact .

pbo:ImplementationSchedule a owl:Class ;
    rdfs:label "Implementation schedule"@en ;
    rdfs:comment "A dated milestone schedule with role matrix, approval gates, governance cadence and reporting."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:InformationArtefact .

pbo:SourceDocument a owl:Class ;
    rdfs:label "Source document"@en ;
    rdfs:comment "A document in the property-pages corpus (scraped article, government page, forum thread, academic paper, synthesis or report) from which claims are drawn."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:InformationArtefact .

pbo:DataSource a owl:Class ;
    rdfs:label "Data source"@en ;
    rdfs:comment "A published dataset, register, API or service that supplies property attributes, identifiers or market statistics for a jurisdiction under an access tier and licence."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:InformationArtefact .

pbo:Workflow a owl:Class ;
    rdfs:label "Workflow"@en ;
    rdfs:comment "A documented operational process of a property business with trigger, responsible role, steps, decision points, records, service standard and escalation path."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf pbo:InformationArtefact .

pbo:Service a owl:Class ;
    rdfs:label "Service"@en ;
    rdfs:comment "A defined service a property-management business provides to landlords or tenants, such as tenant screening, lease preparation, rent collection, inspections, maintenance coordination or reporting."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:FinancialScenario a owl:Class ;
    rdfs:label "Financial scenario"@en ;
    rdfs:comment "A named set of underwriting assumptions applied to a property or project (project cost, leverage, interest, rooms, tariff, vacancy, operating-expense ratio, growth) that yields result metrics."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:MetricValue a owl:Class ;
    rdfs:label "Metric value"@en ;
    rdfs:comment "A value of a metric (numeric value, unit, basis note) as assumed in a scenario, computed as a result, or claimed by a source for a property, market or model."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

pbo:DevelopmentProject a owl:Class ;
    rdfs:label "Development project"@en ;
    rdfs:comment "An activity that acquires, converts, subdivides, builds or repositions property through phases from screening to operation, producing approvals, buildings and artefacts."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:subClassOf prov:Activity .

pbo:ThresholdEffect a owl:Class ;
    rdfs:label "Threshold effect"@en ;
    rdfs:comment "The regulatory consequence when an occupancy threshold is satisfied: the regime applies in full, applies in part, does not apply, a permit is exempt, or an authorisation becomes required."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> .

# ---- Restrictions ----
pbo:Participation rdfs:subClassOf [ a owl:Restriction ; owl:onProperty pbo:participant ; owl:someValuesFrom pbo:Party ] ,
    [ a owl:Restriction ; owl:onProperty pbo:inRole ; owl:someValuesFrom pbo:Role ] .
pbo:MetricValue rdfs:subClassOf [ a owl:Restriction ; owl:onProperty pbo:metric ; owl:someValuesFrom pbo:Metric ] .
pbo:HeadLease rdfs:subClassOf [ a owl:Restriction ; owl:onProperty pbo:fixedRent ; owl:hasValue true ] .

# ---- Disjointness ----
[] a owl:AllDisjointClasses ; owl:members ( pbo:Person pbo:Organisation ) .
[] a owl:AllDisjointClasses ; owl:members ( pbo:HeadLease pbo:Sublease pbo:ManagementAgreement ) .
[] a owl:AllDisjointClasses ; owl:members ( pbo:Agreement pbo:Authorisation pbo:PropertyAsset pbo:Party pbo:Participation pbo:MetricValue ) .

# ---- Object properties ----
pbo:hasParticipation a owl:ObjectProperty ;
    rdfs:label "has participation"@en ;
    rdfs:comment "Links an agreement, property asset, development project or business to a participation in which a party bears a role in that context."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:Participation ;
    owl:inverseOf pbo:participationContext .

pbo:participationContext a owl:ObjectProperty ;
    rdfs:label "participation context"@en ;
    rdfs:comment "The agreement, property asset, project or business in which the participation occurs."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Participation .

pbo:participant a owl:ObjectProperty, owl:FunctionalProperty ;
    rdfs:label "participant"@en ;
    rdfs:comment "The party bearing the role in a participation."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Participation ;
    rdfs:range pbo:Party .

pbo:inRole a owl:ObjectProperty, owl:FunctionalProperty ;
    rdfs:label "in role"@en ;
    rdfs:comment "The role borne by the participant in the participation."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Participation ;
    rdfs:range pbo:Role .

pbo:ownedBy a owl:ObjectProperty ;
    rdfs:label "owned by"@en ;
    rdfs:comment "Convenience shortcut stating the party that owns the property asset; equivalent in intent to a participation in the Owner role."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range pbo:Party .

pbo:managedBy a owl:ObjectProperty ;
    rdfs:label "managed by"@en ;
    rdfs:comment "Convenience shortcut stating the party that manages a property asset or portfolio on the owner's behalf."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:Party .

pbo:operatedBy a owl:ObjectProperty ;
    rdfs:label "operated by"@en ;
    rdfs:comment "Convenience shortcut stating the party that operates accommodation at the property (the operator, provider or head tenant)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range pbo:Party .

pbo:concernsAsset a owl:ObjectProperty ;
    rdfs:label "concerns asset"@en ;
    rdfs:comment "The property asset (or rentable unit) that an agreement, authorisation, scenario, risk or project concerns."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:PropertyAsset .

pbo:hasClause a owl:ObjectProperty ;
    rdfs:label "has clause"@en ;
    rdfs:comment "A clause contained in the agreement."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Agreement ;
    rdfs:range pbo:ContractClause .

pbo:leaseType a owl:ObjectProperty ;
    rdfs:label "classified by lease type"@en ;
    rdfs:comment "The lease-type classification of an agreement."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Agreement ;
    rdfs:range pbo:LeaseType .

pbo:agreementUnderHeadLease a owl:ObjectProperty ;
    rdfs:label "sublease under head lease"@en ;
    rdfs:comment "Links a sublease to the head lease from which the operator's right to sublet derives."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Sublease ;
    rdfs:range pbo:HeadLease .

pbo:permittedUse a owl:ObjectProperty ;
    rdfs:label "permitted use"@en ;
    rdfs:comment "The accommodation type or use the agreement permits."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Agreement ;
    rdfs:range pbo:AccommodationType .

pbo:allocatesOutgoing a owl:ObjectProperty ;
    rdfs:label "allocates outgoing"@en ;
    rdfs:comment "Links a lease type or agreement to an outgoing allocation."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:OutgoingAllocation .

pbo:outgoingCategory a owl:ObjectProperty ;
    rdfs:label "allocates outgoing category"@en ;
    rdfs:comment "The category of outgoing being allocated."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:OutgoingAllocation ;
    rdfs:range pbo:OutgoingCategory .

pbo:borneByRole a owl:ObjectProperty ;
    rdfs:label "borne by role"@en ;
    rdfs:comment "The role (landlord/lessor or tenant/lessee) that bears the allocated outgoing."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:OutgoingAllocation ;
    rdfs:range pbo:Role .

pbo:locatedIn a owl:ObjectProperty ;
    rdfs:label "located in"@en ;
    rdfs:comment "The jurisdiction in which a property asset is located."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range pbo:Jurisdiction .

pbo:withinJurisdiction a owl:ObjectProperty, owl:TransitiveProperty ;
    rdfs:label "within jurisdiction"@en ;
    rdfs:comment "Containment of one jurisdiction within a larger one (a local government area within a state within a nation)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Jurisdiction ;
    rdfs:range pbo:Jurisdiction .

pbo:hasIdentifier a owl:ObjectProperty ;
    rdfs:label "has identifier"@en ;
    rdfs:comment "A property identifier denoting the asset."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range pbo:PropertyIdentifier .

pbo:partOf a owl:ObjectProperty, owl:TransitiveProperty ;
    rdfs:label "part of"@en ;
    rdfs:comment "Mereological part relation between property assets (a room within a dwelling, a dwelling within a building, a building on a parcel)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range pbo:PropertyAsset .

pbo:inPortfolio a owl:ObjectProperty ;
    rdfs:label "in portfolio"@en ;
    rdfs:comment "The portfolio that holds or manages the asset."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range pbo:Portfolio .

pbo:heldUnder a owl:ObjectProperty ;
    rdfs:label "held under ownership structure"@en ;
    rdfs:comment "The ownership structure through which an asset or portfolio is held."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:OwnershipStructure .

pbo:hasCharacteristic a owl:ObjectProperty ;
    rdfs:label "has characteristic"@en ;
    rdfs:comment "A characteristic a source attributes to an ownership structure."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:OwnershipStructure ;
    rdfs:range pbo:StructureCharacteristic .

pbo:hasAccommodationType a owl:ObjectProperty ;
    rdfs:label "has accommodation type"@en ;
    rdfs:comment "The accommodation-type classification of a property asset or rentable unit."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range pbo:AccommodationType .

pbo:hasBuildingClassification a owl:ObjectProperty ;
    rdfs:label "has building classification"@en ;
    rdfs:comment "The building-code class of a building or dwelling."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range pbo:BuildingClassification .

pbo:intendedOperatingModel a owl:ObjectProperty ;
    rdfs:label "intended operating model"@en ;
    rdfs:comment "The operating model under which a property is, or is proposed to be, operated."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range pbo:OperatingModel .

pbo:tenantConfiguration a owl:ObjectProperty ;
    rdfs:label "uses tenant configuration"@en ;
    rdfs:comment "Whether the property is single- or multi-tenant."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range pbo:TenantConfiguration .

pbo:hasAuthorisation a owl:ObjectProperty ;
    rdfs:label "has authorisation"@en ;
    rdfs:comment "An authorisation held for, or required by, a property asset or party."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:Authorisation .

pbo:authorisationType a owl:ObjectProperty ;
    rdfs:label "has authorisation type"@en ;
    rdfs:comment "The kind of authorisation."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Authorisation ;
    rdfs:range pbo:AuthorisationType .

pbo:issuedBy a owl:ObjectProperty ;
    rdfs:label "issued by"@en ;
    rdfs:comment "The government body that issues or grants the authorisation."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Authorisation ;
    rdfs:range pbo:GovernmentBody .

pbo:authorisedParty a owl:ObjectProperty ;
    rdfs:label "authorised party"@en ;
    rdfs:comment "The party to whom the authorisation is granted (the operator, provider, licensee or applicant)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Authorisation ;
    rdfs:range pbo:Party .

pbo:underRegime a owl:ObjectProperty ;
    rdfs:label "under regime"@en ;
    rdfs:comment "The regulatory regime under which the authorisation is issued or the rule sits."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:RegulatoryRegime .

pbo:appliesIn a owl:ObjectProperty ;
    rdfs:label "applies in"@en ;
    rdfs:comment "The jurisdiction in which a regulatory regime or rule applies."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:Jurisdiction .

pbo:governedBy a owl:ObjectProperty ;
    rdfs:label "governed by"@en ;
    rdfs:comment "The legislation that establishes the regime or rule."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:Legislation .

pbo:administeredBy a owl:ObjectProperty ;
    rdfs:label "administered by"@en ;
    rdfs:comment "The regulator or government body that administers the regime."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:RegulatoryRegime ;
    rdfs:range pbo:GovernmentBody .

pbo:appliesToOperatingModel a owl:ObjectProperty ;
    rdfs:label "applies to operating model"@en ;
    rdfs:comment "An operating model to which the regime applies."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:RegulatoryRegime ;
    rdfs:range pbo:OperatingModel .

pbo:appliesToAccommodationType a owl:ObjectProperty ;
    rdfs:label "applies to accommodation type"@en ;
    rdfs:comment "An accommodation type to which the regime applies."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:RegulatoryRegime ;
    rdfs:range pbo:AccommodationType .

pbo:requiresAuthorisationType a owl:ObjectProperty ;
    rdfs:label "requires authorisation type"@en ;
    rdfs:comment "A kind of authorisation that must be obtained before operating under the regime."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:RegulatoryRegime ;
    rdfs:range pbo:AuthorisationType .

pbo:hasThreshold a owl:ObjectProperty ;
    rdfs:label "has threshold"@en ;
    rdfs:comment "An occupancy or size threshold that triggers, exempts or bounds the regime."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:RegulatoryRegime ;
    rdfs:range pbo:OccupancyThreshold .

pbo:thresholdKind a owl:ObjectProperty, owl:FunctionalProperty ;
    rdfs:label "has threshold kind"@en ;
    rdfs:comment "What the threshold counts."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:OccupancyThreshold ;
    rdfs:range pbo:ThresholdKind .

pbo:hasRule a owl:ObjectProperty ;
    rdfs:label "has rule"@en ;
    rdfs:comment "A specific rule within the regime."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:RegulatoryRegime ;
    rdfs:range pbo:RegulatoryRule .

pbo:appliesToPropertyClass a owl:ObjectProperty ;
    rdfs:label "applies to property class"@en ;
    rdfs:comment "The class of property (new build, established, commercial residential, build-to-rent) to which a tax rule applies."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:TaxRule ;
    rdfs:range pbo:PropertyClass .

pbo:hasTaxClassification a owl:ObjectProperty ;
    rdfs:label "has tax classification"@en ;
    rdfs:comment "The tax classification attributed to an activity, party, property or supply."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:TaxClassification .

pbo:prescribesForm a owl:ObjectProperty ;
    rdfs:label "prescribes form"@en ;
    rdfs:comment "A prescribed form required by the regime for an agreement or notice."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:RegulatoryRegime ;
    rdfs:range pbo:PrescribedForm .

pbo:strategyUsesOperatingModel a owl:ObjectProperty ;
    rdfs:label "strategy uses operating model"@en ;
    rdfs:comment "An operating model on which the investment strategy relies."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:InvestmentStrategy ;
    rdfs:range pbo:OperatingModel .

pbo:strategyUsesAccommodationType a owl:ObjectProperty ;
    rdfs:label "strategy uses accommodation type"@en ;
    rdfs:comment "An accommodation type on which the investment strategy relies."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:InvestmentStrategy ;
    rdfs:range pbo:AccommodationType .

pbo:targetsTenantSegment a owl:ObjectProperty ;
    rdfs:label "targets tenant segment"@en ;
    rdfs:comment "A tenant segment that a strategy, accommodation type or property targets."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:TenantSegment .

pbo:hasStrategy a owl:ObjectProperty ;
    rdfs:label "has strategy"@en ;
    rdfs:comment "The investment strategy applied to a portfolio, asset or project."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:InvestmentStrategy .

pbo:hasRisk a owl:ObjectProperty ;
    rdfs:label "has risk"@en ;
    rdfs:comment "A risk that applies to the subject (strategy, operating model, agreement, property, project or business)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:Risk .

pbo:riskCategory a owl:ObjectProperty ;
    rdfs:label "classified in risk category"@en ;
    rdfs:comment "The category of the risk."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Risk ;
    rdfs:range pbo:RiskCategory .

pbo:mitigatedBy a owl:ObjectProperty ;
    rdfs:label "mitigated by"@en ;
    rdfs:comment "A mitigation recorded for the risk."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Risk ;
    rdfs:range pbo:Mitigation .

pbo:hasDecisionGate a owl:ObjectProperty ;
    rdfs:label "has decision gate"@en ;
    rdfs:comment "A decision gate that must be passed for the subject (strategy or project)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:DecisionGate .

pbo:gateRequiresAuthorisationType a owl:ObjectProperty ;
    rdfs:label "gate requires authorisation type"@en ;
    rdfs:comment "An authorisation type whose confirmation satisfies the decision gate."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:DecisionGate ;
    rdfs:range pbo:AuthorisationType .

pbo:hasMetricValue a owl:ObjectProperty ;
    rdfs:label "has metric value"@en ;
    rdfs:comment "A metric value describing the subject (property, portfolio, market claim, scenario)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:MetricValue .

pbo:assumes a owl:ObjectProperty ;
    rdfs:label "assumes"@en ;
    rdfs:comment "A metric value used as an input assumption of the scenario."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:FinancialScenario ;
    rdfs:range pbo:MetricValue .

pbo:yields a owl:ObjectProperty ;
    rdfs:label "yields"@en ;
    rdfs:comment "A metric value produced as a result of the scenario."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:FinancialScenario ;
    rdfs:range pbo:MetricValue .

pbo:metric a owl:ObjectProperty, owl:FunctionalProperty ;
    rdfs:label "measures metric"@en ;
    rdfs:comment "The metric that the value measures."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:MetricValue ;
    rdfs:range pbo:Metric .

pbo:assertedIn a owl:ObjectProperty ;
    rdfs:label "asserted in"@en ;
    rdfs:comment "The corpus source document that asserts the value, definition or claim."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:SourceDocument .

pbo:describesJurisdiction a owl:ObjectProperty ;
    rdfs:label "describes jurisdiction"@en ;
    rdfs:comment "The jurisdiction a metric value, claim or data source refers to."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:Jurisdiction .

pbo:scenarioForModel a owl:ObjectProperty ;
    rdfs:label "scenario for operating model"@en ;
    rdfs:comment "The operating model or accommodation type that the scenario underwrites."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:FinancialScenario ;
    rdfs:range pbo:OperatingModel .

pbo:recommendsSection a owl:ObjectProperty ;
    rdfs:label "recommends section"@en ;
    rdfs:comment "A document section that a source or template recommends the artefact contain."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:InformationArtefact ;
    rdfs:range pbo:DocumentSection .

pbo:providesService a owl:ObjectProperty ;
    rdfs:label "provides service"@en ;
    rdfs:comment "A service provided by the business."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Business ;
    rdfs:range pbo:Service .

pbo:hasFeeModel a owl:ObjectProperty ;
    rdfs:label "has fee model"@en ;
    rdfs:comment "The fee model under which a service is charged."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Service ;
    rdfs:range pbo:FeeModel .

pbo:supportedByWorkflow a owl:ObjectProperty ;
    rdfs:label "supported by workflow"@en ;
    rdfs:comment "A workflow that delivers the service."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Service ;
    rdfs:range pbo:Workflow .

pbo:measuredBy a owl:ObjectProperty ;
    rdfs:label "measured by"@en ;
    rdfs:comment "A metric used as a key performance indicator for the business, service or workflow."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:Metric .

pbo:businessModel a owl:ObjectProperty ;
    rdfs:label "business model"@en ;
    rdfs:comment "The agency business model under which the business is organised."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Business ;
    rdfs:range pbo:AgencyBusinessModel .

pbo:sourcesCapabilityVia a owl:ObjectProperty ;
    rdfs:label "sources capability via"@en ;
    rdfs:comment "The capability-sourcing pattern characteristic of the business model or business."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range pbo:CapabilitySourcing .

pbo:publishedBy a owl:ObjectProperty ;
    rdfs:label "published by"@en ;
    rdfs:comment "The organisation that publishes the data source or document."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:InformationArtefact ;
    rdfs:range pbo:Organisation .

pbo:suppliesAttribute a owl:ObjectProperty ;
    rdfs:label "supplies attribute"@en ;
    rdfs:comment "A property attribute the data source can supply."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:DataSource ;
    rdfs:range pbo:PropertyAttribute .

pbo:accessTier a owl:ObjectProperty ;
    rdfs:label "access tier"@en ;
    rdfs:comment "The access tier of the data source."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:DataSource ;
    rdfs:range pbo:DataAccessTier .

pbo:coversJurisdiction a owl:ObjectProperty ;
    rdfs:label "covers jurisdiction"@en ;
    rdfs:comment "The jurisdiction the data source covers."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:DataSource ;
    rdfs:range pbo:Jurisdiction .

pbo:hasPhase a owl:ObjectProperty ;
    rdfs:label "has phase"@en ;
    rdfs:comment "A phase of the development project."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:DevelopmentProject ;
    rdfs:range pbo:ProjectPhase .

pbo:precedes a owl:ObjectProperty, owl:TransitiveProperty ;
    rdfs:label "precedes"@en ;
    rdfs:comment "Ordering between project phases."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:ProjectPhase ;
    rdfs:range pbo:ProjectPhase .

pbo:producesArtefact a owl:ObjectProperty ;
    rdfs:label "produces artefact"@en ;
    rdfs:comment "An information artefact produced by the project or business activity."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:DevelopmentProject ;
    rdfs:range pbo:InformationArtefact .

pbo:usesStrategy a owl:ObjectProperty ;
    rdfs:label "project uses strategy"@en ;
    rdfs:comment "The investment strategy that the development project implements."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:DevelopmentProject ;
    rdfs:range pbo:InvestmentStrategy .

pbo:occupancyThresholdEffect a owl:ObjectProperty ;
    rdfs:label "has threshold effect"@en ;
    rdfs:comment "The regime application effect when the threshold is met (regime applies in full, applies in part, does not apply, permit exempt, licence required)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:OccupancyThreshold ;
    rdfs:range pbo:ThresholdEffect .

# ---- Datatype properties ----
pbo:weeklyRent a owl:DatatypeProperty ;
    rdfs:label "weekly rent"@en ;
    rdfs:comment "Rent payable per week under an agreement or for a rentable unit, in AUD unless stated."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range xsd:decimal .

pbo:annualRent a owl:DatatypeProperty ;
    rdfs:label "annual rent"@en ;
    rdfs:comment "Scheduled rent per year."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range xsd:decimal .

pbo:termMonths a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "term (months)"@en ;
    rdfs:comment "Duration of an agreement in months."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Agreement ;
    rdfs:range xsd:integer .

pbo:escalationRatePercent a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "escalation rate (%)"@en ;
    rdfs:comment "Annual rent escalation rate in percent under an agreement."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Agreement ;
    rdfs:range xsd:decimal .

pbo:fixedRent a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "fixed rent regardless of occupancy"@en ;
    rdfs:comment "Whether the rent obligation is fixed irrespective of occupancy (true for head/master leases)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Agreement ;
    rdfs:range xsd:boolean .

pbo:effectiveFrom a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "effective from"@en ;
    rdfs:comment "Date from which an agreement, authorisation, rule or regime is in force."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range xsd:date .

pbo:effectiveUntil a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "effective until"@en ;
    rdfs:comment "Date until which an agreement, authorisation, rule or regime is in force."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range xsd:date .

pbo:cutoffDate a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "cut-off date"@en ;
    rdfs:comment "A grandfathering or eligibility cut-off date-time attached to a rule (for example 7:30 pm AEST 12 May 2026)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:RegulatoryRule ;
    rdfs:range xsd:dateTime .

pbo:thresholdComparator a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "threshold comparator"@en ;
    rdfs:comment "Comparison operator for the threshold value: 'gte', 'lte', 'gt', 'lt', 'eq', 'range'."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:OccupancyThreshold ;
    rdfs:range xsd:string .

pbo:thresholdValue a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "threshold value"@en ;
    rdfs:comment "Numeric threshold value (lower bound for ranges)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:OccupancyThreshold ;
    rdfs:range xsd:decimal .

pbo:thresholdUpperValue a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "threshold upper value"@en ;
    rdfs:comment "Upper bound when the comparator is 'range'."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:OccupancyThreshold ;
    rdfs:range xsd:decimal .

pbo:thresholdUnit a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "threshold unit"@en ;
    rdfs:comment "Unit of the threshold value (persons, rooms, bedrooms, lettings, m2)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:OccupancyThreshold ;
    rdfs:range xsd:string .

pbo:numericValue a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "numeric value"@en ;
    rdfs:comment "The numeric value of a metric value."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:MetricValue ;
    rdfs:range xsd:decimal .

pbo:upperValue a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "upper value"@en ;
    rdfs:comment "Upper bound of a metric value reported as a range."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:MetricValue ;
    rdfs:range xsd:decimal .

pbo:unit a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "unit"@en ;
    rdfs:comment "Unit of a metric value (percent, AUD, AUD_per_week, months, ratio, EUR)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:MetricValue ;
    rdfs:range xsd:string .

pbo:basisNote a owl:DatatypeProperty ;
    rdfs:label "basis note"@en ;
    rdfs:comment "Free-text statement of the basis, assumptions or qualification attached to a value or claim."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range xsd:string .

pbo:claimDate a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "claim date"@en ;
    rdfs:comment "Date on which a claim or figure was published or is current."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:range xsd:date .

pbo:roomCount a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "room count"@en ;
    rdfs:comment "Number of separately lettable rooms or studios in a property."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range xsd:integer .

pbo:bedroomCount a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "bedroom count"@en ;
    rdfs:comment "Number of bedrooms."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range xsd:integer .

pbo:floorAreaSqm a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "floor area (m2)"@en ;
    rdfs:comment "Total floor area in square metres."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyAsset ;
    rdfs:range xsd:decimal .

pbo:lotSizeSqm a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "lot size (m2)"@en ;
    rdfs:comment "Land area in square metres."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:LandParcel ;
    rdfs:range xsd:decimal .

pbo:identifierValue a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "identifier value"@en ;
    rdfs:comment "The literal value of a property identifier."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:PropertyIdentifier ;
    rdfs:range xsd:string .

pbo:jurisdictionCode a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "jurisdiction code"@en ;
    rdfs:comment "Short code for a jurisdiction (AU, QLD, VIC, NSW, WA, SA, BCC, LOGAN)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Jurisdiction ;
    rdfs:range xsd:string .

pbo:authorisationStatus a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "authorisation status"@en ;
    rdfs:comment "Status of an authorisation: 'held', 'pending', 'expired', 'refused', 'not_required', 'unknown'."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Authorisation ;
    rdfs:range xsd:string .

pbo:dateIssued a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "date issued"@en ;
    rdfs:comment "Date the authorisation was issued."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Authorisation ;
    rdfs:range xsd:date .

pbo:refreshCadence a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "refresh cadence"@en ;
    rdfs:comment "How often a data source is updated (daily, weekly, quarterly, annual, release-driven, near-real-time)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:DataSource ;
    rdfs:range xsd:string .

pbo:licenceNote a owl:DatatypeProperty ;
    rdfs:label "licence note"@en ;
    rdfs:comment "Licence or terms under which a data source or document is available."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:InformationArtefact ;
    rdfs:range xsd:string .

pbo:sourceUrl a owl:DatatypeProperty ;
    rdfs:label "source URL"@en ;
    rdfs:comment "Original location of a source document or data source."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:InformationArtefact ;
    rdfs:range xsd:anyURI .

pbo:publicationDate a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "publication date"@en ;
    rdfs:comment "Date the artefact was published or compiled."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:InformationArtefact ;
    rdfs:range xsd:date .

pbo:authorityLevel a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "authority level"@en ;
    rdfs:comment "Authority level of a source document: normative, authoritative, primary, secondary, expert, reference, illustrative."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:SourceDocument ;
    rdfs:range xsd:string .

pbo:scenarioName a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "scenario name"@en ;
    rdfs:comment "Human-readable name of a financial scenario (conservative, moderate, aggressive)."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:FinancialScenario ;
    rdfs:range xsd:string .

pbo:characteristicNote a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "characteristic note"@en ;
    rdfs:comment "Text of a structure characteristic as stated by the source."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:StructureCharacteristic ;
    rdfs:range xsd:string .

pbo:mitigationNote a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "mitigation note"@en ;
    rdfs:comment "Text describing the mitigation, control or diligence step."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Mitigation ;
    rdfs:range xsd:string .

pbo:gateCondition a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "gate condition"@en ;
    rdfs:comment "Text of the condition a decision gate requires."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:DecisionGate ;
    rdfs:range xsd:string .

pbo:phaseOrder a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "phase order"@en ;
    rdfs:comment "Ordinal position of a project phase."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:ProjectPhase ;
    rdfs:range xsd:integer .

pbo:feePercentOfRent a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "fee (% of rent)"@en ;
    rdfs:comment "Management fee expressed as a percentage of rent collected."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Service ;
    rdfs:range xsd:decimal .

pbo:portfolioSizeProperties a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:label "portfolio size (properties)"@en ;
    rdfs:comment "Number of properties under management or held."@en ;
    rdfs:isDefinedBy <https://ontology.property.local/pbo> ;
    rdfs:domain pbo:Portfolio ;
    rdfs:range xsd:integer .

# ---- Candidate mappings (annotation strength unless stated in model.yaml) ----
pbo:Organisation skos:closeMatch <http://www.w3.org/ns/org#Organization> .
pbo:Address skos:closeMatch <https://schema.org/PostalAddress> .
pbo:LandParcel rdfs:seeAlso <http://www.opengis.net/ont/geosparql#Feature> .
pbo:Jurisdiction skos:closeMatch <https://schema.org/AdministrativeArea> .
pbo:Legislation skos:closeMatch <http://data.europa.eu/eli/ontology#LegalResource> .
