############################################################################### # PV-Collada Ontology — pvcollada_onto.ttl # Derived from: pvcollada_schema_2.0.xsd + pvcollada_business_2.0.sch # pvcollada_references_2.0.sch # # Conforms to: # OWL 2 Web Ontology Language (W3C, Second Edition) # MDS-Onto FindTheDocs conventions https://cwrusdle.bitbucket.io/ # # Namespace: pvc: # Domain: mds:builtenv # Sub-domain: pvcollada # # MDS-Onto reconciliation (v0.3.1.31): # Class hierarchy bridges: # pvc:Module rdfs:subClassOf mds:PhotovoltaicModule # pvc:Inverter rdfs:subClassOf mds:Inverter # pvc:Rack rdfs:subClassOf mds:Racking # pvc:Project rdfs:subClassOf mds:PhotovoltaicSite # Enumeration close-matches: # pvc:CellArchitecture skos:closeMatch mds:CellTechnology / mds:CellTechnologyType # pvc:RackType skos:closeMatch mds:RackingType # Named individual: # pvc:PERC skos:exactMatch mds:PassivatedEmitterRearCell # Data property links (rdfs:seeAlso → MDS measurement class): # pvc:nomPower / iSc / iMpp / vOc / vMpp / tCoefPower / tCoefIsc / # tCoefVoc / numCells / numCellsSeries / numStrings / manufacturer ############################################################################### @prefix : . @prefix pvc: . @prefix mds: . @prefix owl: . @prefix rdf: . @prefix xml: . @prefix xsd: . @prefix rdfs: . @prefix skos: . @prefix qudt: . @prefix unit: . @prefix prov: . @prefix cco: . ############################################################################### # O N T O L O G Y H E A D E R ############################################################################### a owl:Ontology ; owl:versionIRI ; owl:imports ; rdfs:label "PV-Collada Ontology"@en ; skos:definition """OWL 2 ontology derived from the PV-Collada 2.0 XSD schema. Provides vocabulary for PV system circuit topology, physical layout geometry, and component product data, within the MDS-Onto builtenv domain."""@en ; skos:scopeNote """Covers three interlocking layers: (1) a product library of typed PV components (modules, inverters, cables, etc.); (2) a circuit topology describing how those components are wired together; and (3) a physical 3-D layout associating circuit positions with geometric rack instances. ModuleLayout is the cross-domain bridge between layers 2 and 3."""@en ; rdfs:seeAlso ; cco:ont00001754 "https://github.com/ucf-photovoltaics/pv-ontology"^^xsd:anyURI . ############################################################################### # A B S T R A C T P A R E N T C L A S S E S ############################################################################### pvc:PVColladaEntity a owl:Class ; rdfs:label "PV-Collada Entity"@en ; skos:definition "Abstract root class for all entities described in the PV-Collada schema."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:PVComponent a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "PV Component"@en ; skos:definition """A typed product specification for a physical PV balance-of-system component, as declared in the PV-Collada components library."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Characterization"^^xsd:string . pvc:CircuitInstance a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Circuit Instance"@en ; skos:definition """An instantiated element in the electrical circuit topology of a PV system, referencing a PVComponent product specification."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:PhysicalAsset a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Physical Asset"@en ; skos:definition """A physical or geometric object in the 3-D layout of a PV installation, represented in the COLLADA scene graph."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . ############################################################################### # E N U M E R A T I O N C L A S S E S & N A M E D I N D I V I D U A L S # # XSD simpleType restrictions are modelled as owl:Class + owl:oneOf individuals. ############################################################################### # ── CellMaterial ───────────────────────────────────────────────────────────── pvc:CellMaterial a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Cell Material"@en ; skos:definition "Enumeration of absorber semiconductor materials used in PV cells."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:MonoSi pvc:PolySi pvc:ASi pvc:CdTe ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Characterization"^^xsd:string . pvc:MonoSi a owl:NamedIndividual , pvc:CellMaterial ; rdfs:label "monocrystalline silicon"@en ; skos:altLabel "monoSi"@en . pvc:PolySi a owl:NamedIndividual , pvc:CellMaterial ; rdfs:label "polycrystalline silicon"@en ; skos:altLabel "polySi"@en . pvc:ASi a owl:NamedIndividual , pvc:CellMaterial ; rdfs:label "amorphous silicon"@en ; skos:altLabel "aSi"@en . pvc:CdTe a owl:NamedIndividual , pvc:CellMaterial ; rdfs:label "cadmium telluride"@en ; skos:altLabel "cdTe"@en . # ── CellArchitecture ───────────────────────────────────────────────────────── pvc:CellArchitecture a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Cell Architecture"@en ; skos:definition "Enumeration of cell junction or contact architectures used in PV modules."@en ; skos:closeMatch mds:CellTechnology , mds:CellTechnologyType ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:SingleJunction pvc:Heterojunction pvc:IBC pvc:PERC pvc:TOPcon pvc:TandemPerovskite ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Characterization"^^xsd:string . pvc:SingleJunction a owl:NamedIndividual , pvc:CellArchitecture ; rdfs:label "single junction"@en ; skos:altLabel "single_junction"@en . pvc:Heterojunction a owl:NamedIndividual , pvc:CellArchitecture ; rdfs:label "heterojunction"@en . pvc:IBC a owl:NamedIndividual , pvc:CellArchitecture ; rdfs:label "interdigitated back contact"@en ; skos:altLabel "IBC"@en . pvc:PERC a owl:NamedIndividual , pvc:CellArchitecture ; rdfs:label "passivated emitter and rear cell"@en ; skos:altLabel "PERC"@en ; skos:exactMatch mds:PassivatedEmitterRearCell . pvc:TOPcon a owl:NamedIndividual , pvc:CellArchitecture ; rdfs:label "tunnel oxide passivated contact"@en ; skos:altLabel "TOPcon"@en . pvc:TandemPerovskite a owl:NamedIndividual , pvc:CellArchitecture ; rdfs:label "tandem perovskite"@en ; skos:altLabel "tandem-perovskite"@en . # ── ModuleType ─────────────────────────────────────────────────────────────── pvc:ModuleType a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Module Type"@en ; skos:definition "Enumeration of PV module form-factor types."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:Monofacial pvc:Bifacial pvc:CPV pvc:Shingle ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:Monofacial a owl:NamedIndividual , pvc:ModuleType ; rdfs:label "monofacial module"@en ; skos:altLabel "monofacial"@en . pvc:Bifacial a owl:NamedIndividual , pvc:ModuleType ; rdfs:label "bifacial module"@en ; skos:altLabel "bifacial"@en . pvc:CPV a owl:NamedIndividual , pvc:ModuleType ; rdfs:label "concentrating photovoltaic module"@en ; skos:altLabel "cpv"@en . pvc:Shingle a owl:NamedIndividual , pvc:ModuleType ; rdfs:label "shingle module"@en ; skos:altLabel "shingle"@en . # ── InverterType ───────────────────────────────────────────────────────────── pvc:InverterType a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Inverter Type"@en ; skos:definition "Enumeration of PV inverter deployment topologies."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:CentralInverter pvc:StringInverter pvc:Microinverter ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:CentralInverter a owl:NamedIndividual , pvc:InverterType ; rdfs:label "central inverter"@en ; skos:altLabel "central"@en . pvc:StringInverter a owl:NamedIndividual , pvc:InverterType ; rdfs:label "string inverter"@en ; skos:altLabel "string"@en . pvc:Microinverter a owl:NamedIndividual , pvc:InverterType ; rdfs:label "microinverter"@en . # ── RackType ───────────────────────────────────────────────────────────────── pvc:RackType a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Rack Type"@en ; skos:definition "Enumeration of rack mounting strategies."@en ; skos:closeMatch mds:RackingType ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:FixedTilt pvc:TrackerRackType ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:FixedTilt a owl:NamedIndividual , pvc:RackType ; rdfs:label "fixed tilt"@en ; skos:altLabel "fixed_tilt"@en . pvc:TrackerRackType a owl:NamedIndividual , pvc:RackType ; rdfs:label "tracker rack"@en ; skos:altLabel "tracker"@en . # ── TableType ──────────────────────────────────────────────────────────────── pvc:TableType a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Table Type"@en ; skos:definition "Enumeration of table mounting types."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:FixedTable pvc:TrackerTable ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:FixedTable a owl:NamedIndividual , pvc:TableType ; rdfs:label "fixed table"@en ; skos:altLabel "fixed"@en . pvc:TrackerTable a owl:NamedIndividual , pvc:TableType ; rdfs:label "tracker table"@en ; skos:altLabel "tracker"@en . # ── TrackerType ────────────────────────────────────────────────────────────── pvc:TrackerType a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Tracker Type"@en ; skos:definition "Enumeration of solar tracker axis configurations."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:SingleAxisTracker pvc:DualAxisTracker ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:SingleAxisTracker a owl:NamedIndividual , pvc:TrackerType ; rdfs:label "single axis tracker"@en ; skos:altLabel "single_axis"@en . pvc:DualAxisTracker a owl:NamedIndividual , pvc:TrackerType ; rdfs:label "dual axis tracker"@en ; skos:altLabel "dual_axis"@en . # ── TorqueTubeShape ────────────────────────────────────────────────────────── pvc:TorqueTubeShape a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Torque Tube Shape"@en ; skos:definition "Enumeration of cross-sectional shapes for a single-axis tracker torque tube."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:CircularTube pvc:RectangularTube pvc:OctagonalTube ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:CircularTube a owl:NamedIndividual , pvc:TorqueTubeShape ; rdfs:label "circular torque tube"@en ; skos:altLabel "circle"@en . pvc:RectangularTube a owl:NamedIndividual , pvc:TorqueTubeShape ; rdfs:label "rectangular torque tube"@en ; skos:altLabel "rectangle"@en . pvc:OctagonalTube a owl:NamedIndividual , pvc:TorqueTubeShape ; rdfs:label "octagonal torque tube"@en ; skos:altLabel "octogon"@en . # ── DriveType ──────────────────────────────────────────────────────────────── pvc:DriveType a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Drive Type"@en ; skos:definition "Enumeration of drive coupling configurations for single-axis trackers."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:IndependentDrive pvc:LinkedDrive ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:IndependentDrive a owl:NamedIndividual , pvc:DriveType ; rdfs:label "independent drive"@en ; skos:altLabel "independent"@en . pvc:LinkedDrive a owl:NamedIndividual , pvc:DriveType ; rdfs:label "linked drive"@en ; skos:altLabel "linked"@en . # ── PostType ───────────────────────────────────────────────────────────────── pvc:PostType a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Post Type"@en ; skos:definition "Enumeration of structural post functions."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:RackPost pvc:TrackerPost pvc:FencePost ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:RackPost a owl:NamedIndividual , pvc:PostType ; rdfs:label "rack post"@en ; skos:altLabel "rack"@en . pvc:TrackerPost a owl:NamedIndividual , pvc:PostType ; rdfs:label "tracker post"@en ; skos:altLabel "tracker"@en . pvc:FencePost a owl:NamedIndividual , pvc:PostType ; rdfs:label "fence post"@en ; skos:altLabel "fence"@en . # ── PostShape ──────────────────────────────────────────────────────────────── pvc:PostShape a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Post Shape"@en ; skos:definition "Enumeration of structural post cross-section shapes."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:RectangularPost pvc:CircularPost pvc:HShapePost ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:RectangularPost a owl:NamedIndividual , pvc:PostShape ; rdfs:label "rectangular post"@en ; skos:altLabel "rectangle"@en . pvc:CircularPost a owl:NamedIndividual , pvc:PostShape ; rdfs:label "circular post"@en ; skos:altLabel "circle"@en . pvc:HShapePost a owl:NamedIndividual , pvc:PostShape ; rdfs:label "H-shape post"@en ; skos:altLabel "h-shape"@en . # ── PostInclination ────────────────────────────────────────────────────────── pvc:PostInclination a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Post Inclination"@en ; skos:definition "Enumeration of post installation inclination modes."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:VerticalPost pvc:PerpendicularPost ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:VerticalPost a owl:NamedIndividual , pvc:PostInclination ; rdfs:label "vertical post"@en ; skos:altLabel "vertical"@en . pvc:PerpendicularPost a owl:NamedIndividual , pvc:PostInclination ; rdfs:label "perpendicular post"@en ; skos:altLabel "perpendicular"@en . # ── GapType ────────────────────────────────────────────────────────────────── pvc:GapType a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Gap Type"@en ; skos:definition "Enumeration of gap categories between racks on a tracker torque tube."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:MotorGap pvc:JointGap ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:MotorGap a owl:NamedIndividual , pvc:GapType ; rdfs:label "motor gap"@en ; skos:altLabel "motor"@en . pvc:JointGap a owl:NamedIndividual , pvc:GapType ; rdfs:label "joint gap"@en ; skos:altLabel "joint"@en . # ── ModuleOrientation ──────────────────────────────────────────────────────── pvc:ModuleOrientation a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Module Orientation"@en ; skos:definition "Enumeration of module mounting orientations on a rack."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:Portrait pvc:Landscape ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:Portrait a owl:NamedIndividual , pvc:ModuleOrientation ; rdfs:label "portrait orientation"@en ; skos:altLabel "portrait"@en . pvc:Landscape a owl:NamedIndividual , pvc:ModuleOrientation ; rdfs:label "landscape orientation"@en ; skos:altLabel "landscape"@en . # ── ConductorMaterial ──────────────────────────────────────────────────────── pvc:ConductorMaterial a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Conductor Material"@en ; skos:definition "Enumeration of cable conductor materials."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:CopperConductor pvc:AluminumConductor ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:CopperConductor a owl:NamedIndividual , pvc:ConductorMaterial ; rdfs:label "copper conductor"@en ; skos:altLabel "copper"@en . pvc:AluminumConductor a owl:NamedIndividual , pvc:ConductorMaterial ; rdfs:label "aluminum conductor"@en ; skos:altLabel "aluminum"@en . # ── PowerType ──────────────────────────────────────────────────────────────── pvc:PowerType a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Power Type"@en ; skos:definition "Enumeration of electrical power type (AC or DC) for cables."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:ACPower pvc:DCPower ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:ACPower a owl:NamedIndividual , pvc:PowerType ; rdfs:label "alternating current"@en ; skos:altLabel "ac"@en . pvc:DCPower a owl:NamedIndividual , pvc:PowerType ; rdfs:label "direct current"@en ; skos:altLabel "dc"@en . # ── EfficiencyStandardType (inline enum in XSD inverter_type_object) ───── pvc:EfficiencyStandardType a owl:Class ; rdfs:subClassOf pvc:PVColladaEntity ; rdfs:label "Efficiency Standard Type"@en ; skos:definition "Enumeration of rating standards used for inverter efficiency measurement."@en ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( pvc:CECEfficiency pvc:EUEfficiency ) ] ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:CECEfficiency a owl:NamedIndividual , pvc:EfficiencyStandardType ; rdfs:label "CEC efficiency standard"@en ; skos:altLabel "CEC"@en . pvc:EUEfficiency a owl:NamedIndividual , pvc:EfficiencyStandardType ; rdfs:label "EU efficiency standard"@en ; skos:altLabel "EU"@en . ############################################################################### # C O M P O N E N T T Y P E C L A S S E S # (product library — XSD complexTypes ending in _type_object) ############################################################################### pvc:Module a owl:Class ; rdfs:subClassOf pvc:PVComponent , mds:PhotovoltaicModule ; rdfs:label "PV Module Product"@en ; skos:definition """Product-level specification for a PV module, capturing its physical dimensions, electrical parameters at STC, and cell technology."""@en ; skos:scopeNote """Corresponds to module_type_object in pvcollada_schema_2.0.xsd. Declared as a subclass of mds:PhotovoltaicModule to align with the MDS-Onto builtenv PV-module hierarchy."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Characterization"^^xsd:string . pvc:Inverter a owl:Class ; rdfs:subClassOf pvc:PVComponent , mds:Inverter ; rdfs:label "PV Inverter Product"@en ; skos:definition """Product-level specification for a PV inverter, capturing its AC/DC power ratings, MPPT voltage window, efficiency, and parasitic consumption."""@en ; skos:scopeNote """Corresponds to inverter_type_object. Declared as a subclass of mds:Inverter to align with MDS-Onto."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Characterization"^^xsd:string . pvc:MPPTUnit a owl:Class ; rdfs:subClassOf pvc:PVComponent ; rdfs:label "MPPT Unit Product"@en ; skos:definition """Product-level specification for a single maximum-power-point-tracking channel on an inverter, recording the number of parallel input strings."""@en ; skos:scopeNote "Corresponds to mppt_type_object."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Characterization"^^xsd:string . pvc:Transformer a owl:Class ; rdfs:subClassOf pvc:PVComponent ; rdfs:label "Transformer Product"@en ; skos:definition """Product-level specification for an AC step-up or isolation transformer, including rated power, voltage ratio, efficiency, and loss parameters."""@en ; skos:scopeNote "Corresponds to transformer_type_object."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Characterization"^^xsd:string . pvc:Cable a owl:Class ; rdfs:subClassOf pvc:PVComponent ; rdfs:label "Cable Product"@en ; skos:definition """Product-level specification for a PV cable, including cross-sectional area, conductor count, material, and electrical resistance."""@en ; skos:scopeNote "Corresponds to cable_type_object."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Characterization"^^xsd:string . pvc:DCCombiner a owl:Class ; rdfs:subClassOf pvc:PVComponent ; rdfs:label "DC Combiner Product"@en ; skos:definition "Product-level specification for a DC string combiner box."@en ; skos:scopeNote "Corresponds to combiner_dc_type_object."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Characterization"^^xsd:string . pvc:ACCombiner a owl:Class ; rdfs:subClassOf pvc:PVComponent ; rdfs:label "AC Combiner Product"@en ; skos:definition "Product-level specification for an AC inverter combiner panel."@en ; skos:scopeNote "Corresponds to combiner_ac_type_object."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Characterization"^^xsd:string . pvc:Optimizer a owl:Class ; rdfs:subClassOf pvc:PVComponent ; rdfs:label "Power Optimizer Product"@en ; skos:definition "Product-level specification for a module-level power optimizer."@en ; skos:scopeNote "Corresponds to optimizer_type_object."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Characterization"^^xsd:string . ############################################################################### # C I R C U I T I N S T A N C E C L A S S E S ############################################################################### pvc:Circuit a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "Circuit"@en ; skos:definition """The complete electrical circuit description of a PV system, rooted at a single circuit_root element that is a transformer, AC combiner, or inverter."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:InverterInstance a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "Inverter Instance"@en ; skos:definition """An instance of an inverter in the electrical circuit, referencing a product inverter specification and containing MPPT inputs."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:TransformerInstance a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "Transformer Instance"@en ; skos:definition "An instance of a transformer in the electrical circuit."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:ACCombinerInstance a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "AC Combiner Instance"@en ; skos:definition "An instance of an AC combiner panel in the electrical circuit."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:DCCombinerInstance a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "DC Combiner Instance"@en ; skos:definition "An instance of a DC combiner box in the electrical circuit."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:MPPTInput a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "MPPT Input"@en ; skos:definition """A single MPPT channel instance within an inverter circuit instance, containing one or more strings or DC combiners."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:String a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "PV String"@en ; skos:definition """A series-connected string of PV modules, containing either a module array or an optimizer array."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:ModuleArray a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "Module Array"@en ; skos:definition """An ordered collection of modules within a string, each described by a ModuleLayout that maps a circuit position to a physical rack cell."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:OptimizerArray a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "Optimizer Array"@en ; skos:definition "An ordered collection of power optimizer instances within a string."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:OptimizerInstance a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "Optimizer Instance"@en ; skos:definition """An instance of a power optimizer in the circuit, connected via cable_to_parent and optionally cable_to_neighbor."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:ModuleLayout a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "Module Layout"@en ; skos:definition """Cross-domain bridge entity that maps a module's position in the electrical circuit (position_in_string) to its physical location on a rack (row, column) via a reference to an instance_rack_ref."""@en ; skos:scopeNote """This is the key join point between circuit topology and physical 3-D layout in PV-Collada."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:CableTo a owl:Class ; rdfs:subClassOf pvc:CircuitInstance ; rdfs:label "Cable To"@en ; skos:definition """A directed cable connection from a circuit instance to its electrical parent, carrying a reference to the cable product and the installed length."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . ############################################################################### # P H Y S I C A L A S S E T C L A S S E S ############################################################################### pvc:Project a owl:Class ; rdfs:subClassOf pvc:PhysicalAsset , mds:PhotovoltaicSite ; rdfs:label "PV Project"@en ; skos:definition """Top-level project metadata for a PV-Collada file, recording system capacity, string and module counts, geographic projection, and boundary."""@en ; skos:scopeNote """Declared as a subclass of mds:PhotovoltaicSite; the pvc:Project adds schema-level attributes (capacity, module/string counts, projection)."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:Rack a owl:Class ; rdfs:subClassOf pvc:PhysicalAsset , mds:Racking ; rdfs:label "PV Rack"@en ; skos:definition """A co-planar group of modules mounted in a fixed or tracker configuration, described by a COLLADA geometry rectangle representing the rack surface."""@en ; skos:scopeNote """Declared as a subclass of mds:Racking. Business rule (Schematron): if rack_type = fixed_tilt then azimuth and tilt are required and tracker fields are forbidden; if rack_type = tracker then tracker_azimuth is required and fixed-tilt fields are forbidden. See pvc:FixedTiltRack and pvc:TrackerRack subclasses."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . # Schematron conditional requirements → OWL 2 subclass restrictions pvc:FixedTiltRack a owl:Class ; rdfs:subClassOf pvc:Rack , [ a owl:Restriction ; owl:onProperty pvc:hasRackType ; owl:hasValue pvc:FixedTilt ] , [ a owl:Restriction ; owl:onProperty pvc:azimuth ; owl:minCardinality "1"^^xsd:nonNegativeInteger ] , [ a owl:Restriction ; owl:onProperty pvc:tilt ; owl:minCardinality "1"^^xsd:nonNegativeInteger ] ; rdfs:label "Fixed Tilt Rack"@en ; skos:definition """A rack mounted at a fixed tilt angle; requires azimuth and tilt, and must not carry tracker geometry fields."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . pvc:TrackerRack a owl:Class ; rdfs:subClassOf pvc:Rack , [ a owl:Restriction ; owl:onProperty pvc:hasRackType ; owl:hasValue pvc:TrackerRackType ] , [ a owl:Restriction ; owl:onProperty pvc:trackerAzimuth ; owl:minCardinality "1"^^xsd:nonNegativeInteger ] ; rdfs:label "Tracker Rack"@en ; skos:definition """A rack mounted on a solar tracker; requires tracker_azimuth, and must not carry fixed-tilt geometry fields."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string . owl:AllDisjointClasses a owl:AllDisjointClasses ; owl:members ( pvc:FixedTiltRack pvc:TrackerRack ) . pvc:Table a owl:Class ; rdfs:subClassOf pvc:PhysicalAsset ; rdfs:label "PV Table"@en ; skos:definition """A group of mechanically linked racks in a single row, potentially including posts and gaps. When the table is a tracker, all constituent racks share the same rotation around the tracker axis."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:Post a owl:Class ; rdfs:subClassOf pvc:PhysicalAsset ; rdfs:label "Structural Post"@en ; skos:definition """A vertical structural member that supports a rack, tracker torque tube, or fence, driven into or anchored to the ground."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:Gap a owl:Class ; rdfs:subClassOf pvc:PhysicalAsset ; rdfs:label "Tracker Gap"@en ; skos:definition """A space between two racks on a single-axis tracker torque tube, occupied by a motor drive or a flexible joint."""@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . pvc:Terrain a owl:Class ; rdfs:subClassOf pvc:PhysicalAsset ; rdfs:label "Terrain"@en ; skos:definition "A triangulated 3-D surface model representing the site terrain."@en ; mds:hasDomain "builtenv"^^xsd:string ; mds:hasSubDomain "pvcollada"^^xsd:string ; mds:hasStudyStage "Simulation"^^xsd:string . ############################################################################### # O B J E C T P R O P E R T I E S ############################################################################### pvc:hasRackType a owl:ObjectProperty ; rdfs:domain pvc:Rack ; rdfs:range pvc:RackType ; rdfs:label "has rack type"@en ; skos:definition "Associates a rack with its mounting type (fixed_tilt or tracker)."@en . pvc:hasTableType a owl:ObjectProperty ; rdfs:domain pvc:Table ; rdfs:range pvc:TableType ; rdfs:label "has table type"@en ; skos:definition "Associates a table with its mounting type (fixed or tracker)."@en . pvc:hasTrackerType a owl:ObjectProperty ; rdfs:domain pvc:Table ; rdfs:range pvc:TrackerType ; rdfs:label "has tracker type"@en ; skos:definition "Associates a tracker table with its axis configuration."@en . pvc:hasTorqueTubeShape a owl:ObjectProperty ; rdfs:domain pvc:Table ; rdfs:range pvc:TorqueTubeShape ; rdfs:label "has torque tube shape"@en ; skos:definition "Associates a single-axis tracker table with its torque tube cross-section shape."@en . pvc:hasDriveType a owl:ObjectProperty ; rdfs:domain pvc:Table ; rdfs:range pvc:DriveType ; rdfs:label "has drive type"@en ; skos:definition "Associates a single-axis tracker table with its drive coupling type."@en . pvc:hasModuleOrientation a owl:ObjectProperty ; rdfs:domain pvc:Rack ; rdfs:range pvc:ModuleOrientation ; rdfs:label "has module orientation"@en ; skos:definition "Associates a rack with the mounting orientation of its modules."@en . pvc:hasCellMaterial a owl:ObjectProperty ; rdfs:domain pvc:Module ; rdfs:range pvc:CellMaterial ; rdfs:label "has cell material"@en ; skos:definition "Specifies the semiconductor absorber material of the cells in a module."@en . pvc:hasCellArchitecture a owl:ObjectProperty ; rdfs:domain pvc:Module ; rdfs:range pvc:CellArchitecture ; rdfs:label "has cell architecture"@en ; skos:definition "Specifies the cell junction or contact architecture used in a module."@en . pvc:hasModuleType a owl:ObjectProperty ; rdfs:domain pvc:Module ; rdfs:range pvc:ModuleType ; rdfs:label "has module type"@en ; skos:definition "Associates a module product with its form-factor type."@en . pvc:hasInverterType a owl:ObjectProperty ; rdfs:domain pvc:Inverter ; rdfs:range pvc:InverterType ; rdfs:label "has inverter type"@en ; skos:definition "Associates an inverter product with its deployment topology."@en . pvc:hasConductorMaterial a owl:ObjectProperty ; rdfs:domain pvc:Cable ; rdfs:range pvc:ConductorMaterial ; rdfs:label "has conductor material"@en ; skos:definition "Specifies the conductor material of a cable product."@en . pvc:hasPowerType a owl:ObjectProperty ; rdfs:domain pvc:Cable ; rdfs:range pvc:PowerType ; rdfs:label "has power type"@en ; skos:definition "Associates a cable with its power type (AC or DC)."@en . pvc:hasEfficiencyStandardType a owl:ObjectProperty ; rdfs:domain pvc:Inverter ; rdfs:range pvc:EfficiencyStandardType ; rdfs:label "has efficiency standard type"@en ; skos:definition "Specifies the rating standard (CEC or EU) used to compute the efficiency_standard_value."@en . pvc:hasPostType a owl:ObjectProperty ; rdfs:domain pvc:Post ; rdfs:range pvc:PostType ; rdfs:label "has post type"@en ; skos:definition "Associates a post with its structural function (rack, tracker, fence)."@en . pvc:hasPostShape a owl:ObjectProperty ; rdfs:domain pvc:Post ; rdfs:range pvc:PostShape ; rdfs:label "has post shape"@en ; skos:definition "Associates a post with its cross-section shape."@en . pvc:hasPostInclination a owl:ObjectProperty ; rdfs:domain pvc:Post ; rdfs:range pvc:PostInclination ; rdfs:label "has post inclination"@en ; skos:definition "Associates a post with its installation inclination (vertical or perpendicular)."@en . pvc:hasGapType a owl:ObjectProperty ; rdfs:domain pvc:Gap ; rdfs:range pvc:GapType ; rdfs:label "has gap type"@en ; skos:definition "Associates a gap with its function (motor or joint)."@en . pvc:referencesModule a owl:ObjectProperty ; rdfs:domain pvc:Rack ; rdfs:range pvc:Module ; rdfs:label "references module"@en ; skos:definition """Links a rack to the module product specification it holds, via the module_id IDREF in the PV-Collada schema."""@en . pvc:referencesRack a owl:ObjectProperty ; rdfs:domain pvc:ModuleLayout ; rdfs:range pvc:Rack ; rdfs:label "references rack"@en ; skos:definition """Cross-domain bridge property: links a circuit ModuleLayout to the physical rack instance (via instance_rack_ref) that holds the module."""@en ; skos:scopeNote "This is the critical join between circuit topology and physical layout."@en . pvc:referencesInverterProduct a owl:ObjectProperty ; rdfs:domain pvc:InverterInstance ; rdfs:range pvc:Inverter ; rdfs:label "references inverter product"@en ; skos:definition "Links a circuit inverter instance to its product specification."@en . pvc:referencesTransformerProduct a owl:ObjectProperty ; rdfs:domain pvc:TransformerInstance ; rdfs:range pvc:Transformer ; rdfs:label "references transformer product"@en ; skos:definition "Links a circuit transformer instance to its product specification."@en . pvc:referencesACCombinerProduct a owl:ObjectProperty ; rdfs:domain pvc:ACCombinerInstance ; rdfs:range pvc:ACCombiner ; rdfs:label "references AC combiner product"@en ; skos:definition "Links a circuit AC combiner instance to its product specification."@en . pvc:referencesDCCombinerProduct a owl:ObjectProperty ; rdfs:domain pvc:DCCombinerInstance ; rdfs:range pvc:DCCombiner ; rdfs:label "references DC combiner product"@en ; skos:definition "Links a circuit DC combiner instance to its product specification."@en . pvc:referencesOptimizerProduct a owl:ObjectProperty ; rdfs:domain pvc:OptimizerInstance ; rdfs:range pvc:Optimizer ; rdfs:label "references optimizer product"@en ; skos:definition "Links a circuit optimizer instance to its product specification."@en . pvc:referencesCableProduct a owl:ObjectProperty ; rdfs:domain pvc:CableTo ; rdfs:range pvc:Cable ; rdfs:label "references cable product"@en ; skos:definition "Links a CableTo connection to the cable product it uses."@en . pvc:hasMPPTUnit a owl:ObjectProperty ; rdfs:domain pvc:Inverter ; rdfs:range pvc:MPPTUnit ; rdfs:label "has MPPT unit"@en ; skos:definition "Associates an inverter product with its MPPT channel specifications."@en . pvc:hasMPPTInput a owl:ObjectProperty ; rdfs:domain pvc:InverterInstance ; rdfs:range pvc:MPPTInput ; rdfs:label "has MPPT input"@en ; skos:definition "Associates a circuit inverter instance with its MPPT channel instances."@en . pvc:hasString a owl:ObjectProperty ; rdfs:domain pvc:MPPTInput ; rdfs:range pvc:String ; rdfs:label "has string"@en ; skos:definition "Associates an MPPT input with its connected PV strings."@en . pvc:hasDCCombinerInput a owl:ObjectProperty ; rdfs:domain pvc:MPPTInput ; rdfs:range pvc:DCCombinerInstance ; rdfs:label "has DC combiner input"@en ; skos:definition "Associates an MPPT input with a DC combiner that aggregates strings."@en . pvc:hasModuleArray a owl:ObjectProperty ; rdfs:domain pvc:String ; rdfs:range pvc:ModuleArray ; rdfs:label "has module array"@en ; skos:definition "Associates a string with its module array (direct-wire configuration)."@en . pvc:hasOptimizerArray a owl:ObjectProperty ; rdfs:domain pvc:String ; rdfs:range pvc:OptimizerArray ; rdfs:label "has optimizer array"@en ; skos:definition "Associates a string with its optimizer array (optimized configuration)."@en . pvc:hasModuleLayout a owl:ObjectProperty ; rdfs:domain pvc:ModuleArray ; rdfs:range pvc:ModuleLayout ; rdfs:label "has module layout"@en ; skos:definition """Associates a module array with its constituent ModuleLayout entries, each describing the position of one module in the string and in the rack."""@en . pvc:hasCableToParent a owl:ObjectProperty ; rdfs:range pvc:CableTo ; rdfs:label "has cable to parent"@en ; skos:definition """Associates a circuit instance with the cable that connects it to its electrical parent node."""@en . pvc:hasCableToNeighbor a owl:ObjectProperty ; rdfs:domain pvc:OptimizerInstance ; rdfs:range pvc:CableTo ; rdfs:label "has cable to neighbor"@en ; skos:definition """Associates an optimizer instance with the cable that daisy-chains it to an adjacent optimizer."""@en . ############################################################################### # D A T A P R O P E R T I E S # # Convention: property name = lowerCamelCase from XSD element name. # Units recorded in skos:scopeNote and (where QUDT units are available) via # qudt:applicableUnit; the runtime value carries the raw numeric literal. ############################################################################### # ── Shared ─────────────────────────────────────────────────────────────────── pvc:manufacturer a owl:DatatypeProperty ; rdfs:label "manufacturer"@en ; rdfs:range xsd:string ; skos:definition "Name of the product manufacturer."@en ; rdfs:seeAlso mds:Manufacturer . # mds:Manufacturer is a class (reified entity); pvc:manufacturer is a # datatype property carrying the manufacturer name string directly. pvc:productName a owl:DatatypeProperty ; rdfs:label "product name"@en ; rdfs:range xsd:string ; skos:definition "Model name of the product (e.g., 'Q.Tron Classic 440W')."@en . # ── Module data properties ──────────────────────────────────────────────────── pvc:nomPower a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "nominal power"@en ; skos:definition "Module power at Standard Test Conditions (STC)."@en ; skos:scopeNote "Unit: W"@en ; qudt:applicableUnit unit:W ; rdfs:seeAlso mds:NameplateMaximumPower . pvc:moduleLength a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "module length"@en ; skos:definition "Length of the module in the longest dimension."@en ; skos:scopeNote "Unit: mm"@en ; qudt:applicableUnit unit:MilliM . pvc:moduleWidth a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "module width"@en ; skos:definition "Width of the module orthogonal to its longest dimension."@en ; skos:scopeNote "Unit: mm"@en ; qudt:applicableUnit unit:MilliM . pvc:moduleDepth a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "module depth"@en ; skos:definition "Depth (thickness) of the module."@en ; skos:scopeNote "Unit: mm"@en ; qudt:applicableUnit unit:MilliM . pvc:numCells a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:positiveInteger ; rdfs:label "number of cells"@en ; skos:definition "Total number of PV cells in the module."@en ; rdfs:seeAlso mds:CellNumber . pvc:numCellsLength a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:positiveInteger ; rdfs:label "number of cells in length"@en ; skos:definition "Number of cells arranged along the length dimension."@en . pvc:numCellsWidth a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:positiveInteger ; rdfs:label "number of cells in width"@en ; skos:definition "Number of cells arranged along the width dimension."@en . pvc:numCellsSeries a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:positiveInteger ; rdfs:label "cells in series per string"@en ; skos:definition "Number of series-connected cells in a single internal string."@en ; rdfs:seeAlso mds:CellNumberPerString , mds:NumberOfCellsPerString . pvc:numStrings a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:positiveInteger ; rdfs:label "number of internal strings"@en ; skos:definition "Number of parallel internal cell strings within the module."@en ; rdfs:seeAlso mds:ModuleParallelStringsNumber , mds:NumberStrings . pvc:bifacialFactor a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "bifaciality factor"@en ; skos:definition "Ratio of rear-side to front-side quantum efficiency for bifacial modules (dimensionless, 0–1)."@en . pvc:tCoefPower a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "temperature coefficient of power"@en ; skos:definition "Change in maximum power per degree Celsius."@en ; skos:scopeNote "Unit: %/°C"@en ; rdfs:seeAlso mds:ModuleTemperatureCoefficientPower . pvc:tCoefIsc a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "temperature coefficient of short-circuit current"@en ; skos:definition "Change in short-circuit current per degree Celsius."@en ; skos:scopeNote "Unit: A/°C"@en ; rdfs:seeAlso mds:ModuleTemperatureCoefficientCurrent . pvc:tCoefVoc a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "temperature coefficient of open-circuit voltage"@en ; skos:definition "Change in open-circuit voltage per degree Celsius."@en ; skos:scopeNote "Unit: V/°C"@en ; rdfs:seeAlso mds:ModuleTemperatureCoefficientVoltage . pvc:iSc a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "short-circuit current at STC"@en ; skos:definition "Module short-circuit current at Standard Test Conditions."@en ; skos:scopeNote "Unit: A"@en ; qudt:applicableUnit unit:A ; rdfs:seeAlso mds:ShortCircuitCurrent , mds:NameplateShortCircuitCurrent . pvc:iMpp a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "current at maximum power point at STC"@en ; skos:definition "Module current at the maximum power point under STC."@en ; skos:scopeNote "Unit: A"@en ; qudt:applicableUnit unit:A ; rdfs:seeAlso mds:CurrentAtMaximumPower , mds:NameplateCurrentAtMaximumPower . pvc:vOc a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "open-circuit voltage at STC"@en ; skos:definition "Module open-circuit voltage at Standard Test Conditions."@en ; skos:scopeNote "Unit: V"@en ; qudt:applicableUnit unit:V ; rdfs:seeAlso mds:OpenCircuitVoltage , mds:NameplateOpenCircuitVoltage . pvc:vMpp a owl:DatatypeProperty ; rdfs:domain pvc:Module ; rdfs:range xsd:float ; rdfs:label "voltage at maximum power point at STC"@en ; skos:definition "Module voltage at the maximum power point under STC."@en ; skos:scopeNote "Unit: V"@en ; qudt:applicableUnit unit:V ; rdfs:seeAlso mds:VoltageAtMaximumPower . # ── Inverter data properties ────────────────────────────────────────────────── pvc:nomPowerAC a owl:DatatypeProperty ; rdfs:domain pvc:Inverter ; rdfs:range xsd:float ; rdfs:label "nominal AC power"@en ; skos:definition "Inverter AC output power at rating conditions."@en ; skos:scopeNote "Unit: W"@en ; qudt:applicableUnit unit:W . pvc:nomPowerDC a owl:DatatypeProperty ; rdfs:domain pvc:Inverter ; rdfs:range xsd:float ; rdfs:label "nominal DC power"@en ; skos:definition "Inverter DC input power at rating conditions."@en ; skos:scopeNote "Unit: W"@en ; qudt:applicableUnit unit:W . pvc:capacityAC a owl:DatatypeProperty ; rdfs:domain pvc:Inverter ; rdfs:range xsd:float ; rdfs:label "maximum AC capacity"@en ; skos:definition "Maximum inverter AC output power."@en ; skos:scopeNote "Unit: W"@en ; qudt:applicableUnit unit:W . pvc:capacityDC a owl:DatatypeProperty ; rdfs:domain pvc:Inverter ; rdfs:range xsd:float ; rdfs:label "maximum DC capacity"@en ; skos:definition "Maximum inverter DC input power."@en ; skos:scopeNote "Unit: W"@en ; qudt:applicableUnit unit:W . pvc:vMppMin a owl:DatatypeProperty ; rdfs:range xsd:float ; rdfs:label "minimum MPPT voltage"@en ; skos:definition "Minimum DC voltage for MPPT tracking."@en ; skos:scopeNote "Unit: V"@en ; qudt:applicableUnit unit:V . pvc:vMppMax a owl:DatatypeProperty ; rdfs:range xsd:float ; rdfs:label "maximum MPPT voltage"@en ; skos:definition "Maximum DC voltage for MPPT tracking."@en ; skos:scopeNote "Unit: V"@en ; qudt:applicableUnit unit:V . pvc:vMppNom a owl:DatatypeProperty ; rdfs:range xsd:float ; rdfs:label "nominal MPPT voltage"@en ; skos:definition "Nominal DC voltage for MPPT tracking."@en ; skos:scopeNote "Unit: V"@en ; qudt:applicableUnit unit:V . pvc:iMaxDC a owl:DatatypeProperty ; rdfs:domain pvc:Inverter ; rdfs:range xsd:float ; rdfs:label "maximum DC current"@en ; skos:definition "Maximum DC input current to the inverter."@en ; skos:scopeNote "Unit: A"@en ; qudt:applicableUnit unit:A . pvc:mpptCount a owl:DatatypeProperty ; rdfs:domain pvc:Inverter ; rdfs:range xsd:positiveInteger ; rdfs:label "MPPT count"@en ; skos:definition "Number of MPPT channels on the inverter."@en . pvc:vOutAC a owl:DatatypeProperty ; rdfs:domain pvc:Inverter ; rdfs:range xsd:float ; rdfs:label "nominal AC output voltage"@en ; skos:definition "Nominal AC output voltage of the inverter."@en ; skos:scopeNote "Unit: V"@en ; qudt:applicableUnit unit:V . pvc:selfConsumption a owl:DatatypeProperty ; rdfs:domain pvc:Inverter ; rdfs:range xsd:float ; rdfs:label "self consumption"@en ; skos:definition "Power consumed by the inverter during normal operation."@en ; skos:scopeNote "Unit: W"@en ; qudt:applicableUnit unit:W . pvc:nightTare a owl:DatatypeProperty ; rdfs:domain pvc:Inverter ; rdfs:range xsd:float ; rdfs:label "night tare power"@en ; skos:definition "Standby power consumed by the inverter when not generating."@en ; skos:scopeNote "Unit: W"@en ; qudt:applicableUnit unit:W . pvc:efficiency a owl:DatatypeProperty ; rdfs:range xsd:float ; rdfs:label "efficiency"@en ; skos:definition "Maximum efficiency as AC output power / DC input power."@en ; skos:scopeNote "Unit: %; range 0–100"@en . pvc:efficiencyStandardValue a owl:DatatypeProperty ; rdfs:domain pvc:Inverter ; rdfs:range xsd:float ; rdfs:label "efficiency standard value"@en ; skos:definition "Weighted efficiency computed per the standard specified by efficiencyStandardType."@en ; skos:scopeNote "Unit: %; range 0–100"@en . # ── MPPT unit data properties ───────────────────────────────────────────────── pvc:inputCount a owl:DatatypeProperty ; rdfs:range xsd:positiveInteger ; rdfs:label "input count"@en ; skos:definition "Number of parallel inputs (strings) that can be connected."@en . # ── Transformer data properties ─────────────────────────────────────────────── pvc:vIn a owl:DatatypeProperty ; rdfs:domain pvc:Transformer ; rdfs:range xsd:float ; rdfs:label "nominal input voltage"@en ; skos:definition "Nominal AC input voltage of the transformer."@en ; skos:scopeNote "Unit: V"@en ; qudt:applicableUnit unit:V . pvc:vOut a owl:DatatypeProperty ; rdfs:domain pvc:Transformer ; rdfs:range xsd:float ; rdfs:label "nominal output voltage"@en ; skos:definition "Nominal AC output voltage of the transformer."@en ; skos:scopeNote "Unit: V"@en ; qudt:applicableUnit unit:V . pvc:ironLoss a owl:DatatypeProperty ; rdfs:domain pvc:Transformer ; rdfs:range xsd:float ; rdfs:label "iron core loss"@en ; skos:definition "No-load loss in the transformer iron core, independent of output current."@en ; skos:scopeNote "Unit: W"@en ; qudt:applicableUnit unit:W . pvc:copperLoss a owl:DatatypeProperty ; rdfs:domain pvc:Transformer ; rdfs:range xsd:float ; rdfs:label "winding resistance (copper loss)"@en ; skos:definition "Equivalent series resistance used to compute winding (copper) losses."@en ; skos:scopeNote "Unit: Ω"@en ; qudt:applicableUnit unit:OHM . pvc:nightDisconnect a owl:DatatypeProperty ; rdfs:domain pvc:Transformer ; rdfs:range xsd:boolean ; rdfs:label "night disconnect"@en ; skos:definition "True if the transformer automatically disconnects from the grid at night."@en . # ── Cable data properties ───────────────────────────────────────────────────── pvc:crossSection a owl:DatatypeProperty ; rdfs:domain pvc:Cable ; rdfs:range xsd:float ; rdfs:label "cross-section area"@en ; skos:definition "Conductor cross-sectional area."@en ; skos:scopeNote "Unit: mm²"@en . pvc:numConductors a owl:DatatypeProperty ; rdfs:domain pvc:Cable ; rdfs:range xsd:positiveInteger ; rdfs:label "number of conductors"@en ; skos:definition "Number of electrical conductors in the cable."@en . pvc:resistance a owl:DatatypeProperty ; rdfs:domain pvc:Cable ; rdfs:range xsd:float ; rdfs:label "resistance per unit length"@en ; skos:definition "DC electrical resistance per kilometre of cable."@en ; skos:scopeNote "Unit: Ω/km"@en . pvc:impedance a owl:DatatypeProperty ; rdfs:domain pvc:Cable ; rdfs:range xsd:float ; rdfs:label "impedance per unit length"@en ; skos:definition "AC impedance per kilometre of cable."@en ; skos:scopeNote "Unit: Ω/km"@en . # ── Rack data properties ────────────────────────────────────────────────────── pvc:rowSpacing a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:float ; rdfs:label "row spacing"@en ; skos:definition "Spacing between modules in the row direction on a rack."@en . pvc:columnSpacing a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:float ; rdfs:label "column spacing"@en ; skos:definition "Spacing between modules in the column direction on a rack."@en . pvc:moduleRows a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:positiveInteger ; rdfs:label "module rows"@en ; skos:definition "Number of rows of modules on the rack."@en . pvc:moduleColumns a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:positiveInteger ; rdfs:label "module columns"@en ; skos:definition "Number of columns of modules on the rack."@en . pvc:tilt a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:float ; rdfs:label "rack tilt"@en ; skos:definition "Tilt angle from horizontal of a fixed rack."@en ; skos:scopeNote "Unit: °; applies to FixedTiltRack only."@en . pvc:azimuth a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:float ; rdfs:label "rack azimuth"@en ; skos:definition "Azimuth angle of a fixed rack (direction modules face)."@en ; skos:scopeNote "Unit: °; applies to FixedTiltRack only."@en . pvc:slope a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:float ; rdfs:label "rack slope"@en ; skos:definition "Slope of a fixed rack in the direction 90° counterclockwise from azimuth."@en ; skos:scopeNote "Unit: °"@en . pvc:heightAboveGround a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:float ; rdfs:label "height above ground"@en ; skos:definition "Height of the lower edge of a fixed rack above ground level."@en . pvc:trackerAzimuth a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:float ; rdfs:label "tracker azimuth"@en ; skos:definition """Azimuth of a tracker torque tube. Rotation is a right-hand rotation around this axis; e.g., positive rotation at azimuth 180° is westward."""@en ; skos:scopeNote "Unit: °; applies to TrackerRack only."@en . pvc:trackerSlope a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:float ; rdfs:label "tracker slope"@en ; skos:definition "Slope of a tracker torque tube in the direction of its azimuth."@en ; skos:scopeNote "Unit: °"@en . pvc:trackerHeight a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:float ; rdfs:label "tracker height"@en ; skos:definition "Height of the tracker torque tube centre above ground."@en . pvc:rackOffset a owl:DatatypeProperty ; rdfs:domain pvc:Rack ; rdfs:range xsd:float ; rdfs:label "rack offset"@en ; skos:definition "Distance from the rack surface to the tracker torque tube centre."@en . # ── Table data properties ───────────────────────────────────────────────────── pvc:trackerMaxRotation a owl:DatatypeProperty ; rdfs:domain pvc:Table ; rdfs:range xsd:string ; rdfs:label "tracker maximum rotation"@en ; skos:definition """Pair of values (negative, positive) giving the nominal maximum rotation angles from horizontal for a single-axis tracker, e.g., '-45 45'."""@en ; skos:scopeNote "Unit: °; encoded as two space-separated floats."@en . pvc:trackerTorqueTubeDiameter a owl:DatatypeProperty ; rdfs:domain pvc:Table ; rdfs:range xsd:float ; rdfs:label "torque tube diameter"@en ; skos:definition "Nominal diameter of the single-axis tracker torque tube."@en . pvc:trackerMaxGapAngle a owl:DatatypeProperty ; rdfs:domain pvc:Table ; rdfs:range xsd:float ; rdfs:label "maximum gap angle"@en ; skos:definition "Maximum angle formed in the torque axis at a gap between racks."@en ; skos:scopeNote "Unit: °"@en . # ── Post data properties ────────────────────────────────────────────────────── pvc:postDepth a owl:DatatypeProperty ; rdfs:domain pvc:Post ; rdfs:range xsd:float ; rdfs:label "post underground depth"@en ; skos:definition "Nominal depth of the post driven underground."@en . pvc:postLength a owl:DatatypeProperty ; rdfs:domain pvc:Post ; rdfs:range xsd:float ; rdfs:label "post total length"@en ; skos:definition "Total length of the post including the underground portion."@en . pvc:postDiameter a owl:DatatypeProperty ; rdfs:domain pvc:Post ; rdfs:range xsd:float ; rdfs:label "post diameter"@en ; skos:definition "Diameter of the post cross-section."@en . # ── Gap data properties ─────────────────────────────────────────────────────── pvc:rigid a owl:DatatypeProperty ; rdfs:domain pvc:Gap ; rdfs:range xsd:boolean ; rdfs:label "rigid"@en ; skos:definition "True if the gap is rigid; false if it allows torque tube flexion."@en . pvc:gapWidth a owl:DatatypeProperty ; rdfs:domain pvc:Gap ; rdfs:range xsd:float ; rdfs:label "gap width"@en ; skos:definition "Nominal width of the gap between the two adjacent racks."@en . pvc:jointAngle a owl:DatatypeProperty ; rdfs:domain pvc:Gap ; rdfs:range xsd:float ; rdfs:label "joint angle"@en ; skos:definition "Maximum flexion angle of a non-rigid joint gap."@en ; skos:scopeNote "Unit: °"@en . # ── Terrain data properties ─────────────────────────────────────────────────── pvc:vertexCount a owl:DatatypeProperty ; rdfs:domain pvc:Terrain ; rdfs:range xsd:positiveInteger ; rdfs:label "vertex count"@en ; skos:definition "Number of vertices in the triangulated terrain surface mesh."@en . pvc:triangleCount a owl:DatatypeProperty ; rdfs:domain pvc:Terrain ; rdfs:range xsd:positiveInteger ; rdfs:label "triangle count"@en ; skos:definition "Number of triangular faces in the terrain surface mesh."@en . # ── Project data properties ─────────────────────────────────────────────────── pvc:projectName a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:string ; rdfs:label "project name"@en ; skos:definition "Name of the PV project."@en . pvc:drawing a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:string ; rdfs:label "drawing reference"@en ; skos:definition "Drawing or document reference associated with the project."@en . pvc:company a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:string ; rdfs:label "company"@en ; skos:definition "Name of the company or organisation responsible for the project."@en . pvc:country a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:string ; rdfs:label "country"@en ; skos:definition "ISO 3166 alpha-2 or alpha-3 country code for the project location."@en . pvc:timezone a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:string ; rdfs:label "timezone"@en ; skos:definition "IANA timezone string for the project location (e.g., 'America/Phoenix')."@en . pvc:timezoneOffset a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:float ; rdfs:label "timezone offset"@en ; skos:definition "UTC offset in hours; positive values are East of UTC."@en ; skos:scopeNote "Unit: h"@en . pvc:localProjection a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:string ; rdfs:label "local projection"@en ; skos:definition """EPSG code for the coordinate projection used to relate local (x,y,z) coordinates to geocoordinates (e.g., 'EPSG:3857')."""@en . pvc:moduleCount a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:positiveInteger ; rdfs:label "module count"@en ; skos:definition "Total number of PV modules in the system."@en . pvc:tableCount a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:positiveInteger ; rdfs:label "table count"@en ; skos:definition "Total number of tables in the physical layout."@en . pvc:stringCount a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:positiveInteger ; rdfs:label "string count"@en ; skos:definition "Total number of series-connected module strings."@en . pvc:systemCapacityDC a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:float ; rdfs:label "system DC capacity"@en ; skos:definition "Total DC nameplate capacity of the PV system at STC."@en ; skos:scopeNote "Unit: W"@en ; qudt:applicableUnit unit:W . pvc:systemCapacityAC a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:float ; rdfs:label "system AC capacity"@en ; skos:definition "Total AC capacity at the inverter rating condition."@en ; skos:scopeNote "Unit: W"@en ; qudt:applicableUnit unit:W . pvc:interconnectionLimit a owl:DatatypeProperty ; rdfs:domain pvc:Project ; rdfs:range xsd:float ; rdfs:label "interconnection limit"@en ; skos:definition "AC power limit imposed by the grid interconnection agreement."@en ; skos:scopeNote "Unit: W"@en ; qudt:applicableUnit unit:W . # ── CableTo data properties ─────────────────────────────────────────────────── pvc:cableLength a owl:DatatypeProperty ; rdfs:domain pvc:CableTo ; rdfs:range xsd:decimal ; rdfs:label "cable length"@en ; skos:definition "Installed length of this cable run."@en ; skos:scopeNote "Unit: m (assumed SI default; verify against project file)"@en . # ── ModuleLayout data properties ────────────────────────────────────────────── pvc:positionInString a owl:DatatypeProperty ; rdfs:domain pvc:ModuleLayout ; rdfs:range xsd:integer ; rdfs:label "position in string"@en ; skos:definition "Sequential index of this module within its series string (1-based)."@en . pvc:rackRow a owl:DatatypeProperty ; rdfs:domain pvc:ModuleLayout ; rdfs:range xsd:integer ; rdfs:label "rack row"@en ; skos:definition "Row index of the module slot on the physical rack."@en . pvc:rackColumn a owl:DatatypeProperty ; rdfs:domain pvc:ModuleLayout ; rdfs:range xsd:integer ; rdfs:label "rack column"@en ; skos:definition "Column index of the module slot on the physical rack."@en . ############################################################################### # E N D O F F I L E ###############################################################################