From 7db03d229bd742cd9028212b855689917e02a9dd Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Wed, 11 Dec 2024 10:15:42 -0700 Subject: [PATCH] remove cached constraints --- constraints.json | 9182 ---------------------------------------------- 1 file changed, 9182 deletions(-) delete mode 100644 constraints.json diff --git a/constraints.json b/constraints.json deleted file mode 100644 index cfd2674..0000000 --- a/constraints.json +++ /dev/null @@ -1,9182 +0,0 @@ -{ - "pub:purpose": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:purpose", - "stable_id": "ns4:purpose", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\n ns1:title \"PURPOSE\" ;\n rdfs:comment \"The purpose of this standard is to define formal knowledge concepts and a methodology to apply them to create interoperable, machine-readable semantic frameworks for representing building automation and control data, and other building system information.\" .\n\n", - "cbds": {} - }, - "pub:scope": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:scope", - "stable_id": "ns4:scope", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\n ns1:title \"SCOPE\" ;\n rdfs:comment \"\"\"This standard provides a comprehensive way to apply semantic formalisms to represent the context of building system data and relationships between the associated building mechanical system components so that software applications can find and understand the information in an automated way. It is intended to facilitate the development and implementation of building analytics tools and enterprise knowledge applications that can implement many building system functions, including:\n\n(a) automated fault detection and diagnostics,\n(b) building system commissioning,\n(c) digital twins,\n(d) optimization of energy use, and\n(e) smart grid interactions.\n\"\"\" .\n\n", - "cbds": {} - }, - "pub:definitions": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:definitions", - "stable_id": "ns4:definitions", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n\n ns1:subclauses ( ) ;\n ns1:title \"DEFINITIONS\" .\n\n", - "cbds": {} - }, - "pub:definitions-terms": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:definitions-terms", - "stable_id": "ns4:definitions-terms", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\n ns1:title \"Terms Defined for this Standard\" ;\n rdfs:comment \"\"\"\n**Connectable:** an abstract class that represents a thing (Equipment or DomainSpace) that can be connected via ConnectionPoints and Connections.\n\n**Connection:** the modeling construct used to represent a physical thing (e.g., pipe, duct, orconductor) that is used to convey some Medium (e.g., water, air, or electricity) between two Connectable things.\n\n**ConnectionPoint:** an abstract modeling construct used to represent the fact that one Connectable thing can be connected to another Connectable thing using a Connection. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made.\n\nDomain: a categorization of building service or specialization used to characterize equipment or spaces in a building. Example domains include HVAC, lighting, and plumbing.\n\n**DomainSpace:** a portion or the entirety of a PhysicalSpace that is associated with a Domain, such as lighting, HVAC, or physical security. DomainSpaces can be combined to form a Zone.\n\n**Duct:** a subclass of Connection that is used to transport air such as supply, return, and exhaust in HVAC (Heating, Ventilation, and Air Conditioning) systems. \n\n**Conductor:** a subclass of Connection that represents one or more wires used to convey electricity.\n\n**Equipment:** the modeling construct used to represent a device designed to accomplish a specific task. Examples include a pump, fan, heat exchanger, luminaire, temperature sensor, or flow meter. A piece of equipment can contain another piece of equipment. For example, an air handling unit can contain a cooling coil.\n\n**PhysicalSpace:** an architectural concept that represents a room, a collection of rooms such as a floor, a part of a room, or any physical space that might not even be thought of as a room, such as a patio.\n\n**Pipe:** a subclass of Connection that is used primarily to transport liquids and gases such as water, sewage, natural gas, and compressed air.\n\n**System:** a logical grouping (collection) of Equipment for some functional purpose. Examples of possible systems include an air distribution system, or a hot water system. Systems can contain other Systems. A System does not participate in Connections.\n\n**Zone:** a collection of DomainSpaces of a specific domain that are grouped together from the perspective of building services or controls.\n\n\"\"\" .\n\n", - "cbds": {} - }, - "pub:abbrev": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:abbrev", - "stable_id": "ns4:abbrev", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\n ns1:title \"Abbreviations and Acronyms Used in this Standard\" ;\n rdfs:comment \"\"\"\n\nIFC Industry Foundation Class\nRDF Resource Description Framework\nSHACL Shapes Constraint Language\nSPARQL SPARQL Protocol and RDF Query Language\nTurtle Terse RDF Triple Language\nW3C Worldwide Web Consortium\n\n\"\"\" .\n\n", - "cbds": {} - }, - "pub:conceptual-framework": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:conceptual-framework", - "stable_id": "ns4:conceptual-framework", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\n ns1:subclauses ( ) ;\n ns1:title \"CONCEPTUAL FRAMEWORK FOR SEMANTIC MODELING OF BUILDING SYSTEMS AND DATA\" ;\n rdfs:comment \"\"\"\nThis standard defines modeling constructs for use in creating a machine-readable representation of building systems, the building spaces that they serve, \nand the measurement and control points used to provide a safe and comfortable environment for the building occupants. The standard can be considered a \ntoolkit of semantic building blocks and rules for using them to create a semantic model of a particular building or campus of buildings. The resulting model provides \na way for software applications to determine the relationships between the mechanical equipment in the building (i.e., AHU 1 gets chilled water from CH 3 \nand provides conditioned air to VAV Boxes 12 through 15 serving rooms on the third floor) and the meaning of measurements that are available \n(i.e., T16 is a temperature sensor measuring the temperature of the air stream exiting AHU 1).\n\nThe model does not directly contain telemetric data about the real-time operation or past operation of the building systems. It does provide information \nabout the meaning or context of that data and defines external references that are used to point to a source of the data values, thus enablling analytics\n applications to find them. If the data source is a BACnet building automation and control system, the external reference contains the necessary information \n for analytic software to learn which BACnet device, object and property corresponds to the desired piece of information. This enables construction of a BACnet\n message used to read the value.\n\nThese capabilities are achieved by applying concepts, standards, and query tools developed and deployed for information and data science applications outside the building domain. A primary commercial driver for developing these standards and tools is the Semantic Web, an extension of the World Wide Web that was created to make the semantic meaning of data accessible from the Internet machine readable.\n\nThis standard uses Resource Description Framework (RDF) (W3C) and its extended schema (RDFS) to represent the semantic ideas in the model. RDF is a general method for representing semantic ideas as of a triple. A triple consists of a subject, a predicate, and either a literal or an object. For example:\n\nJane hasFriend Dave\n\nJane hasSupervisor Mary\n\nIn this example Jane is the subject of both triples, there are two different predicates, hasFriend and hasSupervisor, and there are two different objects,\n Dave and Mary. The number of triples is expanded as needed to capture the desired information. The collection of triples represents a directed\n multi-graph that can be searched or queried to answer questions or to infer information that may not be explicit in the graph. Figure 4-1 is a graph that\n corresponds to this example.\n\n![Example triple graph.](figures/Figure_4-1_Triple_Example.svg)\n\nThis standard defines subjects, predicates, and objects relevant to the building space that are used to build a multi-graph representing a specific\n building or group of buildings. A compelling advantage of this graph-based approach is the ability to combine semantic graphs derived from complementary\n semantic models that apply to the same building. This makes it possible to take advantage of the combined information from distinct domains. For example, a \n RealEstateCore model that captures how spaces are assigned to different tenants in a building linked to the spaces represented in a Standard 223 model \n results in a semantic model containing the combined information. In a similar way, it is possible to link information from a computerized maintenance \n management system or an asset management system to the semantic graph of a Standard 223 model by adding a triple that binds a piece of equipment to its \n representation in the other system.. \n\nA model constructed from this standard describes the topology of the equipment and spaces in a building but not the geometric details. Linking a \nStandard 223 model with an RDF representation of a building information model would add that geometric information. \n\nAnother advantage of using RDF to model building systems is that a query language standard, SPARQL (W3C SPARQL), exists and tools that implement SPARQL \nare readily available. A building analytics tool developer needs only to create a library of queries relevant to their application, and use these queries \nto interrogate any Standard 223 conformant model to find what they need from that building for their application.\n\nUsing RDF also provides a way to build conformance constraints into this standard in a way that enables conformance to be algorithmically verified. \nThis is done by using a different W3C standard, Shapes Constraints Language (SHACL) (W3C SHACL). SHACL defines a way to constrain the construction of RDF \ngraphs through the application of custom developed rules called shapes. The normative constraints described in this standard are formalized in \nSHACL shapes. The description of each concept defined in this standard includes a table that lists related conformance constraints defined by these \nSHACL shapes. Readily available SHACL reasoners check whether or not a particular model instance conforms to the shapes defined in this standard.\n\nSHACL is also used in this standard to derive implicit information. The triples generated from this inference process enhance the ability to make useful \nqueries without the burden of a modeler crafting each predicate that might be useful in common searches. The goal is to make model development easier without sacrificing the utility application \ndevelopers need to find what they are looking for. The description of each concept defined in this standard with related inference rules includes a \ntable that lists the relevant SHACL shapes that apply the inferencing.\n\nThe Terse RDF Triple Language (W3C Turtle) defines a textual syntax to represent and exchange RDF models.\n\nBecause this standard includes references to measurements of physical properties, it is necessary to provide a model representation of units of measure \nas well as what those units are quantifying (e.g., temperature, power, etc.). This standard builds upon the \"Quantities, Units, Dimensions and \nTypes\" (QUDT) ontology which is the leading open-source model expressed in RDF/SHACL. The QUDT model is documented at https://qudt.org. The key \nconcepts used here are the classes qudt:Unit and qudt:QuantityKind.\n\nThe normative content of this standard is documented in an RDF model textualized using Turtle (see `pub:AnnexA`). All models conforming to this standard shall be textualized using Turtle.\n\nBecause it is anticipated that models conforming to this standard will be combined with other semantic models, it is necessary to define a namespace for the \nconcepts defined by this standard to avoid any possible ambiguities that might arise from the same name being used in the complementary model. In this standard \nand all conforming models, the prefix \u201cs223:\u201d shall be used in the name of each concept (class and property) defined by this standard, e.g., s223:Equipment. \nThe prefix \u201cs223:\u201d is reserved for this standard. Users who extend this standard with additional concept definitions shall use a different prefix for their concepts. The \nuse of different prefixes for different models allows the combination of models without ambiguity, and makes it possible to enforce a closed-world assumption \nfor concepts that use the \"s223:\" prefix, namely allowing the use of a property with a given class only if a SHACL shape has been defined for that use (see `s223:Concept`). The \nclosed-world assumption is a fundamental principle of semantic modeling that states that if a concept is not defined \nin the model, then it is not part of the model. This principle is essential for the development of semantic models that can be used to make inferences about the \nreal world. Managing the use of the \"s223:\" prefix also makes it possible to test for strict conformance to the standard.\n\nThe concepts and properties mentioned below were designed to aid in standard development using RDF and SHACL exclusively and avoiding any dependence on OWL axioms. \nThis approach was chosen to avoid some of the shortcomings of using OWL in industrial settings, such as the open world assumption, the many flavors of OWL and their \nsupport, and the sometimes counterintuitive implications of OWL reasoning for non-ontologists. (For example, if an instance satisfies the OWL axioms for a class, then \nit is inferred to be an instance of that class). The use of SHACL shapes to define constraints and inferencing rules is a more intuitive way to define intended\nmodel behavior and to verify conformance to the standard. The two most-used OWL inferences, supporting symmetric and inverse properties, are redefined in this standard \nusing SHACL rules.\n\n\"\"\" .\n\n", - "cbds": {} - }, - "pub:Conform-Constraints": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:Conform-Constraints", - "stable_id": "ns4:Conform-Constraints", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\n ns1:title \"Conformance Constraints and Validation\" ;\n rdfs:comment \"\"\" Using RDF also provides a way to build conformance constraints into this standard in a way that enables conformance to be algorithmically \nverified. This is done by using a different W3C standard, Shapes Constraints Language (SHACL) (W3C SHACL). SHACL defines a way to constrain how RDF graphs \ncan be constructed through the application of custom developed rules called shapes. The normative constraints described in this standard are formalized in \nSHACL shapes. The description of each concept defined in this standard includes a table that lists related conformance constraints defined by these SHACL \nshapes. Readily available SHACL reasoners can use the shapes defined in this standard to determine if a particular model instance violates conformance to the standard.\n\nWhen a SHACL reasoner is applied to a model, discrepancies from the conformance constraints result in a message from the reasoner with one of three levels \nof severity (sh:severity).\n\nA message with a severity sh:Info means that a model construct is incomplete. \n\nA message with a severity sh:Warning means that a model construct is used in an unexpected way.\n\nA message with a severity sh:Violation means a model construct is invalid and does not comply with the standard.\n\nThe concepts and properties defined in `s223:Class` through `s223:abstract` were designed to aid in standard development using RDF and SHACL exclusively and\navoiding any dependence on OWL\naxioms. This approach was chosen to avoid some of the shortcomings of using OWL in industrial settings, such as the open world assumption, the many flavors \nof OWL and their support, and the sometimes counterintuitive implications of OWL reasoning for non-ontologists. (For example, if an instance satisfies the \nOWL axioms for a class, then it is inferred to be an instance of that class). The use of SHACL shapes to define constraints and inferencing rules is a more \nintuitive way to define intended model behavior and to verify conformance to the standard. The two most-used OWL inferences, supporting symmetric and inverse\n properties, are redefined in this standard using SHACL rules.\n \"\"\" .\n\n", - "cbds": {} - }, - "pub:Implicit-Info": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:Implicit-Info", - "stable_id": "ns4:Implicit-Info", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\n ns1:title \"Deriving Implicit Information from Inference Rules\" ;\n rdfs:comment \"\"\" SHACL is also used in this standard to derive implicit information via a process called inferencing. Inference rules are used to define \nhow new triples are generated. The triples generated from this inference process enhance the ability to make useful queries without the burden of a modeler \ncrafting each one. The goal is to make model development easier without sacrificing the utility application developers need to find what they are looking \nfor. The description of each concept defined in this standard with related inference rules includes a table that lists the relevant SHACL shapes that specify \nthe inferencing. \"\"\" .\n\n", - "cbds": {} - }, - "pub:Text-Serialization": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:Text-Serialization", - "stable_id": "ns4:Text-Serialization", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\n ns1:title \"Textual Serialization\" ;\n rdfs:comment \"\"\" The Terse RDF Triple Language (W3C Turtle) defines a textual syntax to represent and exchange RDF models.\nThe normative content of this standard is documented in an RDF model textualized using Turtle (see Clause 15). All models conforming to this standard shall \nbe textualized using Turtle.\n\"\"\" .\n\n", - "cbds": {} - }, - "pub:Units": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:Units", - "stable_id": "ns4:Units", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\n ns1:title \"Units of Measure\" ;\n rdfs:comment \"\"\" Because this standard includes references to measurements of physical properties, it is necessary to provide a model representation of \nunits of measure as well as what those units are quantifying (e.g. temperature, power, etc.). This standard builds upon the \u201cQuantities, Units, Dimensions \nand Types\u201d (QUDT) ontology which is the leading open-source model expressed in RDF/SHACL. The QUDT model is documented at https://qudt.org. The key concepts \nused here are the classes qudt:Unit and qudt:QuantityKind. The 223 standard is compatible with Version 2.1.41 of QUDT and is expected to be compatible with \nall newer versions as well.\"\"\" .\n\n", - "cbds": {} - }, - "pub:Namespace": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:Namespace", - "stable_id": "ns4:Namespace", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\n ns1:title \"Namespace\" ;\n rdfs:comment \"\"\" Because it is anticipated that models conforming to this standard will be combined with other semantic models, it is necessary to define \na namespace for the concepts defined by this standard to avoid any possible ambiguities that might arise from a similar name used in the complementary model.\n In this standard and all conforming models, the prefix \u201cs223:\u201d shall be used in the name of each concept (class and property) defined by this standard, \n e.g., s223:Equipment.\n \"\"\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Class": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b106", - "nd65da433b8c64822b829e7f0030fcda9b102", - "nd65da433b8c64822b829e7f0030fcda9b103", - "nd65da433b8c64822b829e7f0030fcda9b100", - "nd65da433b8c64822b829e7f0030fcda9b104", - "nd65da433b8c64822b829e7f0030fcda9b105", - "nd65da433b8c64822b829e7f0030fcda9b101" - ], - "complex_constraints": [], - "rules": [], - "label": "Class", - "stable_id": "ns3:Class", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b106": "Every class of the 223 standard must have an rdfs:comment. ", - "nd65da433b8c64822b829e7f0030fcda9b102": "Ensure that every SPARQLRule must have an rdfs:comment. ", - "nd65da433b8c64822b829e7f0030fcda9b103": "Ensure that every TripleRule must have an rdfs:comment. ", - "nd65da433b8c64822b829e7f0030fcda9b100": "Ensure that any property shape must have an rdfs:comment. ", - "nd65da433b8c64822b829e7f0030fcda9b104": "Every class of the 223 standard must also be an instance of sh:NodeShape. ", - "nd65da433b8c64822b829e7f0030fcda9b105": "Every class of the 223 standard must be a direct or indirect subclass of s223:Concept. ", - "nd65da433b8c64822b829e7f0030fcda9b101": "Ensure that any property shape must have an rdfs:comment. " - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b106": "b--6626119072019214462", - "nd65da433b8c64822b829e7f0030fcda9b102": "b-9067236580933492723", - "nd65da433b8c64822b829e7f0030fcda9b103": "b-8519713575980600676", - "nd65da433b8c64822b829e7f0030fcda9b100": "b-7800559531657987285", - "nd65da433b8c64822b829e7f0030fcda9b104": "b--3414248052883767849", - "nd65da433b8c64822b829e7f0030fcda9b105": "b--4102954108230351016", - "nd65da433b8c64822b829e7f0030fcda9b101": "b-7242885338847243582" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a rdfs:Class,\n sh:NodeShape ;\n rdfs:label \"Class\" ;\n rdfs:comment \"This is a modeling construct. All classes defined in the 223 standard are instances of s223:Class rather than owl:Class.\" ;\n rdfs:subClassOf rdfs:Class .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b106": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Every class of the 223 standard must have an rdfs:comment. \" ;\n sh:message \"s223: Class {$this} must have an rdfs:comment.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\nFILTER NOT EXISTS {$this rdfs:comment ?comment} .\n}\n\"\"\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b102": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that every SPARQLRule must have an rdfs:comment. \" ;\n sh:message \"s223: Every SPARQLRule for Class {$this} must have an rdfs:comment.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this sh:rule ?rule .\n?rule a sh:SPARQLRule .\nFILTER NOT EXISTS {?rule rdfs:comment ?comment} .\n}\n\"\"\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b103": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that every TripleRule must have an rdfs:comment. \" ;\n sh:message \"s223: The TripleRule inferring {?pred} for Class {$this} must have an rdfs:comment.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?pred\nWHERE {\n$this sh:rule ?rule .\n?rule a sh:TripleRule .\n?rule sh:predicate ?pred .\nFILTER NOT EXISTS {?rule rdfs:comment ?comment} .\n}\n\"\"\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b100": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that any property shape must have an rdfs:comment. \" ;\n sh:message \"s223: The SPARQLConstraint for path {?path} for Class {$this} must have an rdfs:comment.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?path\nWHERE {\n$this sh:property ?propshape .\n?propshape sh:sparql ?sparqlconstraint .\n?propshape sh:path ?path .\nFILTER NOT EXISTS {?sparqlconstraint rdfs:comment ?comment} .\n}\n\"\"\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b104": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Every class of the 223 standard must also be an instance of sh:NodeShape. \" ;\n sh:message \"s223: Class {$this} must be declared as an instance of sh:NodeShape.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\nFILTER NOT EXISTS {$this a sh:NodeShape} .\n}\n\"\"\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b105": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Every class of the 223 standard must be a direct or indirect subclass of s223:Concept. \" ;\n sh:message \"s223: Class {$this} must be within the rdfs:subClassOf hierarchy under s223:Concept.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\nFILTER NOT EXISTS {$this rdfs:subClassOf* rdf:Property} .\nFILTER NOT EXISTS {$this rdfs:subClassOf* s223:Concept} .\n}\n\"\"\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b101": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that any property shape must have an rdfs:comment. \" ;\n sh:message \"s223: The property shape with path {?path} for Class {$this} must have an rdfs:comment.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?path\nWHERE {\n$this sh:property ?propshape .\n?propshape sh:path ?path .\nFILTER NOT EXISTS {?propshape rdfs:comment ?comment} .\n}\n\"\"\" .\n\n" - } - }, - "http://data.ashrae.org/standard223#Concept": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1086", - "nd65da433b8c64822b829e7f0030fcda9b1096", - "nd65da433b8c64822b829e7f0030fcda9b1094", - "nd65da433b8c64822b829e7f0030fcda9b1088", - "nd65da433b8c64822b829e7f0030fcda9b1090", - "nd65da433b8c64822b829e7f0030fcda9b1095", - "http://data.ashrae.org/standard223#ClosedWorldShape", - "nd65da433b8c64822b829e7f0030fcda9b1092" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b52", - "nd65da433b8c64822b829e7f0030fcda9b1098", - "nd65da433b8c64822b829e7f0030fcda9b132" - ], - "label": "Concept", - "stable_id": "ns3:Concept", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1086": "Incompatible Medium. Case1: An entity with a pure medium and an associated property with a pure medium.", - "nd65da433b8c64822b829e7f0030fcda9b52": "Declare the inverse triples for relations that have defined inverse relations", - "nd65da433b8c64822b829e7f0030fcda9b1098": "Add an rdfs:label if it is missing.", - "nd65da433b8c64822b829e7f0030fcda9b1096": "Incompatible Medium. Case4: An entity with constituents and an associated property with constituents.", - "nd65da433b8c64822b829e7f0030fcda9b1094": "If the relation hasProperty is present, it must associate the concept with a Property.", - "nd65da433b8c64822b829e7f0030fcda9b1088": "Incompatible Medium. Case3: An entity with constituents and an associated property with a pure medium.", - "nd65da433b8c64822b829e7f0030fcda9b1090": "Ensure that any instance that is declared to be an instance of an abstract class must also be declared an instance of at least one subClass of that abstract class.", - "nd65da433b8c64822b829e7f0030fcda9b1095": "A Concept must be associated with at least one label using the relation label.", - "http://data.ashrae.org/standard223#ClosedWorldShape": "Ensure that all instances of an s223 class use only the properties defined for that class. Note that this only applies to s223 and QUDT properties.", - "nd65da433b8c64822b829e7f0030fcda9b132": "Declare the inverse triples for symmetric relations", - "nd65da433b8c64822b829e7f0030fcda9b1092": "Incompatible Medium. Case2: An entity with a pure medium and an associated property with constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1086": "b-6003229687209733185", - "nd65da433b8c64822b829e7f0030fcda9b52": "b-8412929501528402529", - "nd65da433b8c64822b829e7f0030fcda9b1098": "b-6712782977554915690", - "nd65da433b8c64822b829e7f0030fcda9b1096": "b-259130242154261325", - "nd65da433b8c64822b829e7f0030fcda9b1094": "b-9215216286266358606", - "nd65da433b8c64822b829e7f0030fcda9b1088": "b--6193993995085456652", - "nd65da433b8c64822b829e7f0030fcda9b1090": "b-7226848631737446678", - "nd65da433b8c64822b829e7f0030fcda9b1095": "b-8914798820871827350", - "http://data.ashrae.org/standard223#ClosedWorldShape": "ns3:ClosedWorldShape", - "nd65da433b8c64822b829e7f0030fcda9b132": "b-4650241613260364886", - "nd65da433b8c64822b829e7f0030fcda9b1092": "b--1060218973918938500" - }, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\nns1:Concept a ns1:Class,\n sh:NodeShape ;\n rdfs:label \"Concept\" ;\n ns1:abstract true ;\n ns2:subclauses ( ns1:hasProperty ) ;\n rdfs:comment \"All classes defined in the 223 standard are subclasses of s223:Concept.\" ;\n rdfs:subClassOf rdfs:Resource ;\n sh:property [ rdfs:comment \"Incompatible Medium. Case1: An entity with a pure medium and an associated property with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ns1:hasMedium ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case3: An entity with constituents and an associated property with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ns1:hasMedium ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: A medium with constituents and an associated property with a pure medium.\" ;\n sh:message \"s223: {$this} hasMedium of {?m2}, but is associated with property {?prop} that has ofMedium of {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m2 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] ],\n [ rdfs:comment \"Ensure that any instance that is declared to be an instance of an abstract class must also be declared an instance of at least one subClass of that abstract class.\" ;\n sh:path ns1:abstract ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that any instance that is declared to be an instance of an abstract class must also be declared an instance of at least one subClass of that abstract class\" ;\n sh:message \"s223: {$this} cannot be declared an instance of only abstract class {?class}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?class\nWHERE {\n?class s223:abstract true .\n$this a ?class .\nOPTIONAL {\n?otherClass rdfs:subClassOf+ ?class .\n$this a ?otherClass .\nFILTER (?class != ?otherClass) .\n}\nFILTER (!bound (?otherClass)) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case2: An entity with a pure medium and an associated property with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ns1:hasMedium ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A pure medium and an associated property with constituents.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] ],\n [ rdfs:comment \"If the relation hasProperty is present, it must associate the concept with a Property.\" ;\n sh:class ns1:Property ;\n sh:message \"s223: If the relation hasProperty is present, it must associate the concept with a Property.\" ;\n sh:path ns1:hasProperty ],\n [ rdfs:comment \"A Concept must be associated with at least one label using the relation label.\" ;\n sh:message \"s223: A Concept must be associated with at least one label using the relation label.\" ;\n sh:minCount 1 ;\n sh:path rdfs:label ;\n sh:severity sh:Warning ],\n [ rdfs:comment \"Incompatible Medium. Case4: An entity with constituents and an associated property with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ns1:hasMedium ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: A medium with constituents and an associated property with constituents.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] ] ;\n sh:rule [ a sh:SPARQLRule ;\n rdfs:comment \"Add an rdfs:label if it is missing.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this rdfs:label ?newLabel .}\nWHERE {\nFILTER (NOT EXISTS {$this rdfs:label ?something}) .\nBIND(REPLACE(STR($this), \"^.*/([^/]*)$\", \"$1\") AS ?localNameWithoutHash)\nBIND(REPLACE(?localNameWithoutHash, \"^.*#(.*)$\", \"$1\") AS ?localName)\nBIND(REPLACE(?localName, \"-\", \" \", \"i\") AS ?newLabel)\n}\n\"\"\" ;\n sh:name \"AddLabelFromLocalName\" ;\n sh:prefixes ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1086": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case1: An entity with a pure medium and an associated property with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b52": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Declare the inverse triples for relations that have defined inverse relations\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n?o ?invP $this .\n}\nWHERE {\n $this ?p ?o .\n ?p s223:inverseOf ?invP .\n}\n\t\t\t\"\"\" ;\n sh:prefixes .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1098": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Add an rdfs:label if it is missing.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this rdfs:label ?newLabel .}\nWHERE {\nFILTER (NOT EXISTS {$this rdfs:label ?something}) .\nBIND(REPLACE(STR($this), \"^.*/([^/]*)$\", \"$1\") AS ?localNameWithoutHash)\nBIND(REPLACE(?localNameWithoutHash, \"^.*#(.*)$\", \"$1\") AS ?localName)\nBIND(REPLACE(?localName, \"-\", \" \", \"i\") AS ?newLabel)\n}\n\"\"\" ;\n sh:name \"AddLabelFromLocalName\" ;\n sh:prefixes .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1096": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case4: An entity with constituents and an associated property with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: A medium with constituents and an associated property with constituents.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1094": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasProperty is present, it must associate the concept with a Property.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasProperty is present, it must associate the concept with a Property.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1088": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case3: An entity with constituents and an associated property with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: A medium with constituents and an associated property with a pure medium.\" ;\n sh:message \"s223: {$this} hasMedium of {?m2}, but is associated with property {?prop} that has ofMedium of {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m2 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1090": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Ensure that any instance that is declared to be an instance of an abstract class must also be declared an instance of at least one subClass of that abstract class.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that any instance that is declared to be an instance of an abstract class must also be declared an instance of at least one subClass of that abstract class\" ;\n sh:message \"s223: {$this} cannot be declared an instance of only abstract class {?class}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?class\nWHERE {\n?class s223:abstract true .\n$this a ?class .\nOPTIONAL {\n?otherClass rdfs:subClassOf+ ?class .\n$this a ?otherClass .\nFILTER (?class != ?otherClass) .\n}\nFILTER (!bound (?otherClass)) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1095": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Concept must be associated with at least one label using the relation label.\" ;\n sh:message \"s223: A Concept must be associated with at least one label using the relation label.\" ;\n sh:minCount 1 ;\n sh:path rdfs:label ;\n sh:severity sh:Warning .\n\n", - "http://data.ashrae.org/standard223#ClosedWorldShape": "@prefix rdfs: .\n@prefix sh: .\n\n a sh:NodeShape ;\n rdfs:label \"Closed World Shape\" ;\n rdfs:comment \"Ensure that all instances of an s223 class use only the properties defined for that class. Note that this only applies to s223 and QUDT properties.\" ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"\"\"Ensure that all instances of an s223 class use only the properties defined for that class. Note that\nproperties from other namespaces are not checked by this validation.\"\"\" ;\n sh:message \"s223: Predicate {?p} is not defined for instance {$this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?p ?o\nWHERE {\n$this ?p ?o .\nFILTER(STRSTARTS (str(?p), \"http://data.ashrae.org/standard223#\") || STRSTARTS (str(?p), \"http://qudt.org/schema/qudt\"))\nFILTER NOT EXISTS {$this a sh:NodeShape}\nFILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .\n\t\t\t?class sh:property/sh:path ?p .\n}\nFILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .\n?class sh:xone/rdf:rest*/rdf:first/sh:property/sh:path ?p .\n}\nFILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .\n?class sh:or/rdf:rest*/rdf:first/sh:property/sh:path ?p .\n}\n}\n\"\"\" ] ;\n sh:targetClass .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b132": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Declare the inverse triples for symmetric relations\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n?o ?p $this .\n}\nWHERE {\n $this ?p ?o .\n ?p a s223:SymmetricProperty .\n}\n\t\t\t\"\"\" ;\n sh:prefixes .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1092": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case2: An entity with a pure medium and an associated property with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A pure medium and an associated property with constituents.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasProperty": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has Property", - "stable_id": "ns3:hasProperty", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has Property\" ;\n rdfs:comment \"The relation hasProperty is used to associate any 223 Concept with a Property.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#SymmetricProperty": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Symmetric property", - "stable_id": "ns3:SymmetricProperty", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a rdfs:Class,\n sh:NodeShape ;\n rdfs:label \"Symmetric property\" ;\n rdfs:comment \"A SymmetricProperty is modeling construct used to define symmetric behavior for certain properties in the standard such as cnx and connected.\" ;\n rdfs:subClassOf rdf:Property .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#inverseOf": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "inverse of", - "stable_id": "ns3:inverseOf", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"inverse of\" ;\n rdfs:comment \"The relation inverseOf is a modeling construct to associate relations that are inverses of one another, such as connectedTo and connectedFrom.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#abstract": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "abstract", - "stable_id": "ns3:abstract", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix xsd: .\n\n a rdf:Property ;\n rdfs:label \"abstract\" ;\n rdfs:comment \"If the relation abstract has a value of true, the associated class cannot be instantiated. \" ;\n rdfs:range xsd:boolean .\n\n", - "cbds": {} - }, - "pub:equipment": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:equipment", - "stable_id": "ns4:equipment", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\n ns1:subclauses ( ) ;\n ns1:title \"EQUIPMENT\" ;\n rdfs:comment \"\"\"This clause is the top level of the hierarchical structure of the portion of the model that represents the characteristics and features of physical equipment that make up the building systems being modeled. Equipment can be connected to other Equipment or DomainSpaces (See `pub:connectedness`). Equipment can optionally contain other pieces of equipment, providing a way to represent its constituent parts within the model (see `pub:equipment-containment`). Equipment can also be grouped together to define a System (see `pub:system`).\n \n\"\"\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Equipment": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1226", - "nd65da433b8c64822b829e7f0030fcda9b1222", - "nd65da433b8c64822b829e7f0030fcda9b1224", - "nd65da433b8c64822b829e7f0030fcda9b1231", - "nd65da433b8c64822b829e7f0030fcda9b1232", - "nd65da433b8c64822b829e7f0030fcda9b1229", - "nd65da433b8c64822b829e7f0030fcda9b1228", - "nd65da433b8c64822b829e7f0030fcda9b1230" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b1238", - "nd65da433b8c64822b829e7f0030fcda9b1237" - ], - "label": "Equipment", - "stable_id": "ns3:Equipment", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1226": "Warning about a subClass of Equipment of type A containing something that is in the same subClass branch.", - "nd65da433b8c64822b829e7f0030fcda9b1222": "Disallow contained equipment from having external incoming connections.", - "nd65da433b8c64822b829e7f0030fcda9b1224": "Disallow contained equipment from having external outgoing connections.", - "nd65da433b8c64822b829e7f0030fcda9b1237": "For equipment containing another piece of equipment, use the mapsTo relation to infer a Medium from the contained equipment.", - "nd65da433b8c64822b829e7f0030fcda9b1231": "If the relation actuatedByProperty is present it must associate the Equipment with a ActuatableProperty. Note that any Equipment may use this relation, not just Actuator.", - "nd65da433b8c64822b829e7f0030fcda9b1232": "If the relation contains is present it must associate the Equipment with either Equipment or Junction.", - "nd65da433b8c64822b829e7f0030fcda9b1238": "For equipment contained within another piece of equipment use the mapsTo relation to infer a Medium from the containing equipment.", - "nd65da433b8c64822b829e7f0030fcda9b1229": "If the relation executes is present it must associate the Equipment with a Function.", - "nd65da433b8c64822b829e7f0030fcda9b1228": "If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace.", - "nd65da433b8c64822b829e7f0030fcda9b1230": "If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1226": "b--2036718790753359614", - "nd65da433b8c64822b829e7f0030fcda9b1222": "b--6990033023974309885", - "nd65da433b8c64822b829e7f0030fcda9b1224": "b--5990483839120139770", - "nd65da433b8c64822b829e7f0030fcda9b1237": "b--6014126819794897225", - "nd65da433b8c64822b829e7f0030fcda9b1231": "b-4044096279796676092", - "nd65da433b8c64822b829e7f0030fcda9b1232": "b-8414079029119841745", - "nd65da433b8c64822b829e7f0030fcda9b1238": "b--7466649412517676457", - "nd65da433b8c64822b829e7f0030fcda9b1229": "b-2324111919450694233", - "nd65da433b8c64822b829e7f0030fcda9b1228": "b-2328314660233910330", - "nd65da433b8c64822b829e7f0030fcda9b1230": "b--5319091048354455396" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Equipment\" ;\n rdfs:comment \"\"\"\nEquipment is the modeling construct used to represent a device designed to accomplish a specific task, \nor a complex device that contains component pieces of Equipment. This is distinct from a System, which is a logical grouping or collection of Equipment. \nEquipment can have ConnectionPoints and participate \nin the flow of one or more kinds of Medium. Examples of possible equipment include a Pump, Fan, HeatExchanger, Luminaire, \nTemperatureSensor, or FlowSensor.\n\nIn common usage terms like equipment and system have a variety of ambituous and possibly conflicting interpretations. A semantic model\nis an attempt to eliminate such ambiguities and conflicts. If the thing being modeled has a need for ConnectionPoints it must be modeled as Equipment and not a System.\nThus, a complex example like a chlled water plant is modeled as Equipment because it has connection points for distributing chilled water. The same chilled water plant \nmay be part of a logical grouping of pumps, valves, filters, and other things modeled as a chilled water System.\n\nThe graphical depiction of Equipment used in this standard is a rounded cornered rectangle as show in Figure 5-1.\n\n![Graphical Depiction of Equipment.](figures/Figure_5-1Graphical_Depiciton_of_Equipment.svg)\n \"\"\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"Disallow contained equipment from having external incoming connections.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Disallow contained equipment from having external incoming connections.\" ;\n sh:message \"s223: {$this} should not have a connection from external equipment {?otherDev} because {?container} contains {$this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?container ?otherDev\nWHERE {\n$this s223:connectedFrom ?otherDev .\n$this ^s223:contains ?container .\n?container a/rdfs:subClassOf* s223:Equipment .\nFILTER NOT EXISTS {?container s223:contains ?otherDev .}\n}\n\"\"\" ] ],\n [ rdfs:comment \"Disallow contained equipment from having external outgoing connections.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Disallow contained equipment from having external outgoing connections.\" ;\n sh:message \"s223: {$this} should not have a connection to external equipment {?otherDev} because {?container} contains {$this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?container ?otherDev\nWHERE {\n$this s223:connectedTo ?otherDev .\n$this ^s223:contains ?container .\n?container a/rdfs:subClassOf* s223:Equipment .\nFILTER NOT EXISTS {?container s223:contains ?otherDev .}\n}\n\"\"\" ] ],\n [ rdfs:comment \"Warning about a subClass of Equipment of type A containing something that is in the same subClass branch.\" ;\n sh:path ;\n sh:severity sh:Warning ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Warning about a subClass of Equipment of type A containing something that is in the same subClass branch.\" ;\n sh:message \"s223: {$this}, of type {?type1}, contains {?subEquip} of type {?type2}, that could result in double-counting items in the class hierarchy of {?type1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?subEquip ?type1 ?type2\nWHERE {\n FILTER NOT EXISTS {$this a s223:Equipment} .\n$this s223:contains+ ?subEquip .\n FILTER NOT EXISTS {?subEquip a s223:Equipment} .\n$this a ?type1 .\n?subEquip a ?type2 .\n{\n?type2 rdfs:subClassOf* ?type1 .\n}\nUNION\n{\n?type1 rdfs:subClassOf* ?type2 .\n}\n}\n\"\"\" ] ],\n [ rdfs:comment \"If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace.\" ;\n sh:path ],\n [ rdfs:comment \"If the relation executes is present it must associate the Equipment with a Function.\" ;\n sh:class ;\n sh:message \"s223: If the relation executes is present it must associate the Equipment with a Function.\" ;\n sh:path ],\n [ rdfs:comment \"If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role.\" ;\n sh:path ],\n [ rdfs:comment \"\"\"If the relation actuatedByProperty is present it must associate the Equipment with a ActuatableProperty.\nNote that any Equipment may use this relation, not just Actuator.\"\"\" ;\n sh:class ;\n sh:message \"\"\"If the relation actuatedByProperty is present it must associate the Equipment with a ActuatableProperty.\nNote that any Equipment may use this relation, not just Actuator.\"\"\" ;\n sh:path ],\n [ a sh:PropertyShape ;\n rdfs:comment \"If the relation contains is present it must associate the Equipment with either Equipment or Junction.\" ;\n sh:message \"s223: If the relation contains is present it must associate the Equipment with either Equipment or Junction.\" ;\n sh:name \"device contains shape\" ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ] ;\n sh:rule [ a sh:SPARQLRule ;\n rdfs:comment \"For equipment containing another piece of equipment, use the mapsTo relation to infer a Medium from the contained equipment.\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n ?parentCp s223:hasMedium ?medium .\n}\nWHERE {\n $this s223:hasConnectionPoint ?cp .\n ?cp s223:mapsTo ?parentCp .\n ?cp s223:connectsThrough ?connection .\n ?cp s223:hasMedium ?medium .\n FILTER NOT EXISTS {?parentCp s223:hasMedium ?something} .\n}\n\"\"\" ;\n sh:prefixes ],\n [ a sh:SPARQLRule ;\n rdfs:comment \"For equipment contained within another piece of equipment use the mapsTo relation to infer a Medium from the containing equipment.\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n ?childCp s223:hasMedium ?medium .\n}\nWHERE {\n $this s223:hasConnectionPoint ?cp .\n ?childCp s223:mapsTo ?cp .\n ?cp s223:connectsThrough ?connection .\n ?cp s223:hasMedium ?medium .\n FILTER NOT EXISTS {?childCp s223:hasMedium ?something} .\n}\n\"\"\" ;\n sh:prefixes ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1226": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Warning about a subClass of Equipment of type A containing something that is in the same subClass branch.\" ;\n sh:path ;\n sh:severity sh:Warning ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Warning about a subClass of Equipment of type A containing something that is in the same subClass branch.\" ;\n sh:message \"s223: {$this}, of type {?type1}, contains {?subEquip} of type {?type2}, that could result in double-counting items in the class hierarchy of {?type1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?subEquip ?type1 ?type2\nWHERE {\n FILTER NOT EXISTS {$this a s223:Equipment} .\n$this s223:contains+ ?subEquip .\n FILTER NOT EXISTS {?subEquip a s223:Equipment} .\n$this a ?type1 .\n?subEquip a ?type2 .\n{\n?type2 rdfs:subClassOf* ?type1 .\n}\nUNION\n{\n?type1 rdfs:subClassOf* ?type2 .\n}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1222": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Disallow contained equipment from having external incoming connections.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Disallow contained equipment from having external incoming connections.\" ;\n sh:message \"s223: {$this} should not have a connection from external equipment {?otherDev} because {?container} contains {$this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?container ?otherDev\nWHERE {\n$this s223:connectedFrom ?otherDev .\n$this ^s223:contains ?container .\n?container a/rdfs:subClassOf* s223:Equipment .\nFILTER NOT EXISTS {?container s223:contains ?otherDev .}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1224": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Disallow contained equipment from having external outgoing connections.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Disallow contained equipment from having external outgoing connections.\" ;\n sh:message \"s223: {$this} should not have a connection to external equipment {?otherDev} because {?container} contains {$this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?container ?otherDev\nWHERE {\n$this s223:connectedTo ?otherDev .\n$this ^s223:contains ?container .\n?container a/rdfs:subClassOf* s223:Equipment .\nFILTER NOT EXISTS {?container s223:contains ?otherDev .}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1237": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"For equipment containing another piece of equipment, use the mapsTo relation to infer a Medium from the contained equipment.\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n ?parentCp s223:hasMedium ?medium .\n}\nWHERE {\n $this s223:hasConnectionPoint ?cp .\n ?cp s223:mapsTo ?parentCp .\n ?cp s223:connectsThrough ?connection .\n ?cp s223:hasMedium ?medium .\n FILTER NOT EXISTS {?parentCp s223:hasMedium ?something} .\n}\n\"\"\" ;\n sh:prefixes .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1231": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"\"\"If the relation actuatedByProperty is present it must associate the Equipment with a ActuatableProperty.\nNote that any Equipment may use this relation, not just Actuator.\"\"\" ;\n sh:class ;\n sh:message \"\"\"If the relation actuatedByProperty is present it must associate the Equipment with a ActuatableProperty.\nNote that any Equipment may use this relation, not just Actuator.\"\"\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1232": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation contains is present it must associate the Equipment with either Equipment or Junction.\" ;\n sh:message \"s223: If the relation contains is present it must associate the Equipment with either Equipment or Junction.\" ;\n sh:name \"device contains shape\" ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1238": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"For equipment contained within another piece of equipment use the mapsTo relation to infer a Medium from the containing equipment.\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n ?childCp s223:hasMedium ?medium .\n}\nWHERE {\n $this s223:hasConnectionPoint ?cp .\n ?childCp s223:mapsTo ?cp .\n ?cp s223:connectsThrough ?connection .\n ?cp s223:hasMedium ?medium .\n FILTER NOT EXISTS {?childCp s223:hasMedium ?something} .\n}\n\"\"\" ;\n sh:prefixes .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1229": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation executes is present it must associate the Equipment with a Function.\" ;\n sh:class ;\n sh:message \"s223: If the relation executes is present it must associate the Equipment with a Function.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1228": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1230": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role.\" ;\n sh:path .\n\n" - } - }, - "pub:equipment-containment": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:equipment-containment", - "stable_id": "ns4:equipment-containment", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\n ns1:title \"Equipment Containment\" ;\n rdfs:comment \"A piece of equipment can only contain other pieces of equipment. For example, a fan can be contained by an air handling unit. The relation contains is used to describe a piece of equipment containing another piece of equipment (see `s223:contains`). The relationship mapsTo relates a ConnectionPoint of a contained equipment to the ConnectionPoint of a containing equipment (see `s223:mapsTo`). For example, the inlet to a heating coil contained in a fan coil unit may map to the inlet of the fan coil unit. Any air connection to the fan coil unit inlet is supplying air to the inlet of the heating coil as well. Multiple pieces of equipment contained by the same piece of equipment may connect to each other, however, they may not connect to equipment that are not also contained. To indicate how a contained piece of equipment connects to an external piece of equipment, the relationship mapsTo is used. MapsTo will relate the connection point of a contained equipment to the connection point of the containing equipment, then the connection point of the containing equipment may connect to the external equipment.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#contains": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "contains", - "stable_id": "ns3:contains", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"contains\" ;\n rdfs:comment \"The relation contains is used to associate a PhysicalSpace with its component PhysicalSpaces or a piece of Equipment with its component pieces of Equipment.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasRole": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "hasRole", - "stable_id": "ns3:hasRole", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"hasRole\" ;\n rdfs:comment \"The relation hasRole is used to indicate the role of an Equipment, Connection, ConnectionPoint, or System within a building (e.g., a heating coil will be associated with Role-Heating). Possible values are defined in EnumerationKind-Role (see `s223:EnumerationKind-Role`).\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasPhysicalLocation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has Physical Location", - "stable_id": "ns3:hasPhysicalLocation", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has Physical Location\" ;\n rdfs:comment \"The relation hasPhysicalLocation is used to indicate the PhysicalSpace (see `s223:PhysicalSpace`) where a piece of Equipment (see `s223:Equipment`) is located. The physical location of a piece of equipment is not necessarily the same as the location affected by the operation of the equipment. For example, an air handler may physically be on the roof, but its effect is to provide conditioned air to a Zone or DomainSpace within the building. By following the path of Connections, it can be determined what other equipment or spaces are possibly impacted by the equipment.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Sensor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1076", - "http://data.ashrae.org/standard223#SensorReferenceLocationShape", - "http://data.ashrae.org/standard223#SensorObservesShape", - "nd65da433b8c64822b829e7f0030fcda9b1079", - "nd65da433b8c64822b829e7f0030fcda9b1083", - "http://data.ashrae.org/standard223#SensorObservationLocationShape", - "nd65da433b8c64822b829e7f0030fcda9b1080", - "nd65da433b8c64822b829e7f0030fcda9b1077", - "nd65da433b8c64822b829e7f0030fcda9b1082" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b1084" - ], - "label": "Sensor", - "stable_id": "ns3:Sensor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1076": "A Sensor must be associated with exactly one location using the relation hasObservationLocation.", - "http://data.ashrae.org/standard223#SensorReferenceLocationShape": "A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.", - "nd65da433b8c64822b829e7f0030fcda9b1084": "Infer the hasObservationLocation relation for a Sensor from the Property that it is observing, only if that property is associated with a single entity.", - "http://data.ashrae.org/standard223#SensorObservesShape": "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.", - "nd65da433b8c64822b829e7f0030fcda9b1079": "If a Sensor measures a differential property, it must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.", - "nd65da433b8c64822b829e7f0030fcda9b1083": "If the relation hasMeasurementResolution is present it must associate a Sensor with a QuantifiableProperty.", - "http://data.ashrae.org/standard223#SensorObservationLocationShape": "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.", - "nd65da433b8c64822b829e7f0030fcda9b1080": "s223: If the hasReferenceLocation relation exists, the observed Property must have isDeltaQuantity true.", - "nd65da433b8c64822b829e7f0030fcda9b1077": "s223: If the observed Property has isDeltaQuantity true, the Sensor must have a hasReferenceLocation relation.", - "nd65da433b8c64822b829e7f0030fcda9b1082": "A Sensor must be associated with exactly one ObservableProperty using the relation observes." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1076": "b--1195733099724597022", - "http://data.ashrae.org/standard223#SensorReferenceLocationShape": "ns3:SensorReferenceLocationShape", - "nd65da433b8c64822b829e7f0030fcda9b1084": "b--1343259597077992792", - "http://data.ashrae.org/standard223#SensorObservesShape": "ns3:SensorObservesShape", - "nd65da433b8c64822b829e7f0030fcda9b1079": "b-4788860271672778315", - "nd65da433b8c64822b829e7f0030fcda9b1083": "b--1030410791652363701", - "http://data.ashrae.org/standard223#SensorObservationLocationShape": "ns3:SensorObservationLocationShape", - "nd65da433b8c64822b829e7f0030fcda9b1080": "b-1804200885124740119", - "nd65da433b8c64822b829e7f0030fcda9b1077": "b--4085835159048700933", - "nd65da433b8c64822b829e7f0030fcda9b1082": "b--8710650585842587332" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Sensor\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"A Sensor observes an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or Enumerable (see `s223:EnumeratedObservableProperty`), such as an alarm state or occupancy state.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Sensor must be associated with exactly one location using the relation hasObservationLocation.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: A Sensor must be associated with exactly one location using the relation hasObservationLocation.\" ;\n sh:minCount 1 ;\n sh:path ],\n [ rdfs:comment \"s223: If the observed Property has isDeltaQuantity true, the Sensor must have a hasReferenceLocation relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"s223: If the observed Property has isDeltaQuantity true, the Sensor must have a hasReferenceLocation relation.\" ;\n sh:message \"s223: Sensor {$this} has Property {?x} with isDeltaQuantity true, but the Sensor lacks a reference location.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this ?x\n WHERE {\n$this s223:observes/qudt:isDeltaQuantity true .\n$this s223:observes ?x .\n?x a/rdfs:subClassOf* s223:QuantifiableProperty .\nFILTER NOT EXISTS {$this s223:hasReferenceLocation ?y}\n}\n\"\"\" ] ],\n [ rdfs:comment \"If a Sensor measures a differential property, it must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: If a Sensor measures a differential property, it must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:path ],\n [ rdfs:comment \"s223: If the hasReferenceLocation relation exists, the observed Property must have isDeltaQuantity true.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"s223: If the hasReferenceLocation relation exists, the observed Property must have isDeltaQuantity true.\" ;\n sh:message \"s223: Sensor {$this} has a reference location, but its Property lacks isDeltaQuantity true.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this\n WHERE {\n$this s223:hasReferenceLocation ?y .\n$this s223:observes ?x .\n?x a/rdfs:subClassOf* s223:QuantifiableProperty .\nFILTER NOT EXISTS {$this s223:observes/qudt:isDeltaQuantity true}\n}\n\"\"\" ] ],\n [ rdfs:comment \"A Sensor must be associated with exactly one ObservableProperty using the relation observes.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Sensor must be associated with exactly one ObservableProperty using the relation observes.\" ;\n sh:minCount 1 ;\n sh:path ],\n [ rdfs:comment \"If the relation hasMeasurementResolution is present it must associate a Sensor with a QuantifiableProperty.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasMeasurementResolution is present it must associate a Sensor with a QuantifiableProperty.\" ;\n sh:path ] ;\n sh:rule [ a sh:SPARQLRule ;\n rdfs:comment \"Infer the hasObservationLocation relation for a Sensor from the Property that it is observing, only if that property is associated with a single entity.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:hasObservationLocation ?something .}\nWHERE {\n{\nSELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this\nWHERE {\nFILTER (NOT EXISTS {$this s223:hasObservationLocation ?anything}) .\n$this s223:observes ?prop .\n?measurementLocation s223:hasProperty ?prop .\n}\nGROUP BY ?prop $this\n}\nFILTER (?count = 1) .\n?something s223:hasProperty ?prop .\n{?something a/rdfs:subClassOf* s223:Connectable}\nUNION\n{?something a/rdfs:subClassOf* s223:Connection}\nUNION\n{?something a/rdfs:subClassOf* s223:ConnectionPoint}\n}\n\"\"\" ;\n sh:name \"InferredMeasurementLocation\" ;\n sh:prefixes ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1076": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Sensor must be associated with exactly one location using the relation hasObservationLocation.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: A Sensor must be associated with exactly one location using the relation hasObservationLocation.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "http://data.ashrae.org/standard223#SensorReferenceLocationShape": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Valve\" ;\n rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:message \"s223: A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:class ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:class ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:class ;\n sh:path ] ] ) ;\n sh:property [ rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:maxCount 1 ;\n sh:path ] ;\n sh:targetClass .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1084": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the hasObservationLocation relation for a Sensor from the Property that it is observing, only if that property is associated with a single entity.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:hasObservationLocation ?something .}\nWHERE {\n{\nSELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this\nWHERE {\nFILTER (NOT EXISTS {$this s223:hasObservationLocation ?anything}) .\n$this s223:observes ?prop .\n?measurementLocation s223:hasProperty ?prop .\n}\nGROUP BY ?prop $this\n}\nFILTER (?count = 1) .\n?something s223:hasProperty ?prop .\n{?something a/rdfs:subClassOf* s223:Connectable}\nUNION\n{?something a/rdfs:subClassOf* s223:Connection}\nUNION\n{?something a/rdfs:subClassOf* s223:ConnectionPoint}\n}\n\"\"\" ;\n sh:name \"InferredMeasurementLocation\" ;\n sh:prefixes .\n\n", - "http://data.ashrae.org/standard223#SensorObservesShape": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Valve\" ;\n rdfs:comment \"A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.\" ;\n sh:message \"s223: A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.\" ;\n sh:targetClass ;\n sh:xone ( [ sh:property [ rdfs:comment \"A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ] ] ) .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1079": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"If a Sensor measures a differential property, it must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: If a Sensor measures a differential property, it must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1083": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasMeasurementResolution is present it must associate a Sensor with a QuantifiableProperty.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasMeasurementResolution is present it must associate a Sensor with a QuantifiableProperty.\" ;\n sh:path .\n\n", - "http://data.ashrae.org/standard223#SensorObservationLocationShape": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Valve\" ;\n rdfs:comment \"A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:message \"s223: A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:targetClass ;\n sh:xone ( [ sh:property [ rdfs:comment \"A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ] ] ) .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1080": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"s223: If the hasReferenceLocation relation exists, the observed Property must have isDeltaQuantity true.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"s223: If the hasReferenceLocation relation exists, the observed Property must have isDeltaQuantity true.\" ;\n sh:message \"s223: Sensor {$this} has a reference location, but its Property lacks isDeltaQuantity true.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this\n WHERE {\n$this s223:hasReferenceLocation ?y .\n$this s223:observes ?x .\n?x a/rdfs:subClassOf* s223:QuantifiableProperty .\nFILTER NOT EXISTS {$this s223:observes/qudt:isDeltaQuantity true}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1077": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"s223: If the observed Property has isDeltaQuantity true, the Sensor must have a hasReferenceLocation relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"s223: If the observed Property has isDeltaQuantity true, the Sensor must have a hasReferenceLocation relation.\" ;\n sh:message \"s223: Sensor {$this} has Property {?x} with isDeltaQuantity true, but the Sensor lacks a reference location.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this ?x\n WHERE {\n$this s223:observes/qudt:isDeltaQuantity true .\n$this s223:observes ?x .\n?x a/rdfs:subClassOf* s223:QuantifiableProperty .\nFILTER NOT EXISTS {$this s223:hasReferenceLocation ?y}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1082": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Sensor must be associated with exactly one ObservableProperty using the relation observes.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Sensor must be associated with exactly one ObservableProperty using the relation observes.\" ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#FlowSensor": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Flow sensor", - "stable_id": "ns3:FlowSensor", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Flow sensor\" ;\n rdfs:comment \"A FlowSensor is a specialization of a Sensor that produces an ObservableProperty that is quantifiable and represents a flow measurement.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#HumiditySensor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b351" - ], - "complex_constraints": [], - "rules": [], - "label": "Humidity sensor", - "stable_id": "ns3:HumiditySensor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b351": "A HumiditySensor must be defined in terms of the QuantityKind that is being measured, which must be either RelativeHumidity or AbsoluteHumidity." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b351": "b--7061987052101463816" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Humidity sensor\" ;\n rdfs:comment \"A HumiditySensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a humidity measurement. \" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A HumiditySensor must be defined in terms of the QuantityKind that is being measured, which must be either RelativeHumidity or AbsoluteHumidity.\" ;\n sh:class ;\n sh:message \"s223: A HumiditySensor must observe a QuantifiableObservableProperty that hasQuantityKind of either RelativeHumidity or AbsoluteHumidity.\" ;\n sh:node [ sh:property [ sh:or ( [ sh:hasValue ] [ sh:hasValue ] ) ;\n sh:path ] ] ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b351": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A HumiditySensor must be defined in terms of the QuantityKind that is being measured, which must be either RelativeHumidity or AbsoluteHumidity.\" ;\n sh:class ;\n sh:message \"s223: A HumiditySensor must observe a QuantifiableObservableProperty that hasQuantityKind of either RelativeHumidity or AbsoluteHumidity.\" ;\n sh:node [ sh:property [ sh:or ( [ sh:hasValue ] [ sh:hasValue ] ) ;\n sh:path ] ] ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#PressureSensor": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Pressure sensor", - "stable_id": "ns3:PressureSensor", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Pressure sensor\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\nThere are three primary use cases for measuring pressure in building environments.\n- The first use case involves measuring absolute pressure, which is essential in applications like weather stations \nwhere atmospheric pressure readings are required.\n- The second use case pertains to measuring differential pressure. This is crucial in HVAC systems, for instance, \nwhere it's necessary to measure the pressure drop across filters in ducts or compare the pressure between different \nrooms and hallways to ensure proper airflow and contamination control.\n- The third use case is measuring gauge pressure, which indicates pressure relative to atmospheric pressure. \nThis is commonly used in applications such as monitoring compressed gas cylinders. In this scenario, a gauge \nreading of zero signifies that the measured pressure is equal to the atmospheric pressure, not a vacuum.\n\nModeling a sensor that measures each of these can be performed as follows:\n\nCase 1.\n- Class: s223:PressureSensor\n- Sensor s223:hasObservationLocation some-location-of-interest\n- Associated property quantity kind: quantitykind:Pressure\n\nCase 2. \n- Class: s223:PressureSensor\n- Sensor s223:hasObservationLocation some-location-of-interest\n- Sensor s223:hasReferenceLocation some-reference-location\n- Associated property quantity kind: quantitykind:Pressure\n- Associated property qudt:isDeltaQuantity true\n\nCase 3.\n- Class: s223:GaugePressureSensor (a subClassOf s223:PressureSensor)\n- Sensor s223:hasObservationLocation some-location-of-interest\n- Sensor s223:hasReferenceLocation some-reference-ambient-location\n- Associated property quantity kind: quantitykind:GaugePressure\n- Associated property qudt:isDeltaQuantity true\n \"\"\",\n \"A PressureSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a pressure measurement.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#GaugePressureSensor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b333", - "nd65da433b8c64822b829e7f0030fcda9b336" - ], - "complex_constraints": [], - "rules": [], - "label": "Differential sensor", - "stable_id": "ns3:GaugePressureSensor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b333": "A GaugePressureSensor must always observe a Property that has a QuantityKind of GaugePressure.", - "nd65da433b8c64822b829e7f0030fcda9b336": "A GaugePressureSensor must always observe a Property that has a value of true for qudt:isDeltaQuantity." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b333": "b-8082724805098260184", - "nd65da433b8c64822b829e7f0030fcda9b336": "b-8459610115679974283" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Differential sensor\" ;\n rdfs:comment \"A pressure sensor that indicates pressure relative to atmospheric pressure.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A GaugePressureSensor must always observe a Property that has a QuantityKind of GaugePressure.\" ;\n sh:message \"s223: A GaugePressureSensor must always observe a Property that has a QuantityKind of GaugePressure.\" ;\n sh:path ( ) ;\n sh:value ],\n [ rdfs:comment \"A GaugePressureSensor must always observe a Property that has a value of true for qudt:isDeltaQuantity.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: A GaugePressureSensor must always observe a Property that has a value of true for qudt:isDeltaQuantity.\" ;\n sh:minCount 1 ;\n sh:path ( ) ;\n sh:value true ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b333": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A GaugePressureSensor must always observe a Property that has a QuantityKind of GaugePressure.\" ;\n sh:message \"s223: A GaugePressureSensor must always observe a Property that has a QuantityKind of GaugePressure.\" ;\n sh:path ( ) ;\n sh:value .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b336": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A GaugePressureSensor must always observe a Property that has a value of true for qudt:isDeltaQuantity.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: A GaugePressureSensor must always observe a Property that has a value of true for qudt:isDeltaQuantity.\" ;\n sh:minCount 1 ;\n sh:path ( ) ;\n sh:value true .\n\n" - } - }, - "http://data.ashrae.org/standard223#TemperatureSensor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b447" - ], - "complex_constraints": [], - "rules": [], - "label": "Temp sensor", - "stable_id": "ns3:TemperatureSensor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b447": "A TemperatureSensor must always observe a Property that has a QuantityKind of Temperature." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b447": "b-3112892999273997995" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Temp sensor\" ;\n rdfs:comment \"A TemperatureSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a temperature measurement.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A TemperatureSensor must always observe a Property that has a QuantityKind of Temperature.\" ;\n sh:message \"s223: A TemperatureSensor must always observe a Property that has a QuantityKind of Temperature.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b447": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A TemperatureSensor must always observe a Property that has a QuantityKind of Temperature.\" ;\n sh:message \"s223: A TemperatureSensor must always observe a Property that has a QuantityKind of Temperature.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#ConcentrationSensor": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Concentration sensor", - "stable_id": "ns3:ConcentrationSensor", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Concentration sensor\" ;\n rdfs:comment \"\"\"A ConcentrationSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty \nthat represents the concentration of a miscible Constituent in a medium, in contrast to a ParticulateSensor that observes the amount of a particulate in a medium \n(see `s223:ParticulateSensor`). The 223 standard does not constrain the unit or quantity kind reported by a ConcentrationSensor, but possible \nquantity kinds include Concentration (moles per volume), Density (mass per volume), MoleFraction, and VolumeFraction.\"\"\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#LightSensor": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Light sensor", - "stable_id": "ns3:LightSensor", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Light sensor\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"A LightSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a measurement of some attribute of light, as specified by the quantity kind of the Property being observed.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#CorrelatedColorTemperatureSensor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b253" - ], - "complex_constraints": [], - "rules": [], - "label": "Correlated color temperature sensor", - "stable_id": "ns3:CorrelatedColorTemperatureSensor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b253": "A CorrelatedColorTemperatureSensor must always observe a Property that has a QuantityKind of ThermodynamicTemperature." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b253": "b--3798261216841287950" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Correlated color temperature sensor\" ;\n rdfs:comment \"A subclass of LightSensor that observes the correlated color temperature (CCT) of a light source, defined as the absolute temperature of a blackbody whose chromaticity most nearly resembles that of the light source.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A CorrelatedColorTemperatureSensor must always observe a Property that has a QuantityKind of ThermodynamicTemperature.\" ;\n sh:message \"s223: A CorrelatedColorTemperatureSensor must always observe a Property that has a QuantityKind of ThermodynamicTemperature.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b253": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A CorrelatedColorTemperatureSensor must always observe a Property that has a QuantityKind of ThermodynamicTemperature.\" ;\n sh:message \"s223: A CorrelatedColorTemperatureSensor must always observe a Property that has a QuantityKind of ThermodynamicTemperature.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#DuvSensor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b265" - ], - "complex_constraints": [], - "rules": [], - "label": "Duv sensor", - "stable_id": "ns3:DuvSensor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b265": "A DuvSensor must always observe a Property that has a QuantityKind of Duv." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b265": "b-7273162190973941962" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Duv sensor\" ;\n rdfs:comment \"A subclass of LightSensor that observes Duv of a light source, defined as the distance between the chromaticity of the light source and a blackbody radiator of equal correlated color temperature (CCT).\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A DuvSensor must always observe a Property that has a QuantityKind of Duv.\" ;\n sh:message \"s223: A DuvSensor must always observe a Property that has a QuantityKind of Duv.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b265": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A DuvSensor must always observe a Property that has a QuantityKind of Duv.\" ;\n sh:message \"s223: A DuvSensor must always observe a Property that has a QuantityKind of Duv.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#IlluminanceSensor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b358" - ], - "complex_constraints": [], - "rules": [], - "label": "Illuminance sensor", - "stable_id": "ns3:IlluminanceSensor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b358": "An IlluminanceSensor will always observe a Property that has a QuantityKind of Illuminance." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b358": "b-3655895364480634708" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Illuminance sensor\" ;\n rdfs:comment \"A subclass of LightSensor that observes illuminance, defined as the areal density of the luminous flux incident at a point on a surface.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An IlluminanceSensor will always observe a Property that has a QuantityKind of Illuminance.\" ;\n sh:message \"s223: An IlluminanceSensor will always observe a Property that has a QuantityKind of Illuminance.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b358": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An IlluminanceSensor will always observe a Property that has a QuantityKind of Illuminance.\" ;\n sh:message \"s223: An IlluminanceSensor will always observe a Property that has a QuantityKind of Illuminance.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#ParticulateSensor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b392" - ], - "complex_constraints": [], - "rules": [], - "label": "Particulate sensor", - "stable_id": "ns3:ParticulateSensor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b392": "If the relation ofSubstance is present it must associate the ParticulateSensor with a Substance-Particulate." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b392": "b--8418857472631187594" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Particulate sensor\" ;\n rdfs:comment \"\"\"A ParticulateSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty \nthat represents the amount of a particulate in a medium, in contrast to a ConcentrationSensor that observes the concentration \nof a miscible Constituent in a medium (see `s223:ConcentrationSensor`). The 223 standard does not constrain the unit or \nquantity kind reported by a ParticulateSensor, but possible quantity kinds include Density (mass per volume), \nParticleNumberDensity (count per volume) DimensionlessRatio (with units such as PPM or PPB). Some sensors may claim to report\na raw count of particles, for which a quantity kind of Count could be used, but the required context for such a measurement \nshould be provided in the sensor's documentation to specify if it in fact measures a count per volume, time, or some other combination. \nExplicitly declaring the quantity kind of a sensor's output is preferable to relying on implicit assumptions.\n\"\"\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"If the relation ofSubstance is present it must associate the ParticulateSensor with a Substance-Particulate.\" ;\n sh:class ;\n sh:message \"s223: If the relation ofSubstance is present it must associate the ParticulateSensor with a Substance-Particulate.\" ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b392": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation ofSubstance is present it must associate the ParticulateSensor with a Substance-Particulate.\" ;\n sh:class ;\n sh:message \"s223: If the relation ofSubstance is present it must associate the ParticulateSensor with a Substance-Particulate.\" ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#OccupancySensor": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Occupancy sensor", - "stable_id": "ns3:OccupancySensor", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Occupancy sensor\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"An OccupancySensor is a subclass of a Sensor that observes a Property that represents measurement of occupancy in a space.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#OccupantCounter": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b382" - ], - "complex_constraints": [], - "rules": [], - "label": "Occupant counter", - "stable_id": "ns3:OccupantCounter", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b382": "An OccupantCounter must always observe a QuantifiableObservableProperty that has a QuantityKind of Population and a Unit of unit:NUM." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b382": "b-602209714946061706" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Occupant counter\" ;\n rdfs:comment \"A subclass of OccupancySensor that counts the population within its sensing region.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An OccupantCounter must always observe a QuantifiableObservableProperty that has a QuantityKind of Population and a Unit of unit:NUM.\" ;\n sh:class ;\n sh:message \"s223: An OccupantCounter must always observe a QuantifiableObservableProperty that has a QuantityKind of Population and a Unit of unit:NUM.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:maxCount 1 ;\n sh:path ],\n [ sh:hasValue ;\n sh:maxCount 1 ;\n sh:path ] ] ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b382": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An OccupantCounter must always observe a QuantifiableObservableProperty that has a QuantityKind of Population and a Unit of unit:NUM.\" ;\n sh:class ;\n sh:message \"s223: An OccupantCounter must always observe a QuantifiableObservableProperty that has a QuantityKind of Population and a Unit of unit:NUM.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:maxCount 1 ;\n sh:path ],\n [ sh:hasValue ;\n sh:maxCount 1 ;\n sh:path ] ] ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#OccupantMotionSensor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b386" - ], - "complex_constraints": [], - "rules": [], - "label": "Occupant motion sensor", - "stable_id": "ns3:OccupantMotionSensor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b386": "An OccupantMotionSensor must always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Motion." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b386": "b-3297599959038196011" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Occupant motion sensor\" ;\n rdfs:comment \"A subclass of OccupancySensor that observes motion within its sensing region.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An OccupantMotionSensor must always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Motion.\" ;\n sh:class ;\n sh:message \"s223: An OccupantMotionSensor must always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Motion.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:maxCount 1 ;\n sh:path ] ] ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b386": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An OccupantMotionSensor must always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Motion.\" ;\n sh:class ;\n sh:message \"s223: An OccupantMotionSensor must always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Motion.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:maxCount 1 ;\n sh:path ] ] ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#OccupantPresenceSensor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b389" - ], - "complex_constraints": [], - "rules": [], - "label": "Occupant presence sensor", - "stable_id": "ns3:OccupantPresenceSensor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b389": "An OccupantPresenceSensor will always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Presence." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b389": "b--8180071674246328967" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Occupant presence sensor\" ;\n rdfs:comment \"A subclass of OccupancySensor that observes presence within its sensing region.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An OccupantPresenceSensor will always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Presence.\" ;\n sh:class ;\n sh:message \"s223: An OccupantPresenceSensor will always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Presence.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:maxCount 1 ;\n sh:path ] ] ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b389": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An OccupantPresenceSensor will always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Presence.\" ;\n sh:class ;\n sh:message \"s223: An OccupantPresenceSensor will always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Presence.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:maxCount 1 ;\n sh:path ] ] ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasMeasurementResolution": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has measurement resolution", - "stable_id": "ns3:hasMeasurementResolution", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has measurement resolution\" ;\n rdfs:comment \"The hasMeasurementResolution relation is used to link to a numerical property whose value indicates the smallest recognizable change in engineering units that the sensor is able to indicate. \" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#observes": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "observes", - "stable_id": "ns3:observes", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"observes\" ;\n rdfs:comment \"The relation observes binds a sensor to one ObservableProperty `see s223:ObservableProperty` which is used by the sensor to generate a measurement value (ex. a temperature) or a simple observation of a stimulus causing a reaction (a current binary switch that closes a dry contact when a fan is powered on).\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasObservationLocation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has observation location", - "stable_id": "ns3:hasObservationLocation", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has observation location\" ;\n rdfs:comment \"The relation hasObservationLocation is used to associate a sensor to the topological location where it is observing the property (see `s223:observes`). The observation location shall be a Connectable (see `s223:Connectable`), Connection (see `s223:Connection`), or ConnectionPoint (see `s223:ConnectionPoint`).\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasReferenceLocation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has reference location", - "stable_id": "ns3:hasReferenceLocation", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has reference location\" ;\n rdfs:comment \"The relation hasReferenceLocation is used to associate a differential sensor to the topological location of the baseline (reference) property (see `s223:observes`).\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Actuator": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b189", - "nd65da433b8c64822b829e7f0030fcda9b190" - ], - "complex_constraints": [], - "rules": [], - "label": "Actuator", - "stable_id": "ns3:Actuator", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b189": "If the relation actuates is present it must associate the Actuator with a Equipment.", - "nd65da433b8c64822b829e7f0030fcda9b190": "An Actuator must be associated with at least one ActuatableProperty using the relation actuatedByProperty." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b189": "b--962672780687379253", - "nd65da433b8c64822b829e7f0030fcda9b190": "b--3682341741987722209" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Actuator\" ;\n ns1:subclauses ( ) ;\n ns1:title \"Actuator\" ;\n rdfs:comment \"A piece of equipment, either electrically, pneumatically, or hydraulically operated, that makes a change in the physical world, such as the position of a valve or damper.\",\n \"Actuators are physical entities that receive control signals and actuate equipment.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"If the relation actuates is present it must associate the Actuator with a Equipment.\" ;\n sh:class ;\n sh:message \"s223: If the relation actuates is present it must associate the Actuator with a Equipment.\" ;\n sh:path ],\n [ rdfs:comment \"An Actuator must be associated with at least one ActuatableProperty using the relation actuatedByProperty.\" ;\n sh:class ;\n sh:message \"s223: An Actuator must be associated with at least one ActuatableProperty using the relation actuatedByProperty.\" ;\n sh:minCount 1 ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b189": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation actuates is present it must associate the Actuator with a Equipment.\" ;\n sh:class ;\n sh:message \"s223: If the relation actuates is present it must associate the Actuator with a Equipment.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b190": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An Actuator must be associated with at least one ActuatableProperty using the relation actuatedByProperty.\" ;\n sh:class ;\n sh:message \"s223: An Actuator must be associated with at least one ActuatableProperty using the relation actuatedByProperty.\" ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#actuates": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "actuates", - "stable_id": "ns3:actuates", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"actuates\" ;\n rdfs:comment \"The relation actuates binds an Actuator to the Equipment that it actuates.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#actuatedByProperty": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "commanded by Property", - "stable_id": "ns3:actuatedByProperty", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"commanded by Property\" ;\n rdfs:comment \"\"\"The relation actuatedByProperty binds an Equipment to the ActuatableProperty that it responds to. If the Equipment \nis an Actuator (a subclass of Equipment), actuatedByProperty is a required relation. An Actuator may also identify another piece of \nEquipment being actuated. (see `s223:actuates`).\"\"\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Controller": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b241" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b242" - ], - "label": "Controller", - "stable_id": "ns3:Controller", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b242": "Infer the hasRole s223:Role-Controller relation for every instance of Controller", - "nd65da433b8c64822b829e7f0030fcda9b241": "If the relation executes is present it must associate the Controller with a Function." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b242": "b--4594810951697356013", - "nd65da433b8c64822b829e7f0030fcda9b241": "b--8507859827527045233" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Controller\" ;\n ns1:subclauses ( ) ;\n ns1:title \"Controller\" ;\n rdfs:comment \"A device for regulation of a system or component in normal operation, which executes a Function.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"If the relation executes is present it must associate the Controller with a Function.\" ;\n sh:class ;\n sh:message \"s223: If the relation executes is present it must associate the Controller with a Function.\" ;\n sh:path ] ;\n sh:rule [ a sh:TripleRule ;\n rdfs:comment \"Infer the hasRole s223:Role-Controller relation for every instance of Controller\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b242": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasRole s223:Role-Controller relation for every instance of Controller\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b241": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation executes is present it must associate the Controller with a Function.\" ;\n sh:class ;\n sh:message \"s223: If the relation executes is present it must associate the Controller with a Function.\" ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#Function": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b920", - "nd65da433b8c64822b829e7f0030fcda9b921", - "http://data.ashrae.org/standard223#FunctionPropertyShape" - ], - "complex_constraints": [], - "rules": [], - "label": "Function", - "stable_id": "ns3:Function", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b920": "If the relation hasInput is present it must associate a Function with a Property.", - "nd65da433b8c64822b829e7f0030fcda9b921": "If the relation hasOutput is present it must associate a Function with a Property.", - "http://data.ashrae.org/standard223#FunctionPropertyShape": "A Function must be associated with at least one Property using either the relation hasInput or hasOutput." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b920": "b--3322866090119698856", - "nd65da433b8c64822b829e7f0030fcda9b921": "b-7139106720380519707", - "http://data.ashrae.org/standard223#FunctionPropertyShape": "ns3:FunctionPropertyShape" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Function\" ;\n ns1:subclauses ( ) ;\n ns1:title \"Function\" ;\n rdfs:comment \"A Function is used to model transfer and/or transformation of information (i.e. Property). It has relations to input Properties and output Properties. The actual algorithms that perform the transformations are described in CDL and are out of scope of the 223 standard.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"If the relation hasInput is present it must associate a Function with a Property.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasInput is present it must associate a Function with a Property.\" ;\n sh:path ],\n [ rdfs:comment \"If the relation hasOutput is present it must associate a Function with a Property.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasOutput is present it must associate a Function with a Property.\" ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b920": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasInput is present it must associate a Function with a Property.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasInput is present it must associate a Function with a Property.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b921": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasOutput is present it must associate a Function with a Property.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasOutput is present it must associate a Function with a Property.\" ;\n sh:path .\n\n", - "http://data.ashrae.org/standard223#FunctionPropertyShape": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Function Property Shape\" ;\n rdfs:comment \"A Function must be associated with at least one Property using either the relation hasInput or hasOutput.\" ;\n sh:message \"s223: A Function must be associated with at least one Property using either the relation hasInput or hasOutput.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Function must be associated with at least one Property using either the relation hasInput or hasOutput.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Function must be associated with at least one Property using either the relation hasInput or hasOutput.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path ] ] ) ;\n sh:severity sh:Warning ;\n sh:targetClass .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasInput": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has input", - "stable_id": "ns3:hasInput", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has input\" ;\n rdfs:comment \"The relation hasInput is used to relate a Function (see `s223:Function`) to a Property (see `s223:Property`) that is used as input.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasOutput": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has output", - "stable_id": "ns3:hasOutput", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has output\" ;\n rdfs:comment \"The relation hasOutput is used to relate a Function (see `s223:Function`) to a Property (see `s223:Property`) that is calculated by the Function.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#executes": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "executes", - "stable_id": "ns3:executes", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"executes\" ;\n rdfs:comment \"The relation executes is used to specify that a Controller (see `s223:Controller`) is responsible for the execution of a Function (see `s223:Function`). \" .\n\n", - "cbds": {} - }, - "pub:connection": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:connection", - "stable_id": "ns4:connection", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\n ns1:subclauses ( ) ;\n ns1:title \"CONNECTION\" ;\n rdfs:comment \"This clause is the top level of the hierarchical structure of the portion of the model that represents the characteristics and features of connections that provide a means for a medium such as air, water, or electricity, to flow from one place to another. Examples of connections are ducts, pipes, andconductors.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Connectable": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1044", - "nd65da433b8c64822b829e7f0030fcda9b1043", - "nd65da433b8c64822b829e7f0030fcda9b1041", - "nd65da433b8c64822b829e7f0030fcda9b1042", - "nd65da433b8c64822b829e7f0030fcda9b1040", - "nd65da433b8c64822b829e7f0030fcda9b1045", - "nd65da433b8c64822b829e7f0030fcda9b1038" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b1053", - "nd65da433b8c64822b829e7f0030fcda9b1062", - "nd65da433b8c64822b829e7f0030fcda9b1046", - "nd65da433b8c64822b829e7f0030fcda9b1055", - "nd65da433b8c64822b829e7f0030fcda9b1047", - "nd65da433b8c64822b829e7f0030fcda9b1051", - "nd65da433b8c64822b829e7f0030fcda9b1050", - "nd65da433b8c64822b829e7f0030fcda9b1059", - "nd65da433b8c64822b829e7f0030fcda9b1060" - ], - "label": "Connectable", - "stable_id": "ns3:Connectable", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1046": "Infer the connected relation for BiDirectional connections", - "nd65da433b8c64822b829e7f0030fcda9b1055": "Infer the connectedThrough relation using hasConnectionPoint and connectsThrough", - "nd65da433b8c64822b829e7f0030fcda9b1043": "If the relation connectedTo is present it must associate the Connectable with a Connectable.", - "nd65da433b8c64822b829e7f0030fcda9b1050": "Infer the connectedTo relation using connectsThrough and connectsTo.", - "nd65da433b8c64822b829e7f0030fcda9b1060": "Infer the hasConnectionPoint relation using cnx", - "nd65da433b8c64822b829e7f0030fcda9b1044": "If the relation connected is present it must associate the Connectable with a Connectable.", - "nd65da433b8c64822b829e7f0030fcda9b1053": "Infer the connected relation using connectedTo", - "nd65da433b8c64822b829e7f0030fcda9b1062": "Infer the cnx relationship using hasConnectionPoint.", - "nd65da433b8c64822b829e7f0030fcda9b1042": "If the relation connectedFrom is present it must associate the Connectable with a Connectable.", - "nd65da433b8c64822b829e7f0030fcda9b1038": "If a Connectable has s223:connected or s223:connectedTo (i.e. high-level connection specification), it must also have the supporting cnx relations (low-level connection specification).", - "nd65da433b8c64822b829e7f0030fcda9b1047": "Infer the cnx relation using isConnectionPointOf.", - "nd65da433b8c64822b829e7f0030fcda9b1051": "Infer the connected relation using connectedFrom", - "nd65da433b8c64822b829e7f0030fcda9b1041": "If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint.", - "nd65da433b8c64822b829e7f0030fcda9b1059": "Infer the connectedFrom relations using connectsThrough and connectsFrom.", - "nd65da433b8c64822b829e7f0030fcda9b1040": "If the relation cnx is present it must associate the Connectable with a ConnectionPoint.", - "nd65da433b8c64822b829e7f0030fcda9b1045": "If the relation connectedThrough is present it must associate the Connectable with a Connection." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1046": "b--4069320978483343162", - "nd65da433b8c64822b829e7f0030fcda9b1055": "b-2511140884476280014", - "nd65da433b8c64822b829e7f0030fcda9b1043": "b--631454058115388077", - "nd65da433b8c64822b829e7f0030fcda9b1050": "b-7303409819500700628", - "nd65da433b8c64822b829e7f0030fcda9b1060": "b-6929604896148495710", - "nd65da433b8c64822b829e7f0030fcda9b1044": "b-6137782984694491682", - "nd65da433b8c64822b829e7f0030fcda9b1053": "b--6727215485620577630", - "nd65da433b8c64822b829e7f0030fcda9b1062": "b--6031960831835867421", - "nd65da433b8c64822b829e7f0030fcda9b1042": "b--397005726422888153", - "nd65da433b8c64822b829e7f0030fcda9b1038": "b--4406074416368528723", - "nd65da433b8c64822b829e7f0030fcda9b1047": "b-3692597824971550511", - "nd65da433b8c64822b829e7f0030fcda9b1051": "b--7285524953082417679", - "nd65da433b8c64822b829e7f0030fcda9b1041": "b--7776162266173325133", - "nd65da433b8c64822b829e7f0030fcda9b1059": "b--7812616281306087819", - "nd65da433b8c64822b829e7f0030fcda9b1040": "b--5066621194690450568", - "nd65da433b8c64822b829e7f0030fcda9b1045": "b-5593176467408625532" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\nns1:Connectable a ns1:Class,\n sh:NodeShape ;\n rdfs:label \"Connectable\" ;\n ns1:abstract true ;\n rdfs:comment \"Connectable is an abstract class representing a thing such as, Equipment (see `s223:Equipment`), DomainSpace (see `s223:DomainSpace`), or Junction (see `s223:Junction`) that can be connected via ConnectionPoints and Connections.\" ;\n rdfs:subClassOf ns1:Concept ;\n sh:property [ rdfs:comment \"If a Connectable has s223:connected or s223:connectedTo (i.e. high-level connection specification), it must also have the supporting cnx relations (low-level connection specification).\" ;\n sh:path ns1:cnx ;\n sh:severity sh:Warning ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a Connectable has s223:connected or s223:connectedTo (i.e. high-level connection specification), it must also have the supporting cnx relations (low-level connection specification).\" ;\n sh:message \"s223: {$this} is s223:connected (high-level) to {?otherC} but not connected at the cnx-level.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?otherC\nWHERE {\n$this s223:connected ?otherC .\nFILTER NOT EXISTS {$this s223:cnx+ ?otherC}\n}\n\"\"\" ] ],\n [ rdfs:comment \"If the relation cnx is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:class ns1:ConnectionPoint ;\n sh:message \"s223: If the relation cnx is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:path ns1:cnx ],\n [ rdfs:comment \"If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:class ns1:ConnectionPoint ;\n sh:message \"s223: If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:name \"EquipmentToConnectionPointShape\" ;\n sh:path ns1:hasConnectionPoint ],\n [ rdfs:comment \"If the relation connectedFrom is present it must associate the Connectable with a Connectable.\" ;\n sh:class ns1:Connectable ;\n sh:message \"s223: If the relation connectedFrom is present it must associate the Connectable with a Connectable.\" ;\n sh:path ns1:connectedFrom ],\n [ rdfs:comment \"If the relation connectedTo is present it must associate the Connectable with a Connectable.\" ;\n sh:class ns1:Connectable ;\n sh:message \"s223: If the relation connectedTo is present it must associate the Connectable with a Connectable.\" ;\n sh:name \"ConnectableToConnectableShape\" ;\n sh:path ns1:connectedTo ],\n [ rdfs:comment \"If the relation connected is present it must associate the Connectable with a Connectable.\" ;\n sh:class ns1:Connectable ;\n sh:message \"s223: If the relation connected is present it must associate the Connectable with a Connectable.\" ;\n sh:name \"SymmetricConnectableToConnectableShape\" ;\n sh:path ns1:connected ],\n [ rdfs:comment \"If the relation connectedThrough is present it must associate the Connectable with a Connection.\" ;\n sh:class ns1:Connection ;\n sh:message \"s223: If the relation connectedThrough is present it must associate the Connectable with a Connection.\" ;\n sh:name \"EquipmentToConnectionShape\" ;\n sh:path ns1:connectedThrough ] ;\n sh:rule [ a sh:SPARQLRule ;\n rdfs:comment \"Infer the connected relation for BiDirectional connections\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connected ?d2 .}\nWHERE {\n$this s223:connectedThrough/^s223:connectedThrough ?d2 .\nFILTER ($this != ?d2) .\nFILTER NOT EXISTS {$this s223:contains* ?d2} .\nFILTER NOT EXISTS {?d2 s223:contains* $this} .\n}\n\"\"\" ;\n sh:name \"InferredEquipmentToDownstreamEquipmentProperty\" ;\n sh:prefixes ],\n [ a sh:TripleRule ;\n rdfs:comment \"Infer the cnx relation using isConnectionPointOf.\" ;\n sh:name \"InferredEquipmentToConnectionPointCnxPropertyFromInverse\" ;\n sh:object [ sh:path [ sh:inversePath ns1:isConnectionPointOf ] ] ;\n sh:predicate ns1:cnx ;\n sh:subject sh:this ],\n [ a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectedTo relation using connectsThrough and connectsTo.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectedTo ?equipment .}\nWHERE {\n$this s223:hasConnectionPoint ?cp .\n?cp a s223:OutletConnectionPoint .\n?cp s223:connectsThrough/s223:connectsTo ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredEquipmentToDownstreamEquipmentProperty\" ;\n sh:prefixes ],\n [ a sh:TripleRule ;\n rdfs:comment \"Infer the connected relation using connectedFrom\" ;\n sh:name \"InferredEquipmentToEquipmentPropertyfromconnectedFrom\" ;\n sh:object [ sh:path ns1:connectedFrom ] ;\n sh:predicate ns1:connected ;\n sh:subject sh:this ],\n [ a sh:TripleRule ;\n rdfs:comment \"Infer the connected relation using connectedTo\" ;\n sh:name \"InferredEquipmentToEquipmentPropertyfromconnectedTo\" ;\n sh:object [ sh:path ns1:connectedTo ] ;\n sh:predicate ns1:connected ;\n sh:subject sh:this ],\n [ a sh:TripleRule ;\n rdfs:comment \"Infer the connectedThrough relation using hasConnectionPoint and connectsThrough\" ;\n sh:name \"InferredEquipmentToConnectionProperty\" ;\n sh:object [ sh:path ( ns1:hasConnectionPoint ns1:connectsThrough ) ] ;\n sh:predicate ns1:connectedThrough ;\n sh:subject sh:this ],\n [ a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectedFrom relations using connectsThrough and connectsFrom.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectedFrom ?equipment .}\nWHERE {\n$this s223:hasConnectionPoint ?cp .\n?cp a s223:InletConnectionPoint .\n?cp s223:connectsThrough/s223:connectsFrom ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredEquipmentToUpstreamEquipmentProperty\" ;\n sh:prefixes ],\n [ a sh:TripleRule ;\n rdfs:comment \"Infer the hasConnectionPoint relation using cnx\" ;\n sh:name \"InferredEquipmentToConnectionPointProperty\" ;\n sh:object [ sh:path ns1:cnx ] ;\n sh:predicate ns1:hasConnectionPoint ;\n sh:subject sh:this ],\n [ a sh:TripleRule ;\n rdfs:comment \"Infer the cnx relationship using hasConnectionPoint.\" ;\n sh:name \"InferredEquipmentToConnectionPointCnxProperty\" ;\n sh:object [ sh:path ns1:hasConnectionPoint ] ;\n sh:predicate ns1:cnx ;\n sh:subject sh:this ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1046": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the connected relation for BiDirectional connections\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connected ?d2 .}\nWHERE {\n$this s223:connectedThrough/^s223:connectedThrough ?d2 .\nFILTER ($this != ?d2) .\nFILTER NOT EXISTS {$this s223:contains* ?d2} .\nFILTER NOT EXISTS {?d2 s223:contains* $this} .\n}\n\"\"\" ;\n sh:name \"InferredEquipmentToDownstreamEquipmentProperty\" ;\n sh:prefixes .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1055": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the connectedThrough relation using hasConnectionPoint and connectsThrough\" ;\n sh:name \"InferredEquipmentToConnectionProperty\" ;\n sh:object [ sh:path ( ) ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1043": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectedTo is present it must associate the Connectable with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectedTo is present it must associate the Connectable with a Connectable.\" ;\n sh:name \"ConnectableToConnectableShape\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1050": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectedTo relation using connectsThrough and connectsTo.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectedTo ?equipment .}\nWHERE {\n$this s223:hasConnectionPoint ?cp .\n?cp a s223:OutletConnectionPoint .\n?cp s223:connectsThrough/s223:connectsTo ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredEquipmentToDownstreamEquipmentProperty\" ;\n sh:prefixes .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1060": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasConnectionPoint relation using cnx\" ;\n sh:name \"InferredEquipmentToConnectionPointProperty\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1044": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connected is present it must associate the Connectable with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connected is present it must associate the Connectable with a Connectable.\" ;\n sh:name \"SymmetricConnectableToConnectableShape\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1053": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the connected relation using connectedTo\" ;\n sh:name \"InferredEquipmentToEquipmentPropertyfromconnectedTo\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1062": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the cnx relationship using hasConnectionPoint.\" ;\n sh:name \"InferredEquipmentToConnectionPointCnxProperty\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1042": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectedFrom is present it must associate the Connectable with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectedFrom is present it must associate the Connectable with a Connectable.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1038": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If a Connectable has s223:connected or s223:connectedTo (i.e. high-level connection specification), it must also have the supporting cnx relations (low-level connection specification).\" ;\n sh:path ;\n sh:severity sh:Warning ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a Connectable has s223:connected or s223:connectedTo (i.e. high-level connection specification), it must also have the supporting cnx relations (low-level connection specification).\" ;\n sh:message \"s223: {$this} is s223:connected (high-level) to {?otherC} but not connected at the cnx-level.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?otherC\nWHERE {\n$this s223:connected ?otherC .\nFILTER NOT EXISTS {$this s223:cnx+ ?otherC}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1047": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the cnx relation using isConnectionPointOf.\" ;\n sh:name \"InferredEquipmentToConnectionPointCnxPropertyFromInverse\" ;\n sh:object [ sh:path [ sh:inversePath ] ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1051": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the connected relation using connectedFrom\" ;\n sh:name \"InferredEquipmentToEquipmentPropertyfromconnectedFrom\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1041": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:name \"EquipmentToConnectionPointShape\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1059": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectedFrom relations using connectsThrough and connectsFrom.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectedFrom ?equipment .}\nWHERE {\n$this s223:hasConnectionPoint ?cp .\n?cp a s223:InletConnectionPoint .\n?cp s223:connectsThrough/s223:connectsFrom ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredEquipmentToUpstreamEquipmentProperty\" ;\n sh:prefixes .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1040": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation cnx is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation cnx is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1045": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectedThrough is present it must associate the Connectable with a Connection.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectedThrough is present it must associate the Connectable with a Connection.\" ;\n sh:name \"EquipmentToConnectionShape\" ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#ConnectionPoint": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1126", - "nd65da433b8c64822b829e7f0030fcda9b1105", - "nd65da433b8c64822b829e7f0030fcda9b1129", - "nd65da433b8c64822b829e7f0030fcda9b1112", - "nd65da433b8c64822b829e7f0030fcda9b1121", - "nd65da433b8c64822b829e7f0030fcda9b1128", - "nd65da433b8c64822b829e7f0030fcda9b1114", - "nd65da433b8c64822b829e7f0030fcda9b1125", - "nd65da433b8c64822b829e7f0030fcda9b1107", - "nd65da433b8c64822b829e7f0030fcda9b1110", - "nd65da433b8c64822b829e7f0030fcda9b1116", - "nd65da433b8c64822b829e7f0030fcda9b1130", - "nd65da433b8c64822b829e7f0030fcda9b1109", - "nd65da433b8c64822b829e7f0030fcda9b1123" - ], - "complex_constraints": [], - "rules": [], - "label": "ConnectionPoint", - "stable_id": "ns3:ConnectionPoint", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1126": "If a ConnectionPoint lacks a connectsThrough and mapsTo relation, and is not associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint probably needs an association with a Connection.", - "nd65da433b8c64822b829e7f0030fcda9b1105": "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation.", - "nd65da433b8c64822b829e7f0030fcda9b1129": "A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf.", - "nd65da433b8c64822b829e7f0030fcda9b1112": "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation.", - "nd65da433b8c64822b829e7f0030fcda9b1121": "A ConnectionPoint must be associated with at most one Connectable using the cnx relation.", - "nd65da433b8c64822b829e7f0030fcda9b1128": "A ConnectionPoint must be associated with exactly one Substance-Medium using the relation hasMedium.", - "nd65da433b8c64822b829e7f0030fcda9b1114": "A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo", - "nd65da433b8c64822b829e7f0030fcda9b1125": "If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role.", - "nd65da433b8c64822b829e7f0030fcda9b1107": "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation.", - "nd65da433b8c64822b829e7f0030fcda9b1110": "If a ConnectionPoint lacks a connectsThrough and mapsTo relation, but is associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint might need a mapsTo relation to a ConnectionPoint of the containing Equipment.", - "nd65da433b8c64822b829e7f0030fcda9b1116": "If the relation hasElectricalPhase is present it must associate the ConnectionPoint with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.", - "nd65da433b8c64822b829e7f0030fcda9b1130": "A ConnectionPoint must be associated with at most one Connection using the relation connectsThrough.", - "nd65da433b8c64822b829e7f0030fcda9b1109": "A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo", - "nd65da433b8c64822b829e7f0030fcda9b1123": "A ConnectionPoint must be associated with at most one Connection using the cnx relation" - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1126": "b--213706752558191166", - "nd65da433b8c64822b829e7f0030fcda9b1105": "b-5321887354954946023", - "nd65da433b8c64822b829e7f0030fcda9b1129": "b-3308260649372864984", - "nd65da433b8c64822b829e7f0030fcda9b1112": "b-9133524360974797577", - "nd65da433b8c64822b829e7f0030fcda9b1121": "b-8861539858009766797", - "nd65da433b8c64822b829e7f0030fcda9b1128": "b-4030654326590023789", - "nd65da433b8c64822b829e7f0030fcda9b1114": "b-4905834861090331248", - "nd65da433b8c64822b829e7f0030fcda9b1125": "b-8130012999987005585", - "nd65da433b8c64822b829e7f0030fcda9b1107": "b-3932275111919091123", - "nd65da433b8c64822b829e7f0030fcda9b1110": "b--4596114285905755469", - "nd65da433b8c64822b829e7f0030fcda9b1116": "b--2019625251101829290", - "nd65da433b8c64822b829e7f0030fcda9b1130": "b-4520578483218058359", - "nd65da433b8c64822b829e7f0030fcda9b1109": "b-655492537263298232", - "nd65da433b8c64822b829e7f0030fcda9b1123": "b-132548496307108634" - }, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\nns1:ConnectionPoint a ns1:Class,\n sh:NodeShape ;\n rdfs:label \"ConnectionPoint\" ;\n ns1:abstract true ;\n ns2:subclauses ( ns1:BidirectionalConnectionPoint ns1:InletConnectionPoint ns1:OutletConnectionPoint ns1:pairedConnectionPoint ns1:mapsTo ns1:hasMedium ) ;\n rdfs:comment \"\"\"\nA ConnectionPoint is an abstract modeling construct used to represent the fact that one connectable thing can be connected to another connectable thing using a Connection. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. Equipment, DomainSpaces and Junctions can have one or more ConnectionPoints (see `s223:Connectable`).\n\nA ConnectionPoint is constrained to relate to a specific medium such as air, water, or electricity which determines what other things can be connected to it. For example, constraining a ConnectionPoint to be for air means it cannot be used for an electrical connection.\n\nA ConnectionPoint belongs to exactly one connectable thing (see `s223:Connectable').\n\nConnectionPoints are represented graphically in this standard by a triangle with the point indicating a direction of flow, or a diamond in the case of a bidirectional flow as shown in Figure 6-1. \n\n![Graphical Representation of a ConnectionPoint.](figures/Figure_5-2_Graphical_Depiciton_of_Connection_Points.svg)\n\n \"\"\" ;\n rdfs:subClassOf ns1:Concept ;\n sh:property [ rdfs:comment \"Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ns1:hasMedium ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation.\" ;\n sh:message \"s223: {$this} declares a Medium of {?a}, but the Medium of {?b} is declared by {?target} pointed to by the mapsTo+ relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?a ?b ?target\nWHERE {\n$this s223:hasMedium ?a .\n$this s223:mapsTo+ ?target .\n?target s223:hasMedium ?b .\n?a a/rdfs:subClassOf* s223:EnumerationKind-Medium .\n?b a/rdfs:subClassOf* s223:EnumerationKind-Medium .\nFILTER (?a != ?b ) .\nFILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .\nFILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"A ConnectionPoint must not have both a mapsTo and a connectsThrough relation.\" ;\n sh:path ns1:mapsTo ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A ConnectionPoint must not have both a mapsTo and a connectsThrough relation.\" ;\n sh:message \"s223: {$this} cannot have both a mapsTo {?uppercp} and a connectsThrough {?connection}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?uppercp ?connection\nWHERE {\n$this s223:mapsTo ?uppercp .\n$this s223:connectsThrough ?connection .\n?connection a/rdfs:subClassOf* s223:Connection .\n}\n\"\"\" ] ],\n [ rdfs:comment \"A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo\" ;\n sh:class ns1:ConnectionPoint ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo\" ;\n sh:path ns1:mapsTo ],\n [ rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, but is associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint might need a mapsTo relation to a ConnectionPoint of the containing Equipment.\" ;\n sh:path ns1:mapsTo ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, but is associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint might need a mapsTo relation to a ConnectionPoint of the containing Equipment.\" ;\n sh:message \"s223: ConnectionPoint {$this} could be missing a mapsTo relation to a ConnectionPoint of {?containerEquipment} because it is associated with a Junction or Equipment that is contained by {?containerEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this ?containerEquipment\n WHERE {\n FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .\n FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .\n FILTER NOT EXISTS {?anything3 s223:hasBoundaryConnectionPoint $this} .\n $this s223:isConnectionPointOf ?equipment .\n ?containerEquipment s223:contains ?equipment .\n }\n \"\"\" ] ],\n [ rdfs:comment \"If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation.\" ;\n sh:path ns1:mapsTo ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation.\" ;\n sh:message \"s223: {?otherEquipment} should contain {?equipment} because ConnectionPoint {$this} has a mapsTo relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?equipment ?otherEquipment\nWHERE {\n$this s223:mapsTo ?otherCP .\n?equipment s223:hasConnectionPoint $this .\n?otherEquipment s223:hasConnectionPoint ?otherCP .\nFILTER NOT EXISTS {?otherEquipment s223:contains ?equipment}\n}\n\"\"\" ] ],\n [ rdfs:comment \"A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo\" ;\n sh:class ns1:ConnectionPoint ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo\" ;\n sh:path [ sh:inversePath ns1:mapsTo ] ],\n [ rdfs:comment \"If the relation hasElectricalPhase is present it must associate the ConnectionPoint with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:message \"s223: If the relation hasElectricalPhase is present it must associate the ConnectionPoint with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:or ( [ sh:class ns1:Aspect-ElectricalPhaseIdentifier ] [ sh:class ns1:Aspect-ElectricalVoltagePhases ] ) ;\n sh:path ns1:hasElectricalPhase ],\n [ rdfs:comment \"A ConnectionPoint must be associated with at most one Connectable using the cnx relation.\" ;\n sh:message \"s223: A ConnectionPoint must be associated with at most one Connectable using the cnx relation.\" ;\n sh:path ns1:cnx ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedValueShape [ sh:class ns1:Connectable ] ;\n sh:qualifiedValueShapesDisjoint true ],\n [ rdfs:comment \"A ConnectionPoint must be associated with at most one Connection using the cnx relation\" ;\n sh:message \"s223: A ConnectionPoint must be associated with at most one Connection using the cnx relation\" ;\n sh:path ns1:cnx ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedValueShape [ sh:class ns1:Connection ] ;\n sh:qualifiedValueShapesDisjoint true ],\n [ rdfs:comment \"If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role.\" ;\n sh:class ns1:EnumerationKind-Role ;\n sh:message \"s223: If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role.\" ;\n sh:path ns1:hasRole ],\n [ rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, and is not associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint probably needs an association with a Connection.\" ;\n sh:path ns1:connectsThrough ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, and is not associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint probably needs an association with a Connection.\" ;\n sh:message \"s223: ConnectionPoint {$this} probably needs an association with a Connection, or use of hasOptionalConnectionPoint or hasBoundaryConnectionPoint qualifiers.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this \n WHERE {\n FILTER NOT EXISTS {?sys1 s223:hasBoundaryConnectionPoint $this} .\n FILTER NOT EXISTS {?sys2 s223:hasOptionalConnectionPoint $this} .\n FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .\n FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .\n $this s223:isConnectionPointOf ?equipment .\n FILTER NOT EXISTS {?containerEquipment s223:contains ?equipment} .\n }\n \"\"\" ] ],\n [ rdfs:comment \"A ConnectionPoint must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:class ns1:Substance-Medium ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:name \"ConnectionPoint medium\" ;\n sh:path ns1:hasMedium ],\n [ rdfs:comment \"A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf.\" ;\n sh:class ns1:Connectable ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf.\" ;\n sh:minCount 1 ;\n sh:name \"ConnectionPointToEquipmentShape\" ;\n sh:path ns1:isConnectionPointOf ],\n [ rdfs:comment \"A ConnectionPoint must be associated with at most one Connection using the relation connectsThrough.\" ;\n sh:class ns1:Connection ;\n sh:maxCount 1 ;\n sh:message \"s223: This ConnectionPoint must be associated with at most one Connection.\" ;\n sh:name \"ConnectionPointToConnectionShape\" ;\n sh:path ns1:connectsThrough ;\n sh:severity sh:Info ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1126": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, and is not associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint probably needs an association with a Connection.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, and is not associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint probably needs an association with a Connection.\" ;\n sh:message \"s223: ConnectionPoint {$this} probably needs an association with a Connection, or use of hasOptionalConnectionPoint or hasBoundaryConnectionPoint qualifiers.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this \n WHERE {\n FILTER NOT EXISTS {?sys1 s223:hasBoundaryConnectionPoint $this} .\n FILTER NOT EXISTS {?sys2 s223:hasOptionalConnectionPoint $this} .\n FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .\n FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .\n $this s223:isConnectionPointOf ?equipment .\n FILTER NOT EXISTS {?containerEquipment s223:contains ?equipment} .\n }\n \"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1105": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation.\" ;\n sh:message \"s223: {$this} declares a Medium of {?a}, but the Medium of {?b} is declared by {?target} pointed to by the mapsTo+ relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?a ?b ?target\nWHERE {\n$this s223:hasMedium ?a .\n$this s223:mapsTo+ ?target .\n?target s223:hasMedium ?b .\n?a a/rdfs:subClassOf* s223:EnumerationKind-Medium .\n?b a/rdfs:subClassOf* s223:EnumerationKind-Medium .\nFILTER (?a != ?b ) .\nFILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .\nFILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1129": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf.\" ;\n sh:minCount 1 ;\n sh:name \"ConnectionPointToEquipmentShape\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1112": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation.\" ;\n sh:message \"s223: {?otherEquipment} should contain {?equipment} because ConnectionPoint {$this} has a mapsTo relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?equipment ?otherEquipment\nWHERE {\n$this s223:mapsTo ?otherCP .\n?equipment s223:hasConnectionPoint $this .\n?otherEquipment s223:hasConnectionPoint ?otherCP .\nFILTER NOT EXISTS {?otherEquipment s223:contains ?equipment}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1121": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint must be associated with at most one Connectable using the cnx relation.\" ;\n sh:message \"s223: A ConnectionPoint must be associated with at most one Connectable using the cnx relation.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1128": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:name \"ConnectionPoint medium\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1114": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo\" ;\n sh:path [ sh:inversePath ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1125": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1107": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A ConnectionPoint must not have both a mapsTo and a connectsThrough relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A ConnectionPoint must not have both a mapsTo and a connectsThrough relation.\" ;\n sh:message \"s223: {$this} cannot have both a mapsTo {?uppercp} and a connectsThrough {?connection}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?uppercp ?connection\nWHERE {\n$this s223:mapsTo ?uppercp .\n$this s223:connectsThrough ?connection .\n?connection a/rdfs:subClassOf* s223:Connection .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1110": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, but is associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint might need a mapsTo relation to a ConnectionPoint of the containing Equipment.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, but is associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint might need a mapsTo relation to a ConnectionPoint of the containing Equipment.\" ;\n sh:message \"s223: ConnectionPoint {$this} could be missing a mapsTo relation to a ConnectionPoint of {?containerEquipment} because it is associated with a Junction or Equipment that is contained by {?containerEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this ?containerEquipment\n WHERE {\n FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .\n FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .\n FILTER NOT EXISTS {?anything3 s223:hasBoundaryConnectionPoint $this} .\n $this s223:isConnectionPointOf ?equipment .\n ?containerEquipment s223:contains ?equipment .\n }\n \"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1116": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasElectricalPhase is present it must associate the ConnectionPoint with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:message \"s223: If the relation hasElectricalPhase is present it must associate the ConnectionPoint with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1130": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint must be associated with at most one Connection using the relation connectsThrough.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: This ConnectionPoint must be associated with at most one Connection.\" ;\n sh:name \"ConnectionPointToConnectionShape\" ;\n sh:path ;\n sh:severity sh:Info .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1109": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1123": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint must be associated with at most one Connection using the cnx relation\" ;\n sh:message \"s223: A ConnectionPoint must be associated with at most one Connection using the cnx relation\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n" - } - }, - "http://data.ashrae.org/standard223#BidirectionalConnectionPoint": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1131" - ], - "complex_constraints": [], - "rules": [], - "label": "Bidirectional Connection Point", - "stable_id": "ns3:BidirectionalConnectionPoint", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1131": "If the relation mapsTo is present it must associate the BidirectionalConnectionPoint with a BidirectionalConnectionPoint." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1131": "b-1028139837134813419" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Bidirectional Connection Point\" ;\n rdfs:comment \"A BidirectionalConnectionPoint is a ConnectionPoint for which a Medium is expected to flow either into or out of the associated Connectable.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"If the relation mapsTo is present it must associate the BidirectionalConnectionPoint with a BidirectionalConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation mapsTo is present it must associate the BidirectionalConnectionPoint with a BidirectionalConnectionPoint.\" ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1131": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation mapsTo is present it must associate the BidirectionalConnectionPoint with a BidirectionalConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation mapsTo is present it must associate the BidirectionalConnectionPoint with a BidirectionalConnectionPoint.\" ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#InletConnectionPoint": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1216", - "nd65da433b8c64822b829e7f0030fcda9b1218", - "nd65da433b8c64822b829e7f0030fcda9b1219" - ], - "complex_constraints": [], - "rules": [], - "label": "Inlet Connection Point", - "stable_id": "ns3:InletConnectionPoint", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1216": "Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection", - "nd65da433b8c64822b829e7f0030fcda9b1218": "If the relation pairedConnectionPoint is present it must associate the InletConnectionPoint with an OutletConnectionPoint.", - "nd65da433b8c64822b829e7f0030fcda9b1219": "If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1216": "b-5522513094048492108", - "nd65da433b8c64822b829e7f0030fcda9b1218": "b--891371899681028860", - "nd65da433b8c64822b829e7f0030fcda9b1219": "b-8431004053425346108" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Inlet Connection Point\" ;\n rdfs:comment \"An InletConnectionPoint is a ConnectionPoint for which a Medium is expected to flow into the associated Connectable.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:message \"s223: {$this} must have a mapsTo an InletConnectionPoint of {?parentEquipment} and not an external Connection from {?sourceEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?parentEquipment ?sourceEquipment\nWHERE {\n?equipment s223:hasConnectionPoint $this .\n?parentEquipment s223:contains ?equipment .\n$this s223:connectsThrough/s223:connectsFrom ?sourceEquipment .\nFILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} .\nFILTER NOT EXISTS {$this s223:mapsTo ?anything} .\n}\n\"\"\" ] ],\n [ rdfs:comment \"If the relation pairedConnectionPoint is present it must associate the InletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation pairedConnectionPoint is present it must associate the InletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:path ],\n [ rdfs:comment \"If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint.\" ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1216": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:message \"s223: {$this} must have a mapsTo an InletConnectionPoint of {?parentEquipment} and not an external Connection from {?sourceEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?parentEquipment ?sourceEquipment\nWHERE {\n?equipment s223:hasConnectionPoint $this .\n?parentEquipment s223:contains ?equipment .\n$this s223:connectsThrough/s223:connectsFrom ?sourceEquipment .\nFILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} .\nFILTER NOT EXISTS {$this s223:mapsTo ?anything} .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1218": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation pairedConnectionPoint is present it must associate the InletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation pairedConnectionPoint is present it must associate the InletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1219": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint.\" ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#OutletConnectionPoint": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1214", - "nd65da433b8c64822b829e7f0030fcda9b1215", - "nd65da433b8c64822b829e7f0030fcda9b1212" - ], - "complex_constraints": [], - "rules": [], - "label": "Outlet Connection Point", - "stable_id": "ns3:OutletConnectionPoint", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1214": "If the relation pairedConnectionPoint is present it must associate the OutletConnectionPoint with an InletConnectionPoint.", - "nd65da433b8c64822b829e7f0030fcda9b1215": "If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint.", - "nd65da433b8c64822b829e7f0030fcda9b1212": "Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1214": "b-7631345625525497512", - "nd65da433b8c64822b829e7f0030fcda9b1215": "b-4483246678651984451", - "nd65da433b8c64822b829e7f0030fcda9b1212": "b-3138632794546678229" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Outlet Connection Point\" ;\n rdfs:comment \"An OutletConnectionPoint is a ConnectionPoint for which a Medium is expected to flow out of the associated Connectable.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:message \"s223: {$this} must have a mapsTo an OutletConnectionPoint of {?parentEquipment} and not an external Connection to {?destinationEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?parentEquipment ?destinationEquipment\nWHERE {\n?equipment s223:hasConnectionPoint $this .\n?parentEquipment s223:contains ?equipment .\n$this s223:connectsThrough/s223:connectsTo ?destinationEquipment .\nFILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} .\nFILTER NOT EXISTS {$this s223:mapsTo ?anything} .\n}\n\"\"\" ] ],\n [ rdfs:comment \"If the relation pairedConnectionPoint is present it must associate the OutletConnectionPoint with an InletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation pairedConnectionPoint is present it must associate the OutletConnectionPoint with an InletConnectionPoint.\" ;\n sh:path ],\n [ rdfs:comment \"If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1214": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation pairedConnectionPoint is present it must associate the OutletConnectionPoint with an InletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation pairedConnectionPoint is present it must associate the OutletConnectionPoint with an InletConnectionPoint.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1215": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1212": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:message \"s223: {$this} must have a mapsTo an OutletConnectionPoint of {?parentEquipment} and not an external Connection to {?destinationEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?parentEquipment ?destinationEquipment\nWHERE {\n?equipment s223:hasConnectionPoint $this .\n?parentEquipment s223:contains ?equipment .\n$this s223:connectsThrough/s223:connectsTo ?destinationEquipment .\nFILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} .\nFILTER NOT EXISTS {$this s223:mapsTo ?anything} .\n}\n\"\"\" ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#pairedConnectionPoint": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "paired connection point", - "stable_id": "ns3:pairedConnectionPoint", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n\n a ;\n rdfs:label \"paired connection point\" ;\n rdfs:comment \"The pairedConnectionPoint relation is a symmetric property used to associate two ConnectionPoints where an InletConnectionPoint shares the same medium with an OutletConnectionPoint.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#mapsTo": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "mapsTo", - "stable_id": "ns3:mapsTo", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"mapsTo\" ;\n rdfs:comment \"The relation mapsTo is used to associate a ConnectionPoint of a Connectable to a corresponding ConnectionPoint of the one containing it (see `pub:equipment-containment`). The associated ConnectionPoints must have the same direction (see `s223:EnumerationKind-Direction`) and compatiable medium Substance-Medium.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasMedium": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has Medium", - "stable_id": "ns3:hasMedium", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has Medium\" ;\n rdfs:comment \"The relation hasMedium is used to indicate what medium is flowing through the connection (e.g., air, water, electricity). The possible values are defined in EnumerationKind-Medium (see `s223:EnumerationKind-Medium`).\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Connection": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1020", - "http://data.ashrae.org/standard223#ConnectionCnxShape", - "nd65da433b8c64822b829e7f0030fcda9b1003", - "nd65da433b8c64822b829e7f0030fcda9b1006", - "nd65da433b8c64822b829e7f0030fcda9b1014", - "nd65da433b8c64822b829e7f0030fcda9b1004", - "nd65da433b8c64822b829e7f0030fcda9b1010", - "nd65da433b8c64822b829e7f0030fcda9b1016", - "nd65da433b8c64822b829e7f0030fcda9b1012", - "nd65da433b8c64822b829e7f0030fcda9b999", - "nd65da433b8c64822b829e7f0030fcda9b1000", - "nd65da433b8c64822b829e7f0030fcda9b1008", - "nd65da433b8c64822b829e7f0030fcda9b1001", - "nd65da433b8c64822b829e7f0030fcda9b1019", - "nd65da433b8c64822b829e7f0030fcda9b1018", - "nd65da433b8c64822b829e7f0030fcda9b1021" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b1022", - "nd65da433b8c64822b829e7f0030fcda9b1024", - "nd65da433b8c64822b829e7f0030fcda9b1028", - "nd65da433b8c64822b829e7f0030fcda9b1026", - "nd65da433b8c64822b829e7f0030fcda9b1023" - ], - "label": "Connection", - "stable_id": "ns3:Connection", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1020": "A Connection must be associated with exactly one Substance-Medium using the relation hasMedium.", - "nd65da433b8c64822b829e7f0030fcda9b1026": "Infer the connectsAt relation using cnx", - "http://data.ashrae.org/standard223#ConnectionCnxShape": "You need either an InletCP and an OutletCP, or at least one BidirectionalCP and another CP of any type.", - "nd65da433b8c64822b829e7f0030fcda9b1003": "If the relation connectsFrom is present it must associate the Connection with a Connectable.", - "nd65da433b8c64822b829e7f0030fcda9b1023": "Infer the connectsFrom relation using connectsAt", - "nd65da433b8c64822b829e7f0030fcda9b1024": "Infer cnx relation using connectsAt", - "nd65da433b8c64822b829e7f0030fcda9b1006": "A Connection must only have a cnx relation with a ConnectionPoint", - "nd65da433b8c64822b829e7f0030fcda9b1028": "Infer cnx relation using connectsThrough", - "nd65da433b8c64822b829e7f0030fcda9b1014": "Incompatible Medium. Case 1: A Connection with a pure medium and an associated ConnectionPoint with a pure medium.", - "nd65da433b8c64822b829e7f0030fcda9b1004": "Incompatible Medium. Case 4: A Connection with constituents and an associated ConnectionPoint with constituents.", - "nd65da433b8c64822b829e7f0030fcda9b1010": "Incompatible Medium. Case 3: Connection with a pure medium and an associated ConnectionPoint with constituents.", - "nd65da433b8c64822b829e7f0030fcda9b1016": "Incompatible Medium. Case 6: Two ConnectionPoints, one with a medium with constituents and one with a pure medium.", - "nd65da433b8c64822b829e7f0030fcda9b1012": "Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.", - "nd65da433b8c64822b829e7f0030fcda9b999": "If the relation connectsTo is present it must associate the Connection with a Connectable.", - "nd65da433b8c64822b829e7f0030fcda9b1000": "A Connection must have two or more cnx relations to ConnectionPoints", - "nd65da433b8c64822b829e7f0030fcda9b1022": "Infer the connectsTo relation using connectsAt", - "nd65da433b8c64822b829e7f0030fcda9b1008": "Incompatible Medium. Case 2: A Connection with constituents and an associated ConnectionPoint with a pure medium.", - "nd65da433b8c64822b829e7f0030fcda9b1001": "Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.", - "nd65da433b8c64822b829e7f0030fcda9b1019": "A Connection must have two or more connectsAt relations to ConnectionPoints", - "nd65da433b8c64822b829e7f0030fcda9b1018": "If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role.", - "nd65da433b8c64822b829e7f0030fcda9b1021": "If the relation hasThermodynamicPhase is present it must associate the Connection with at most one EnumerationKind-Phase." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1020": "b--6993910137102285561", - "nd65da433b8c64822b829e7f0030fcda9b1026": "b-6599477281449606410", - "http://data.ashrae.org/standard223#ConnectionCnxShape": "ns3:ConnectionCnxShape", - "nd65da433b8c64822b829e7f0030fcda9b1003": "b-8091532279609764302", - "nd65da433b8c64822b829e7f0030fcda9b1023": "b-3647174763250700686", - "nd65da433b8c64822b829e7f0030fcda9b1024": "b--62463815483814187", - "nd65da433b8c64822b829e7f0030fcda9b1006": "b-2928585040417703063", - "nd65da433b8c64822b829e7f0030fcda9b1028": "b--1638101160907538536", - "nd65da433b8c64822b829e7f0030fcda9b1014": "b-7208487087496201305", - "nd65da433b8c64822b829e7f0030fcda9b1004": "b--1451942766104312679", - "nd65da433b8c64822b829e7f0030fcda9b1010": "b--7744791830061562467", - "nd65da433b8c64822b829e7f0030fcda9b1016": "b-2369204552584308006", - "nd65da433b8c64822b829e7f0030fcda9b1012": "b-8124218857650840489", - "nd65da433b8c64822b829e7f0030fcda9b999": "b-757355547271343274", - "nd65da433b8c64822b829e7f0030fcda9b1000": "b-293568092618191148", - "nd65da433b8c64822b829e7f0030fcda9b1022": "b--8495663903641232463", - "nd65da433b8c64822b829e7f0030fcda9b1008": "b-1219562222569301874", - "nd65da433b8c64822b829e7f0030fcda9b1001": "b--1080192607808499724", - "nd65da433b8c64822b829e7f0030fcda9b1019": "b--2948011237506647051", - "nd65da433b8c64822b829e7f0030fcda9b1018": "b-8615500482813062199", - "nd65da433b8c64822b829e7f0030fcda9b1021": "b--2721825458390765379" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Connection\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"A Connection is the modeling construct used to represent the thing (e.g., pipe, duct,conductor, or free space) that is used to convey \nsome Medium (e.g., water, air, electricity, light, wi-fi) between two connectable things. All Connections have two or more ConnectionPoints bound \nto either Equipment (see `s223:Equipment`), DomainSpace (see `s223:DomainSpace`), or Junction (see `s223:Junction`) See Figure 6-2. If the direction \nof flow is constrained, that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the \ninflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.\n \nA Connection may contain branches or intersections. These may be modeled using Junctions if it is necessary to identify a specific intersection. \n(see `s223:Junction`).\n\n![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)\n\"\"\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Connection must have two or more cnx relations to ConnectionPoints\" ;\n sh:class ;\n sh:message \"s223: A Connection must have two or more cnx relations to ConnectionPoints\" ;\n sh:path ],\n [ rdfs:comment \"Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"If the relation connectsFrom is present it must associate the Connection with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectsFrom is present it must associate the Connection with a Connectable.\" ;\n sh:name \"ConnectionToUpstreamConnectableShape\" ;\n sh:path ],\n [ rdfs:comment \"Incompatible Medium. Case 4: A Connection with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: A Connection with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] ],\n [ rdfs:comment \"A Connection must only have a cnx relation with a ConnectionPoint\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Connection must only have a cnx relation with a ConnectionPoint\" ;\n sh:message \"s223: {$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint.\" ;\n sh:prefixes ;\n sh:select \"\"\"SELECT $this ?something\nWHERE {\n$this s223:cnx ?something .\nFILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .\n}\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case 2: A Connection with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A Connection with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case 3: Connection with a pure medium and an associated ConnectionPoint with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Connection with a pure medium and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:message \"s223: {?cp1} with Medium {?m2} is incompatible with {?cp2} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m2 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m1 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case 1: A Connection with a pure medium and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case 6: Two ConnectionPoints, one with a medium with constituents and one with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 6: A medium with constituents and a pure medium.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] ],\n [ rdfs:comment \"If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role.\" ;\n sh:path ],\n [ rdfs:comment \"A Connection must have two or more connectsAt relations to ConnectionPoints\" ;\n sh:class ;\n sh:message \"s223: A Connection must have two or more connectsAt relations to ConnectionPoints\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:severity sh:Warning ],\n [ rdfs:comment \"A Connection must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Connection must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:name \"Connection medium\" ;\n sh:path ],\n [ rdfs:comment \"If the relation hasThermodynamicPhase is present it must associate the Connection with at most one EnumerationKind-Phase.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: If the relation hasThermodynamicPhase is present it must associate the Connection with at most one EnumerationKind-Phase.\" ;\n sh:path ],\n [ rdfs:comment \"If the relation connectsTo is present it must associate the Connection with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectsTo is present it must associate the Connection with a Connectable.\" ;\n sh:name \"ConnectionToDownstreamConnectableShape\" ;\n sh:path ] ;\n sh:rule [ a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectsTo relation using connectsAt\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectsTo ?equipment .}\nWHERE {\n$this s223:connectsAt ?cp .\n?cp a s223:InletConnectionPoint .\n?cp s223:isConnectionPointOf ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredConnectionToDownstreamEquipmentProperty\" ;\n sh:prefixes ],\n [ a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectsFrom relation using connectsAt\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectsFrom ?equipment .}\nWHERE {\n$this s223:connectsAt ?cp .\n?cp a s223:OutletConnectionPoint .\n?cp s223:isConnectionPointOf ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredConnectionToUpstreamEquipmentProperty\" ;\n sh:prefixes ],\n [ a sh:TripleRule ;\n rdfs:comment \"Infer cnx relation using connectsAt\",\n \"InferredConnectionToConnectionPointBaseProperty\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this ],\n [ a sh:TripleRule ;\n rdfs:comment \"Infer the connectsAt relation using cnx\",\n \"InferredConnectionToConnectionPointProperty\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this ],\n [ a sh:TripleRule ;\n rdfs:comment \"Infer cnx relation using connectsThrough\",\n \"InferredConnectionToConnectionPointBasePropertyFromInverse\" ;\n sh:object [ sh:path [ sh:inversePath ] ] ;\n sh:predicate ;\n sh:subject sh:this ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1020": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Connection must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Connection must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:name \"Connection medium\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1026": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the connectsAt relation using cnx\",\n \"InferredConnectionToConnectionPointProperty\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "http://data.ashrae.org/standard223#ConnectionCnxShape": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"ConnectionCnxShape\" ;\n rdfs:comment \"You need either an InletCP and an OutletCP, or at least one BidirectionalCP and another CP of any type.\" ;\n sh:message \"s223: You need either an InletCP and an OutletCP, or at least one BidirectionalCP and another CP of any type.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ;\n sh:severity sh:Warning ],\n [ rdfs:comment \"A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ;\n sh:severity sh:Warning ] ] [ sh:property [ rdfs:comment \"A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ;\n sh:severity sh:Warning ] ] ) ;\n sh:severity sh:Warning ;\n sh:targetClass .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1003": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectsFrom is present it must associate the Connection with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectsFrom is present it must associate the Connection with a Connectable.\" ;\n sh:name \"ConnectionToUpstreamConnectableShape\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1023": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectsFrom relation using connectsAt\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectsFrom ?equipment .}\nWHERE {\n$this s223:connectsAt ?cp .\n?cp a s223:OutletConnectionPoint .\n?cp s223:isConnectionPointOf ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredConnectionToUpstreamEquipmentProperty\" ;\n sh:prefixes .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1024": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer cnx relation using connectsAt\",\n \"InferredConnectionToConnectionPointBaseProperty\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1006": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Connection must only have a cnx relation with a ConnectionPoint\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Connection must only have a cnx relation with a ConnectionPoint\" ;\n sh:message \"s223: {$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint.\" ;\n sh:prefixes ;\n sh:select \"\"\"SELECT $this ?something\nWHERE {\n$this s223:cnx ?something .\nFILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .\n}\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1028": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer cnx relation using connectsThrough\",\n \"InferredConnectionToConnectionPointBasePropertyFromInverse\" ;\n sh:object [ sh:path [ sh:inversePath ] ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1014": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 1: A Connection with a pure medium and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1004": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 4: A Connection with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: A Connection with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1010": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 3: Connection with a pure medium and an associated ConnectionPoint with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Connection with a pure medium and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1016": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 6: Two ConnectionPoints, one with a medium with constituents and one with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 6: A medium with constituents and a pure medium.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1012": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:message \"s223: {?cp1} with Medium {?m2} is incompatible with {?cp2} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m2 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m1 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b999": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectsTo is present it must associate the Connection with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectsTo is present it must associate the Connection with a Connectable.\" ;\n sh:name \"ConnectionToDownstreamConnectableShape\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1000": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Connection must have two or more cnx relations to ConnectionPoints\" ;\n sh:class ;\n sh:message \"s223: A Connection must have two or more cnx relations to ConnectionPoints\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1022": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectsTo relation using connectsAt\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectsTo ?equipment .}\nWHERE {\n$this s223:connectsAt ?cp .\n?cp a s223:InletConnectionPoint .\n?cp s223:isConnectionPointOf ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredConnectionToDownstreamEquipmentProperty\" ;\n sh:prefixes .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1008": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 2: A Connection with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A Connection with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1001": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1019": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Connection must have two or more connectsAt relations to ConnectionPoints\" ;\n sh:class ;\n sh:message \"s223: A Connection must have two or more connectsAt relations to ConnectionPoints\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:severity sh:Warning .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1018": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1021": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"If the relation hasThermodynamicPhase is present it must associate the Connection with at most one EnumerationKind-Phase.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: If the relation hasThermodynamicPhase is present it must associate the Connection with at most one EnumerationKind-Phase.\" ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#Pipe": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Pipe", - "stable_id": "ns3:Pipe", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Pipe\" ;\n rdfs:comment \"A Pipe is a subclass of Connection that is used primarily to transport liquids and gases such as water, sewage, natural gas, and compressed air.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Duct": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Duct", - "stable_id": "ns3:Duct", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Duct\" ;\n rdfs:comment \"A Duct is a subclass of Connection that is used to transport air such as supply, return, and exhaust in HVAC (Heating, Ventilation, and Air Conditioning) systems.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Conductor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b238", - "nd65da433b8c64822b829e7f0030fcda9b233" - ], - "complex_constraints": [], - "rules": [], - "label": "Conductor", - "stable_id": "ns3:Conductor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b238": "A Conductor must be associated with exactly one Constituent-Electricity using the relation hasMedium.", - "nd65da433b8c64822b829e7f0030fcda9b233": "If the relation hasElectricalPhase is present it must associate the Conductor with an ElectricalPhaseIdentifier or ElectricalVoltagePhases." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b238": "b--5711512314121415110", - "nd65da433b8c64822b829e7f0030fcda9b233": "b--1813432167319951666" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Conductor\" ;\n rdfs:comment \"\"\"A Conductor is a subclass of Connection. It is an abstraction that represents one or more wires used to convey electricity, \n with the electricity conceptualized as flowing through a Conductor like water through a pipe. Each instance of Conductor applies to no more than one circuit.\"\"\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"If the relation hasElectricalPhase is present it must associate the Conductor with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:message \"s223: If the relation hasElectricalPhase is present it must associate the Conductor with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ],\n [ rdfs:comment \"A Conductor must be associated with exactly one Constituent-Electricity using the relation hasMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Conductor must be associated with exactly one Constituent-Electricity using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b238": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Conductor must be associated with exactly one Constituent-Electricity using the relation hasMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Conductor must be associated with exactly one Constituent-Electricity using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b233": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasElectricalPhase is present it must associate the Conductor with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:message \"s223: If the relation hasElectricalPhase is present it must associate the Conductor with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#Junction": { - "simple_constraints": [ - "http://data.ashrae.org/standard223#JunctionUsageWarning", - "http://data.ashrae.org/standard223#JunctionCPShape", - "nd65da433b8c64822b829e7f0030fcda9b843", - "nd65da433b8c64822b829e7f0030fcda9b837", - "nd65da433b8c64822b829e7f0030fcda9b849", - "nd65da433b8c64822b829e7f0030fcda9b851", - "nd65da433b8c64822b829e7f0030fcda9b841", - "nd65da433b8c64822b829e7f0030fcda9b847", - "nd65da433b8c64822b829e7f0030fcda9b845", - "nd65da433b8c64822b829e7f0030fcda9b839" - ], - "complex_constraints": [], - "rules": [], - "label": "Junction", - "stable_id": "ns3:Junction", - "labels": { - "http://data.ashrae.org/standard223#JunctionUsageWarning": "This Junction is not used to model significant details of a branching point in a connection, and may not be required.", - "http://data.ashrae.org/standard223#JunctionCPShape": "A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.", - "nd65da433b8c64822b829e7f0030fcda9b843": "Ensure compatibility - Case 3: Junction with a pure medium and an associated ConnectionPoint with constituents", - "nd65da433b8c64822b829e7f0030fcda9b837": "Incompatible Medium. Case 2: A Junction with constituents and an associated ConnectionPoint with a pure medium.", - "nd65da433b8c64822b829e7f0030fcda9b849": "Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.", - "nd65da433b8c64822b829e7f0030fcda9b851": "A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium.", - "nd65da433b8c64822b829e7f0030fcda9b841": "Incompatible Medium. Case5: Two ConnectionPoints with pure mediums.", - "nd65da433b8c64822b829e7f0030fcda9b847": "Incompatible Medium. Case 6: Two ConnectionPoints, one with a medium with constituents and one a pure medium.", - "nd65da433b8c64822b829e7f0030fcda9b845": "Incompatible Medium. Case4: Junction with constituents and an associated ConnectionPoint with constituents.", - "nd65da433b8c64822b829e7f0030fcda9b839": "Incompatible Medium. Case1: A Junction with a pure medium and an associated ConnectionPoint with a pure medium." - }, - "stable_ids": { - "http://data.ashrae.org/standard223#JunctionUsageWarning": "ns3:JunctionUsageWarning", - "http://data.ashrae.org/standard223#JunctionCPShape": "ns3:JunctionCPShape", - "nd65da433b8c64822b829e7f0030fcda9b843": "b--4847209673362436694", - "nd65da433b8c64822b829e7f0030fcda9b837": "b-8073773447253498923", - "nd65da433b8c64822b829e7f0030fcda9b849": "b--3563849228155302933", - "nd65da433b8c64822b829e7f0030fcda9b851": "b-632157756953811501", - "nd65da433b8c64822b829e7f0030fcda9b841": "b-3363194133381004560", - "nd65da433b8c64822b829e7f0030fcda9b847": "b--8512746395896813577", - "nd65da433b8c64822b829e7f0030fcda9b845": "b-7127217801407285625", - "nd65da433b8c64822b829e7f0030fcda9b839": "b-6994900046813032603" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Junction\" ;\n rdfs:comment \"\"\"A Junction is a modeling construct used when a branching point within a Connection (see `s223:Connection`) is of significance, \nsuch as specifying the observation location of a Sensor. When a Junction is used, what might have been modeled as a single, branched Connection \nis separated into three or more separate Connections, all tied together with the Junction and its associated ConnectionPoints. \nJunction is a subClassOf Connectable, which gives it the ability to have connection points, but unlike Equipment (and like Connection) \nit is not allowed to change the Medium that passes through it. This is why Junction is a sibling class to Equipment and not a subclass.\"\"\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"Incompatible Medium. Case 2: A Junction with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A Junction with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case1: A Junction with a pure medium and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case5: Two ConnectionPoints with pure mediums.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"Ensure compatibility - Case 3: Junction with a pure medium and an associated ConnectionPoint with constituents\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Junction with a pure medium and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m1} is incompatible with {?cp} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case4: Junction with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: Junction with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case 6: Two ConnectionPoints, one with a medium with constituents and one a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 6: Two ConnectionPoints with a medium with constituents and a pure medium.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] ],\n [ rdfs:comment \"A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:path ] .\n\n", - "cbds": { - "http://data.ashrae.org/standard223#JunctionUsageWarning": "@prefix rdfs: .\n@prefix sh: .\n\n a sh:NodeShape ;\n rdfs:label \"JunctionUsageWarning\" ;\n rdfs:comment \"This Junction is not used to model significant details of a branching point in a connection, and may not be required.\" ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This Junction is not used to model significant details of a branching point in a connection, and may not be required.\" ;\n sh:message \"This Junction {$this} is not used to model significant details of a branching point in a connection, and may not be required.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this\n WHERE {\n $this s223:hasConnectionPoint? | s223:connectedThrough? ?junc_cp_conn .\n\n FILTER NOT EXISTS {\n # Connection has a relation that is not in the structural or required relationships\n { ?junc_cp_conn ?p ?o . } UNION {?o ?p ?junc_cp_conn . }\n FILTER (?p NOT IN (\n s223:connected, s223:connectedTo, s223:connectedThrough, s223:hasConnectionPoint,\n s223:connectsAt, s223:isConnectionPointOf, s223:cnx, rdf:type, rdfs:label, rdfs:comment\n )) \n } .\n }\n \"\"\" ;\n sh:severity sh:Warning ] ;\n sh:targetClass .\n\n", - "http://data.ashrae.org/standard223#JunctionCPShape": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"JunctionCPShape\" ;\n rdfs:comment \"A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:message \"s223: A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ],\n [ rdfs:comment \"A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ] ] [ sh:property [ rdfs:comment \"A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ] ] ) ;\n sh:severity sh:Warning ;\n sh:targetClass .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b843": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Ensure compatibility - Case 3: Junction with a pure medium and an associated ConnectionPoint with constituents\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Junction with a pure medium and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m1} is incompatible with {?cp} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b837": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 2: A Junction with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A Junction with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b849": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b851": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b841": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case5: Two ConnectionPoints with pure mediums.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b847": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 6: Two ConnectionPoints, one with a medium with constituents and one a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 6: Two ConnectionPoints with a medium with constituents and a pure medium.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b845": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case4: Junction with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: Junction with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b839": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case1: A Junction with a pure medium and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n" - } - }, - "pub:connectedness": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:connectedness", - "stable_id": "ns4:connectedness", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\n ns1:subclauses ( ) ;\n ns1:title \"Relations Describing Connectedness\" ;\n rdfs:comment \"\"\"The collection of relations defined for Connectable, ConnectionPoint, and Connection is intended to facilitate model queries that answer questions about how equipment is connected and to what it is connected. These relations are shown in Figure 6-3.\n\n![Connection Relations.](figures/Figure_6-1_Connection_Relationships.svg)\n\nIt is not necessary for a model developer to create each of these relations individually. A model can be created using a simpler construct shown in Figure 6-4 using the cnx relation. Inference rules can then be applied to generate the complete set shown in Figure 6-3. The intent is to simplify model development without losing the connectedness relationships that facilitate model queries.\n\n![CNX Relations.](figures/Figure_6-2_CNX_Relationships.svg)\n\"\"\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#connected": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "connected", - "stable_id": "ns3:connected", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a ,\n rdf:Property ;\n rdfs:label \"connected\" ;\n rdfs:comment \"The relation connected indicates that two connectable things are connected without regard to any directionality of a process flow. \" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#connectedTo": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "connected to", - "stable_id": "ns3:connectedTo", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:connectedTo a rdf:Property ;\n rdfs:label \"connected to\" ;\n ns1:inverseOf ns1:connectedFrom ;\n rdfs:comment \"The relation connectedTo indicates that connectable things are connected with a specific flow direction. A is connectedTo B, means a directionality beginning at A and ending at B. The inverse direction is indicated by connectedFrom (see `s223:connectedFrom`).\" ;\n rdfs:domain ns1:Equipment .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#connectedFrom": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "connected from", - "stable_id": "ns3:connectedFrom", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:connectedFrom a rdf:Property ;\n rdfs:label \"connected from\" ;\n ns1:inverseOf ns1:connectedTo ;\n rdfs:comment \"The relation connectedFrom indicates that connectable things are connected with a specific flow direction. B is connectedFrom A, means a directionality beginning at A and ending at B. The inverse direction is indicated by connectedTo (see `s223:connectedTo`).\" ;\n rdfs:domain ns1:Equipment .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#connectedThrough": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "connected through", - "stable_id": "ns3:connectedThrough", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"connected through\" ;\n rdfs:comment \"The relation connectedThrough is used to associate a Connectable thing with a Connection without regard to the direction of flow. It is used to discover what connection links two connectable things.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#connectsTo": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "connects to", - "stable_id": "ns3:connectsTo", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"connects to\" ;\n rdfs:comment \"The relation connectsTo binds a Connection to a Connectable thing with an implied directionality. A connectsTo B indicates a flow from A to B.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#connectsFrom": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "connects from", - "stable_id": "ns3:connectsFrom", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"connects from\" ;\n rdfs:comment \"The relation connectsFrom binds a Connectable thing to a Connection with an implied directionality. B connectsFrom A indicates a flow from A to B.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#connectsThrough": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "connects through", - "stable_id": "ns3:connectsThrough", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:connectsThrough a rdf:Property ;\n rdfs:label \"connects through\" ;\n ns1:inverseOf ns1:connectsAt ;\n rdfs:comment \"The relation connectsThrough binds a ConnectionPoint to a Connection without regard to the direction of flow.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#connectsAt": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "connects at", - "stable_id": "ns3:connectsAt", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:connectsAt a rdf:Property ;\n rdfs:label \"connects at\" ;\n ns1:inverseOf ns1:connectsThrough ;\n rdfs:comment \"The relation connectsAt binds a Connection to a specific ConnectionPoint.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasConnectionPoint": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has connection point", - "stable_id": "ns3:hasConnectionPoint", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:hasConnectionPoint a rdf:Property ;\n rdfs:label \"has connection point\" ;\n ns1:inverseOf ns1:isConnectionPointOf ;\n rdfs:comment \"The relation hasConnectionPoint is part of a pair of relations that bind a Connectable thing to a ConnectionPoint. It is the inverse of the relation isConnectionPointOf (see `s223:isConnectionPointOf`).\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#isConnectionPointOf": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "is connection point of", - "stable_id": "ns3:isConnectionPointOf", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:isConnectionPointOf a rdf:Property ;\n rdfs:label \"is connection point of\" ;\n ns1:inverseOf ns1:hasConnectionPoint ;\n rdfs:comment \"The relation isConnectionPointOf is part of a pair of relations that bind a ConnectionPoint to a Connectable thing. It is the inverse of the relation hasConnectionPoint (see `s223:hasConnectionPoint`).\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#cnx": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "cnx", - "stable_id": "ns3:cnx", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n\n a ;\n rdfs:label \"cnx\" ;\n rdfs:comment \"The cnx relation is a symmetric property used to associate adjacent entities in a connection path (comprised of Equipment-ConnectionPoint-Connection-ConnectionPoint-Equipment sequences).\" .\n\n", - "cbds": {} - }, - "pub:system": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:system", - "stable_id": "ns4:system", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\n ns1:subclauses ( ) ;\n ns1:title \"SYSTEM\" ;\n rdfs:comment \"\"\"A System is a logical grouping of one or more pieces of Equipment or other Systems defined by the modeler for some functional purpose. Examples of possible systems are an air distribution system, or a hot water system. Systems can be associated with other Systems or Equipment using the relation hasMember (see `s223:hasMember`) A System may be associated with an EnumerationKind-Role (see `s223:EnumerationKind-Role`).\n\"\"\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#System": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b777", - "nd65da433b8c64822b829e7f0030fcda9b778", - "nd65da433b8c64822b829e7f0030fcda9b780", - "nd65da433b8c64822b829e7f0030fcda9b787", - "nd65da433b8c64822b829e7f0030fcda9b779" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b785" - ], - "label": "System", - "stable_id": "ns3:System", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b785": "Infer the hasBoundaryConnectionPoint relation using hasOptionalConnectionPoint.", - "nd65da433b8c64822b829e7f0030fcda9b777": "A System may be defined with a number of ConnectionPoints that are the \"boundary\" of the equipment. The hasOptionalConnectionPoint relation is used to reference those connection points of its equipment that may not be connected, the \"dangling ConnectionPoint\" should not generate a validation error.", - "nd65da433b8c64822b829e7f0030fcda9b778": "A System may be defined with a number of ConnectionPoints that are the \"boundary\" of the equipment. The hasBoundaryConnectionPoint relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the a model with the system by itself, the \"dangling ConnectionPoint\" should not generate a validation error.", - "nd65da433b8c64822b829e7f0030fcda9b780": "A System should be associated with at least one instance of Equipment or System using the relation hasMember.", - "nd65da433b8c64822b829e7f0030fcda9b787": "Ensure that the Boundary CPs of a System belong to only members of that System", - "nd65da433b8c64822b829e7f0030fcda9b779": "If the relation hasRole is present, it must associate the System with an EnumerationKind-Role." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b785": "b-8516683745363918035", - "nd65da433b8c64822b829e7f0030fcda9b777": "b--5422677659014671001", - "nd65da433b8c64822b829e7f0030fcda9b778": "b--7727850625305786725", - "nd65da433b8c64822b829e7f0030fcda9b780": "b-327664179232371932", - "nd65da433b8c64822b829e7f0030fcda9b787": "b-176784333464026861", - "nd65da433b8c64822b829e7f0030fcda9b779": "b-9210198386036716911" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"System\" ;\n rdfs:comment \"A System is a logical grouping of one or more Equipment or other Systems for some functional purpose.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasOptionalConnectionPoint relation is used to reference those connection points of its equipment that may not be connected, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:class ;\n sh:message \"s223: A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasOptionalConnectionPoint relation is used to reference those connection points of its equipment that may not be connected, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:path ],\n [ rdfs:comment \"A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasBoundaryConnectionPoint relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the a model with the system by itself, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:class ;\n sh:message \"s223: A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasBoundaryConnectionPoint relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the a model with the system by itself, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:path ],\n [ rdfs:comment \"If the relation hasRole is present, it must associate the System with an EnumerationKind-Role.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasRole is present, it must associate the System with an EnumerationKind-Role.\" ;\n sh:path ],\n [ a sh:PropertyShape ;\n rdfs:comment \"A System should be associated with at least one instance of Equipment or System using the relation hasMember.\" ;\n sh:message \"s223: A System must be associated with at least one instance of Equipment or System using the relation hasMember.\" ;\n sh:minCount 1 ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ;\n sh:severity sh:Warning ] ;\n sh:rule [ a sh:TripleRule ;\n rdfs:comment \"Infer the hasBoundaryConnectionPoint relation using hasOptionalConnectionPoint.\" ;\n sh:name \"InferredSystemToBoundaryConnectionPointFromOptional\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this ] ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that the Boundary CPs of a System belong to only members of that System\" ;\n sh:message \"s223: System {$this} hasBoundaryConnectionPoint {?cp}, belonging to {?con} that is not a member of {?this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp ?con\nWHERE {\n$this s223:hasBoundaryConnectionPoint ?cp .\n?cp s223:isConnectionPointOf ?con .\nFILTER NOT EXISTS {$this s223:hasMember+ ?con}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b785": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasBoundaryConnectionPoint relation using hasOptionalConnectionPoint.\" ;\n sh:name \"InferredSystemToBoundaryConnectionPointFromOptional\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b777": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasOptionalConnectionPoint relation is used to reference those connection points of its equipment that may not be connected, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:class ;\n sh:message \"s223: A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasOptionalConnectionPoint relation is used to reference those connection points of its equipment that may not be connected, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b778": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasBoundaryConnectionPoint relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the a model with the system by itself, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:class ;\n sh:message \"s223: A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasBoundaryConnectionPoint relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the a model with the system by itself, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b780": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"A System should be associated with at least one instance of Equipment or System using the relation hasMember.\" ;\n sh:message \"s223: A System must be associated with at least one instance of Equipment or System using the relation hasMember.\" ;\n sh:minCount 1 ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ;\n sh:severity sh:Warning .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b787": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that the Boundary CPs of a System belong to only members of that System\" ;\n sh:message \"s223: System {$this} hasBoundaryConnectionPoint {?cp}, belonging to {?con} that is not a member of {?this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp ?con\nWHERE {\n$this s223:hasBoundaryConnectionPoint ?cp .\n?cp s223:isConnectionPointOf ?con .\nFILTER NOT EXISTS {$this s223:hasMember+ ?con}\n}\n\"\"\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b779": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasRole is present, it must associate the System with an EnumerationKind-Role.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasRole is present, it must associate the System with an EnumerationKind-Role.\" ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasMember": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has member", - "stable_id": "ns3:hasMember", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has member\" ;\n rdfs:comment \"The relation hasMember is used to associate a System with its component Equipment and/or Systems.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasBoundaryConnectionPoint": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has Boundary Connection Point", - "stable_id": "ns3:hasBoundaryConnectionPoint", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has Boundary Connection Point\" ;\n rdfs:comment \"The hasBoundaryConnectionPoint relation means the ConnectionPoint represents the boundary of a s223:System (`see s223:System`) defined by the modeler, such as a model fragment provided by the vendor of a collection of equipment intended for integration with another model. The presence of this relation is used to indicate that such a \\\"dangling ConnectionPoint\\\" should not generate a validation error in a non-integrated context but should generate an error in a integrated context.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasOptionalConnectionPoint": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has Optional Connection Point", - "stable_id": "ns3:hasOptionalConnectionPoint", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has Optional Connection Point\" ;\n rdfs:comment \"The hasOptionalConnectionPoint relation means the ConnectionPoint represents the boundary of a s223:System (`see s223:System`) defined by the modeler, such as a model fragment provided by the vendor of a collection of equipment intended for integration with another model. The presence of this relation is used to indicate that such a \\\"dangling ConnectionPoint\\\" should not generate a validation error in an integrated or non-integrated context.\" .\n\n", - "cbds": {} - }, - "pub:space": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:space", - "stable_id": "ns4:space", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\n ns1:subclauses ( ) ;\n ns1:title \"SPACE\" ;\n rdfs:comment \"\"\"\nThere are two types of spaces. PhysicalSpaces represent the building from the architectural and occupant perspective. A PhysicalSpace may represent a room (e.g., an office or conference room), a part of a room (e.g., a foyer), a collection of rooms (e.g., a floor or the entire building), or any other physical region in a building (e.g., a patio or a roof), or a whole campus.\n\nA DomainSpace is a subclass of Connectable (see `s223:Connectable`) that represents some portion of a PhysicalSpace that is affected by a building service associated with a particular domain (e.g., HVAC, lighting, see `s223:EnumerationKind-Domain`). DomainSpaces can be viewed as the endpoints of building services.\n\nDomainSpaces can represent an entire PhysicalSpace or a portion of a PhysicalSpace, and thus PhysicalSpaces enclose DomainSpaces. An instance of a PhysicalSpace may enclose DomainSpaces from different domains, and may also enclose multiple DomainSpaces of the same domain. For example, a PhysicalSpace may represent an office that encloses a single HVAC DomainSpace and multiple lighting DomainSpaces. This would indicate a single HVAC service is provided to the office, along with multiple lighting services (e.g., one that provides lighting to the area of the office that receives daylight, and another that provides lighting to the area of the office that does not receive daylight). Multiple DomainSpaces of the same domain may overlap. For example, a DomainSpace affected by lighting devices that provide general lighting service to a room may overlap with the DomainSpace affected by the lighting devices that provide emergency lighting service to a room. \n \"\"\" .\n\n", - "cbds": {} - }, - "pub:physical-space": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:physical-space", - "stable_id": "ns4:physical-space", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n\n ns1:subclauses ( ) ;\n ns1:title \"Physical Space\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#PhysicalSpace": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b862", - "nd65da433b8c64822b829e7f0030fcda9b863" - ], - "complex_constraints": [], - "rules": [], - "label": "Physical Space", - "stable_id": "ns3:PhysicalSpace", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b862": "If the relation encloses is present it must associate the PhysicalSpace with a DomainSpace.", - "nd65da433b8c64822b829e7f0030fcda9b863": "If the relation contains is present it must associate the PhysicalSpace with a PhysicalSpace." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b862": "b--1705138742313254430", - "nd65da433b8c64822b829e7f0030fcda9b863": "b-3410717178844446743" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Physical Space\" ;\n rdfs:comment \"A PhysicalSpace is an architectural concept representing a room, a part of a room, a collection of rooms, or any other physical region in a building. PhysicalSpaces may be grouped to define larger PhysicalSpaces using the relation contains (see `s223:contains`).\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"If the relation encloses is present it must associate the PhysicalSpace with a DomainSpace.\" ;\n sh:class ;\n sh:message \"s223: If the relation encloses is present it must associate the PhysicalSpace with a DomainSpace.\" ;\n sh:path ],\n [ rdfs:comment \"If the relation contains is present it must associate the PhysicalSpace with a PhysicalSpace.\" ;\n sh:class ;\n sh:message \"s223: If the relation contains is present it must associate the PhysicalSpace with a PhysicalSpace.\" ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b862": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation encloses is present it must associate the PhysicalSpace with a DomainSpace.\" ;\n sh:class ;\n sh:message \"s223: If the relation encloses is present it must associate the PhysicalSpace with a DomainSpace.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b863": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation contains is present it must associate the PhysicalSpace with a PhysicalSpace.\" ;\n sh:class ;\n sh:message \"s223: If the relation contains is present it must associate the PhysicalSpace with a PhysicalSpace.\" ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#encloses": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "encloses", - "stable_id": "ns3:encloses", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"encloses\" ;\n rdfs:comment \"The relation encloses is used to associate a PhysicalSpace with its DomainSpaces. \" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#OutdoorPhysicalSpace": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Outdoor physical space", - "stable_id": "ns3:OutdoorPhysicalSpace", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Outdoor physical space\" ;\n rdfs:comment \"An OutdoorPhysicalSpace is a subclass of PhysicalSpace to represent any physical spaces outside of a facility where, for example, ambient properties might be measured (within a suitably defined DomainSpace).\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "pub:domain-space": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:domain-space", - "stable_id": "ns4:domain-space", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n\n ns1:subclauses ( ) ;\n ns1:title \"Domain Space\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#DomainSpace": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b803", - "nd65da433b8c64822b829e7f0030fcda9b802" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b805" - ], - "label": "Domain Space", - "stable_id": "ns3:DomainSpace", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b803": "A DomainSpace must be enclosed by a PhysicalSpace.", - "nd65da433b8c64822b829e7f0030fcda9b802": "A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.", - "nd65da433b8c64822b829e7f0030fcda9b805": "Infer a hasDomain relation by checking any enclosing Zone to determine the domain." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b803": "b--211495708247232126", - "nd65da433b8c64822b829e7f0030fcda9b802": "b-3119617274133157637", - "nd65da433b8c64822b829e7f0030fcda9b805": "b--9066206591946497105" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Domain Space\" ;\n rdfs:comment \"A DomainSpace represents some portion of a PhysicalSpace that is affected by a building service associated with a Domain. DomainSpaces may represent an entire PhysicalSpace or any portion of a PhysicalSpace. Multiple DomainSpaces of the same Domain may overlap, and DomainSpaces of different Domains may also overlap. DomainSpaces may be grouped into Zones using the relation hasDomainSpace (see `s223:hasDomainSpace`).\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:minCount 1 ;\n sh:path ],\n [ rdfs:comment \"A DomainSpace must be enclosed by a PhysicalSpace.\" ;\n sh:message \"s223: A DomainSpace must be enclosed by a PhysicalSpace.\" ;\n sh:minCount 1 ;\n sh:path [ sh:inversePath ] ;\n sh:severity sh:Info ] ;\n sh:rule [ a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosing Zone to determine the domain.\" ;\n sh:object [ sh:path ( [ sh:inversePath ] ) ] ;\n sh:predicate ;\n sh:subject sh:this ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b803": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A DomainSpace must be enclosed by a PhysicalSpace.\" ;\n sh:message \"s223: A DomainSpace must be enclosed by a PhysicalSpace.\" ;\n sh:minCount 1 ;\n sh:path [ sh:inversePath ] ;\n sh:severity sh:Info .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b802": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b805": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosing Zone to determine the domain.\" ;\n sh:object [ sh:path ( [ sh:inversePath ] ) ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasDomain": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has domain", - "stable_id": "ns3:hasDomain", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has domain\" ;\n rdfs:comment \"\"\"The relation hasDomain is used to associate a Zone or DomainSpace with an EnumerationKind-Domain (e.g., Domain-HVAC, Domain-lighting).\n\"\"\" .\n\n", - "cbds": {} - }, - "pub:zone": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:zone", - "stable_id": "ns4:zone", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\n ns1:subclauses ( ) ;\n ns1:title \"ZONE\" ;\n rdfs:comment \"\"\"\n A Zone is a logical grouping of one or more DomainSpaces of a specific domain for some building service or control-related purpose. Multiple Zones of the same domain may overlap. For example, a Zone that defines DomainSpaces that are subject to an occupancy-control strategy may overlap with a Zone that defines DomainSpaces that are subject to a supervisory scheduled-control strategy.\"\"\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Zone": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b788", - "nd65da433b8c64822b829e7f0030fcda9b789", - "nd65da433b8c64822b829e7f0030fcda9b790" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b792", - "nd65da433b8c64822b829e7f0030fcda9b796" - ], - "label": "Zone", - "stable_id": "ns3:Zone", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b792": "Infer a hasDomain relation by checking any enclosed DomainSpaces to determine the domain.", - "nd65da433b8c64822b829e7f0030fcda9b796": "Infer a hasDomain relation by checking any enclosing ZoneGroup to determine the domain.", - "nd65da433b8c64822b829e7f0030fcda9b788": "A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace.", - "nd65da433b8c64822b829e7f0030fcda9b789": "A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.", - "nd65da433b8c64822b829e7f0030fcda9b790": "The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b792": "b-2722830742790454004", - "nd65da433b8c64822b829e7f0030fcda9b796": "b-826603040393427510", - "nd65da433b8c64822b829e7f0030fcda9b788": "b-2083246138750218536", - "nd65da433b8c64822b829e7f0030fcda9b789": "b-1185045820440937019", - "nd65da433b8c64822b829e7f0030fcda9b790": "b--6441789072585028936" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Zone\" ;\n rdfs:comment \"A Zone is a logical grouping of one or more DomainSpaces for a specific domain for some building service or control-related purpose. Zones may be grouped into ZoneGroups (see `s223:ZoneGroup`).\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace.\" ;\n sh:class ;\n sh:message \"s223: A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace.\" ;\n sh:minCount 1 ;\n sh:path ],\n [ rdfs:comment \"A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:minCount 1 ;\n sh:path ],\n [ rdfs:comment \"The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same.\" ;\n sh:message \"s223: Zone {$this} has a Domain of {?domain}, but it contains a DomainSpace {?ds} which has a Domain of {?dsdomain}. These should be the same.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?domain ?ds ?dsdomain\nWHERE {\n$this a s223:Zone .\n$this s223:hasDomain ?domain .\n$this s223:contains ?ds .\n?ds s223:hasDomain ?dsdomain .\nFILTER (?domain != ?dsdomain)\n}\n\"\"\" ] ] ;\n sh:rule [ a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosed DomainSpaces to determine the domain.\" ;\n sh:object [ sh:path ( ) ] ;\n sh:predicate ;\n sh:subject sh:this ],\n [ a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosing ZoneGroup to determine the domain.\" ;\n sh:object [ sh:path ( [ sh:inversePath ] ) ] ;\n sh:predicate ;\n sh:subject sh:this ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b792": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosed DomainSpaces to determine the domain.\" ;\n sh:object [ sh:path ( ) ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b796": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosing ZoneGroup to determine the domain.\" ;\n sh:object [ sh:path ( [ sh:inversePath ] ) ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b788": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace.\" ;\n sh:class ;\n sh:message \"s223: A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b789": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b790": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same.\" ;\n sh:message \"s223: Zone {$this} has a Domain of {?domain}, but it contains a DomainSpace {?ds} which has a Domain of {?dsdomain}. These should be the same.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?domain ?ds ?dsdomain\nWHERE {\n$this a s223:Zone .\n$this s223:hasDomain ?domain .\n$this s223:contains ?ds .\n?ds s223:hasDomain ?dsdomain .\nFILTER (?domain != ?dsdomain)\n}\n\"\"\" ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasDomainSpace": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has domain space", - "stable_id": "ns3:hasDomainSpace", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has domain space\" ;\n rdfs:comment \"The relation hasDomainSpace is used to associate a Zone with its component DomainSpaces.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#ZoneGroup": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b481", - "nd65da433b8c64822b829e7f0030fcda9b482" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b483" - ], - "label": "Zone group", - "stable_id": "ns3:ZoneGroup", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b481": "A ZoneGroup must be associated with at least one Zone using the relation hasZone.", - "nd65da433b8c64822b829e7f0030fcda9b482": "A ZoneGroup must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.", - "nd65da433b8c64822b829e7f0030fcda9b483": "Infer a hasDomain relation by checking any enclosed Zones to determine the domain." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b481": "b-5666926929475776987", - "nd65da433b8c64822b829e7f0030fcda9b482": "b--1297992999080541986", - "nd65da433b8c64822b829e7f0030fcda9b483": "b--5974277523322322449" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Zone group\" ;\n rdfs:comment \"A ZoneGroup is a logical grouping of one or more Zones (e.g., to define a supervisory building control strategy that overrides one or more system controls).\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A ZoneGroup must be associated with at least one Zone using the relation hasZone.\" ;\n sh:class ;\n sh:message \"s223: A ZoneGroup must be associated with at least one Zone using the relation hasZone.\" ;\n sh:minCount 1 ;\n sh:path ],\n [ rdfs:comment \"A ZoneGroup must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A ZoneGroup must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:minCount 1 ;\n sh:path ] ;\n sh:rule [ a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosed Zones to determine the domain.\" ;\n sh:object [ sh:path ( ) ] ;\n sh:predicate ;\n sh:subject sh:this ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b481": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ZoneGroup must be associated with at least one Zone using the relation hasZone.\" ;\n sh:class ;\n sh:message \"s223: A ZoneGroup must be associated with at least one Zone using the relation hasZone.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b482": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ZoneGroup must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A ZoneGroup must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b483": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosed Zones to determine the domain.\" ;\n sh:object [ sh:path ( ) ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasZone": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has zone", - "stable_id": "ns3:hasZone", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has zone\" ;\n rdfs:comment \"The relation hasZone is used to associate a ZoneGroup with its component Zones.\" .\n\n", - "cbds": {} - }, - "pub:enumerations": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:enumerations", - "stable_id": "ns4:enumerations", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\n ns1:subclauses ( ) ;\n ns1:title \"ENUMERATIONS\" ;\n rdfs:comment \"\"\"Enumerations are sets of closed values (they cannot take on values outside of what is explicitly listed in the definition) and named (each value has a unique name). The values within an enumeration share a \"kind,\" which communicates how the enumerations are intended to be used.\n\nThe standard uses enumerations to convey groups of useful values for describing attributes of Properties, Equipment, and other things in the model.\n \"\"\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Enumeration kind", - "stable_id": "ns3:EnumerationKind", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Enumeration kind\" ;\n rdfs:comment \"\"\"This is the encapsulating class for all EnumerationKinds. \n EnumerationKinds define the (closed) set of permissible values for a given purpose. \n For example, the DayOfWeek EnumerationKind enumerates the days of the week and allows no other values.\n\nEnumerationKinds are arranged in a class hierarchy tree, with the root class named EnumerationKind. Each subclass is named \nstarting with its immediate superclass, followed by a hyphen and a name that is unique among the sibling classes. \nEach class is also an instance of itself. This unusual modeling pattern was used to achieve:\n\n- The ability to set an EnumerationKind value that is more general, or not yet fully specified \nat the time of modeling, such as s223:Electricity-AC without having to state exactly what voltage or frequency it is.\n\n- The ability to use the sh:class SHACL predicate at any level in the EnumerationKind hierarchy \nto constrain a value in the s223 specification, even if it is a more general one such as s223:Electricity-AC in the above example.\n\nCertain validation constraints exist in the standard that evaluate compatibility of EnumerationKinds. \nTwo values are deemed compatible if they are the same, if one is a direct ancestor (or descendant) of the other, \nor if they are mixtures sharing at least one constituent.\"\"\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-Aspect": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "EnumerationKind Aspect", - "stable_id": "ns3:EnumerationKind-Aspect", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"EnumerationKind Aspect\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\n: Aspect Enumerations\n\n| Enumeration |\n|:-----------|\n| Aspect-Alarm |\n| Aspect-CatalogNumber |\n| Aspect-Command |\n| Aspect-DayOfWeek (see `s223:Aspect-DayOfWeek`) |\n| Aspect-Delta |\n| Aspect-DryBulb |\n| Aspect-Effectiveness (see `s223:Aspect-Effectivenes`) |\n| Aspect-Efficiency |\n| Aspect-ElectricalPhaseIdentifier (see `s223:Aspect-ElectricalPhaseIdentifier`)|\n| Aspect-ElectricalVoltagePhases (see `s223:Aspect-ElectricalVoltagePhases`) |\n| Aspect-Face |\n| Aspect-Fault |\n| Aspect-HighLimit |\n| Aspect-Latent |\n| Aspect-Loss |\n| Aspect-LowLimit |\n| Aspect-Manufacturer |\n| Aspect-Maximum |\n| Aspect-Minimum |\n| Aspect-Model |\n| Aspect-Nominal |\n| Aspect-NominalFrequency |\n| Aspect-PhaseAngle |\n| Aspect-PowerFactor |\n| Aspect-Rated |\n| Aspect-Sensible |\n| Aspect-SerialNumber |\n| Aspect-ServiceFactor |\n| Aspect-StandardConditions |\n| Aspect-Standby |\n| Aspect-StartupValue |\n| Aspect-Threshold |\n| Aspect-Total |\n| Aspect-WetBulb |\n| Aspect-Year |\n\"\"\",\n \"\"\"This class has enumerated subclasses usually used to specify the context of a s223:Property. The following table lists all of the defined enumerations for Aspect. \n Some Aspect enumerations have subclasses for more specific use. Those subclasses are not shown in the table but each of them are defined in `s223:Aspect-DayOfWeek` - `s223:Aspect-ElectricalVoltagePhases`. \n The following table lists all of the defined enumerations for Aspect.\"\"\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Aspect-DayOfWeek": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Day of Week", - "stable_id": "ns3:Aspect-DayOfWeek", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Day of Week\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"This class has enumerated subclasses of Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday. The Weekend and Weekday EnumerationKinds define subsets of this EnumerationKind for Mon-Fri and Sat,Sun, respectively\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#DayOfWeek-Weekday": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Day of week-Weekday", - "stable_id": "ns3:DayOfWeek-Weekday", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Day of week-Weekday\",\n \"Weekday\" ;\n rdfs:comment \"\"\"\n: Weekday Enumerations\n\n| Enumeration |\n|:-----------|\n| Weekday-Friday |\n| Weekday-Monday |\n| Weekday-Thursday |\n| Weekday-Tuesday |\n| Weekday-Wednesday |\n\"\"\",\n \"This class defines the EnumerationKind values of Monday, Tuesday, Wednesday, Thursday, and Friday\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#DayOfWeek-Weekend": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Day of week-Weekend", - "stable_id": "ns3:DayOfWeek-Weekend", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Day of week-Weekend\",\n \"Weekend\" ;\n rdfs:comment \"\"\"\n: Weekend Enumerations\n\n| Enumeration |\n|:-----------|\n| Weekend-Saturday |\n| Weekend-Sunday |\n\"\"\",\n \"This class defines the EnumerationKind values of Saturday and Sunday\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Aspect-Effectiveness": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Aspect-Effectiveness", - "stable_id": "ns3:Aspect-Effectiveness", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Aspect-Effectiveness\" ;\n rdfs:comment \"\"\"\n: Effectiveness Enumerations\n\n| Enumeration |\n|:-----------|\n| Effectiveness-Active |\n\"\"\",\n \"This class enumerates the possible states of effectiveness\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Aspect-ElectricalPhaseIdentifier": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Aspect-Electrical phase identifier", - "stable_id": "ns3:Aspect-ElectricalPhaseIdentifier", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Aspect-Electrical phase identifier\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\n: Electrical Phase Identifier Enumerations\n\n| Enumeration |\n|:-----------|\n| ElectricalPhaseIdentifier-A |\n| ElectricalPhaseIdentifier-AB |\n| ElectricalPhaseIdentifier-ABC |\n| ElectricalPhaseIdentifier-B |\n| ElectricalPhaseIdentifier-BC |\n| ElectricalPhaseIdentifier-C |\n| ElectricalPhaseIdentifier-CA |\n\"\"\",\n \"The value of the associated Property identifies the electrical phase of the Connection.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasElectricalPhase": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has electrical phase", - "stable_id": "ns3:hasElectricalPhase", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has electrical phase\" ;\n rdfs:comment \"The relation hasElectricalPhase is used to indicate the electrical phase identifier or the relevant electrical phases for a voltage difference for AC electricity inside a Connection.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Aspect-ElectricalVoltagePhases": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Aspect-Electrical Voltage Phases", - "stable_id": "ns3:Aspect-ElectricalVoltagePhases", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Aspect-Electrical Voltage Phases\" ;\n rdfs:comment \"\"\"\n: Electrical Voltage Phases Enumerations\n\n| Enumeration |\n|:-----------|\n| ElectricalVoltagePhases-ABLineLineVoltage |\n| ElectricalVoltagePhases-ANLineNeutralVoltage |\n| ElectricalVoltagePhases-BCLineLineVoltage |\n| ElectricalVoltagePhases-BNLineNeutralVoltage |\n| ElectricalVoltagePhases-CALineLineVoltage |\n| ElectricalVoltagePhases-CNLineNeutralVoltage |\n\"\"\",\n \"This class enumerates the relevant electrical phases for a voltage difference for AC electricity inside a Connection.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-Binary": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "EnumerationKind Binary", - "stable_id": "ns3:EnumerationKind-Binary", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"EnumerationKind Binary\" ;\n rdfs:comment \"\"\"\n: Binary Enumerations\n\n| Enumeration |\n|:-----------|\n| Binary-False |\n| Binary-True |\n| Binary-Unknown |\n\"\"\",\n \"This class has enumerated subclasses of True, False and Unknown used to describe the possible values of a binary property\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-Direction": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Direction", - "stable_id": "ns3:EnumerationKind-Direction", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Direction\" ;\n rdfs:comment \"\"\"\n: Direction Enumerations\n\n| Enumeration |\n|:-----------|\n| Direction-Bidirectional |\n| Direction-Inlet |\n| Direction-Outlet |\n\"\"\",\n \"This class has enumerated subclasses of Bidirectional, Inlet and Outlet used to qualify ConnectionPoints.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-Domain": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "EnumerationKind Domain", - "stable_id": "ns3:EnumerationKind-Domain", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"EnumerationKind Domain\" ;\n rdfs:comment \"\"\"\n: Domain Enumerations\n\n| Enumeration |\n|:-----------|\n| Domain-ConveyanceSystems |\n| Domain-Electrical |\n| Domain-Fire |\n| Domain-HVAC |\n| Domain-Lighting |\n| Domain-Networking |\n| Domain-Occupancy |\n| Domain-PhysicalSecurity |\n| Domain-Plumbing |\n| Domain-Refrigeration |\n\"\"\",\n \"A Domain represents a categorization of building services or specialization used to characterize equipment or spaces in a building. Example domains include HVAC, Lighting, and Plumbing.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-HVACOperatingMode": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "HVAC operating mode", - "stable_id": "ns3:EnumerationKind-HVACOperatingMode", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"HVAC operating mode\" ;\n rdfs:comment \"\"\"\n: HVAC Operating Mode Enumerations\n\n| Enumeration |\n|:-----------|\n| HVACOperatingMode-Auto |\n| HVACOperatingMode-CoolOnly |\n| HVACOperatingMode-FanOnly |\n| HVACOperatingMode-HeatOnly |\n| HVACOperatingMode-Off |\n\"\"\",\n \"HVACOperatingMode has enumerated subclasses of the policy under which the HVAC system or equipment is operating.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-HVACOperatingStatus": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "HVAC operating status", - "stable_id": "ns3:EnumerationKind-HVACOperatingStatus", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"HVAC operating status\" ;\n rdfs:comment \"\"\"\n: HVAC Operating Status Enumerations\n\n| Enumeration |\n|:-----------|\n| HVACOperatingStatus-Cooling |\n| HVACOperatingStatus-Dehumidifying |\n| HVACOperatingStatus-Heating |\n| HVACOperatingStatus-Off |\n| HVACOperatingStatus-Ventilating |\n\"\"\",\n \"HVACOperatingStatus has enumerated subclasses of the HVAC system/equipment operating status.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-Numerical": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b987", - "nd65da433b8c64822b829e7f0030fcda9b985", - "nd65da433b8c64822b829e7f0030fcda9b986" - ], - "complex_constraints": [], - "rules": [], - "label": "EnumerationKind Numerical", - "stable_id": "ns3:EnumerationKind-Numerical", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b987": "An EnumerationKind-Numerical must be associated with at least one QuantityKind using the relation hasQuantityKind.", - "nd65da433b8c64822b829e7f0030fcda9b985": "An EnumerationKind-Numerical can be associated with a decimal value using the relation hasValue.", - "nd65da433b8c64822b829e7f0030fcda9b986": "An EnumerationKind-Numerical must be associated with at least one Unit using the relation hasUnit." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b987": "b-9052638518771527526", - "nd65da433b8c64822b829e7f0030fcda9b985": "b-4388520286044010230", - "nd65da433b8c64822b829e7f0030fcda9b986": "b--2463039428704544121" - }, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"EnumerationKind Numerical\" ;\n ns1:hasQuantityKind ;\n ns1:hasUnit ;\n ns2:subclauses ( ) ;\n rdfs:comment \"Numerical enumeration kinds are used to support the definitions of the Electricity medium. The enumerations instances in these classes have names that are recognizable by humans but are just a string for a computer application. To avoid the need to parse strings, each of these enumeration kinds have properties associated with the enumeration that represent electrical phase, voltage, and frequency. The purpose of these properties is to enable a machine to query them and obtain the same information that a person would associate with the sting\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An EnumerationKind-Numerical can be associated with a decimal value using the relation hasValue.\" ;\n sh:datatype xsd:decimal ;\n sh:path ],\n [ rdfs:comment \"An EnumerationKind-Numerical must be associated with at least one Unit using the relation hasUnit.\" ;\n sh:class ns1:Unit ;\n sh:minCount 1 ;\n sh:path ns1:hasUnit ;\n sh:severity sh:Info ],\n [ rdfs:comment \"An EnumerationKind-Numerical must be associated with at least one QuantityKind using the relation hasQuantityKind.\" ;\n sh:class ns1:QuantityKind ;\n sh:minCount 1 ;\n sh:path ns1:hasQuantityKind ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b987": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EnumerationKind-Numerical must be associated with at least one QuantityKind using the relation hasQuantityKind.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b985": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EnumerationKind-Numerical can be associated with a decimal value using the relation hasValue.\" ;\n sh:datatype xsd:decimal ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b986": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EnumerationKind-Numerical must be associated with at least one Unit using the relation hasUnit.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path ;\n sh:severity sh:Info .\n\n" - } - }, - "http://data.ashrae.org/standard223#Numerical-DCVoltage": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b961" - ], - "complex_constraints": [], - "rules": [], - "label": "Numerical-DCVoltage", - "stable_id": "ns3:Numerical-DCVoltage", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b961": "A DC-Voltage must have a voltage" - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b961": "b--1381966443794211471" - }, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix ns3: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\nns2:Numerical-DCVoltage a ns2:Class,\n ns2:Numerical-DCVoltage,\n sh:NodeShape ;\n rdfs:label \"Numerical-DCVoltage\" ;\n ns2:hasVoltage ns2:Numerical-Voltage ;\n ns1:hasQuantityKind ;\n ns1:hasUnit ;\n ns3:subclauses ( ns2:DCVoltage-DCNegativeVoltage ns2:DCVoltage-DCPositiveVoltage ) ;\n rdfs:comment \"\"\"\n: DC Voltage Enumerations\n\n| Enumeration |\n|:-----------|\n| DCVoltage-DCNegativeVoltage |\n| DCVoltage-DCPositiveVoltage |\n| DCVoltage-DCZeroVoltage |\n\"\"\",\n \"This class has enumerated instances of common positive and negative voltages, plus zero volts.\" ;\n rdfs:subClassOf ns2:EnumerationKind-Numerical ;\n sh:property [ rdfs:comment \"A DC-Voltage must have a voltage\" ;\n sh:class ns2:Numerical-Voltage ;\n sh:minCount 1 ;\n sh:path ns2:hasVoltage ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b961": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A DC-Voltage must have a voltage\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#DCVoltage-DCNegativeVoltage": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "DC Negative Voltage", - "stable_id": "ns3:DCVoltage-DCNegativeVoltage", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix rdfs: .\n@prefix sh: .\n\nns2:DCVoltage-DCNegativeVoltage a ns2:Class,\n ns2:DCVoltage-DCNegativeVoltage,\n sh:NodeShape ;\n rdfs:label \"DC Negative Voltage\" ;\n ns2:hasVoltage ns2:Numerical-Voltage ;\n ns1:hasQuantityKind ;\n ns1:hasUnit ;\n rdfs:comment \"\"\"\n: DC Negative Voltage Enumerations\n\n| Enumeration |\n|:-----------|\n| DCNegativeVoltage-12.0V |\n| DCNegativeVoltage-190.0V |\n| DCNegativeVoltage-2.5V |\n| DCNegativeVoltage-24.0V |\n| DCNegativeVoltage-3.0V |\n| DCNegativeVoltage-380.0V |\n| DCNegativeVoltage-48.0V |\n| DCNegativeVoltage-5.0V |\n| DCNegativeVoltage-6.0V |\n\"\"\",\n \"This class has enumerated instances of common negative voltages.\" ;\n rdfs:subClassOf ns2:Numerical-DCVoltage .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#DCVoltage-DCPositiveVoltage": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "DC Positive Voltage", - "stable_id": "ns3:DCVoltage-DCPositiveVoltage", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix rdfs: .\n@prefix sh: .\n\nns2:DCVoltage-DCPositiveVoltage a ns2:Class,\n ns2:DCVoltage-DCPositiveVoltage,\n sh:NodeShape ;\n rdfs:label \"DC Positive Voltage\" ;\n ns2:hasVoltage ns2:Numerical-Voltage ;\n ns1:hasQuantityKind ;\n ns1:hasUnit ;\n rdfs:comment \"\"\"\n: DC Positive Voltage Enumerations\n\n| Enumeration |\n|:-----------|\n| DCPositiveVoltage-12.0V |\n| DCPositiveVoltage-190.0V |\n| DCPositiveVoltage-2.5V |\n| DCPositiveVoltage-24.0V |\n| DCPositiveVoltage-3.0V |\n| DCPositiveVoltage-380.0V |\n| DCPositiveVoltage-48.0V |\n| DCPositiveVoltage-5.0V |\n| DCPositiveVoltage-6.0V |\n\"\"\",\n \"This class has enumerated instances of common positive voltages.\" ;\n rdfs:subClassOf ns2:Numerical-DCVoltage .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Numerical-Frequency": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b963", - "nd65da433b8c64822b829e7f0030fcda9b962" - ], - "complex_constraints": [], - "rules": [], - "label": "Dimensioned Frequency", - "stable_id": "ns3:Numerical-Frequency", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b963": "A Numerical-Frequency must have a Quantity Kind of Frequency", - "nd65da433b8c64822b829e7f0030fcda9b962": "A Numerical-Frequency must have a unit of Hertz" - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b963": "b--7000429469335995863", - "nd65da433b8c64822b829e7f0030fcda9b962": "b--424164823063561299" - }, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Dimensioned Frequency\" ;\n ns1:hasQuantityKind ;\n ns1:hasUnit ;\n rdfs:comment \"\"\"\n: Frequency Enumerations\n\n| Enumeration |\n|:-----------|\n| Frequency-50Hz |\n| Frequency-60Hz |\n\"\"\",\n \"This class has enumerated instances of common electrical frequencies.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Numerical-Frequency must have a unit of Hertz\" ;\n sh:hasValue ;\n sh:path ns1:hasUnit ],\n [ rdfs:comment \"A Numerical-Frequency must have a Quantity Kind of Frequency\" ;\n sh:hasValue ;\n sh:path ns1:hasQuantityKind ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b963": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Numerical-Frequency must have a Quantity Kind of Frequency\" ;\n sh:hasValue ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b962": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Numerical-Frequency must have a unit of Hertz\" ;\n sh:hasValue ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#Numerical-LineLineVoltage": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1145" - ], - "complex_constraints": [], - "rules": [], - "label": "Dimensioned Line-Line Voltage", - "stable_id": "ns3:Numerical-LineLineVoltage", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1145": "An AC-Numerical-LineLineVoltage must have a voltage" - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1145": "b--736239780424342467" - }, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\nns2:Numerical-LineLineVoltage a ns2:Class,\n ns2:Numerical-LineLineVoltage,\n sh:NodeShape ;\n rdfs:label \"Dimensioned Line-Line Voltage\" ;\n ns2:hasVoltage ns2:Numerical-Voltage ;\n ns1:hasQuantityKind ;\n ns1:hasUnit ;\n rdfs:comment \"\"\"\n: Line-Line Voltage Enumerations\n\n| Enumeration |\n|:-----------|\n| LineLineVoltage-10000V |\n| LineLineVoltage-190V |\n| LineLineVoltage-208V |\n| LineLineVoltage-220V |\n| LineLineVoltage-240V |\n| LineLineVoltage-3000V |\n| LineLineVoltage-3300V |\n| LineLineVoltage-380V |\n| LineLineVoltage-400V |\n| LineLineVoltage-415V |\n| LineLineVoltage-4160V |\n| LineLineVoltage-480V |\n| LineLineVoltage-6000V |\n| LineLineVoltage-600V |\n| LineLineVoltage-6600V |\n\"\"\",\n \"This class has enumerated instances of common line-line voltages.\" ;\n rdfs:subClassOf ns2:EnumerationKind-Numerical ;\n sh:property [ rdfs:comment \"An AC-Numerical-LineLineVoltage must have a voltage\" ;\n sh:class ns2:Numerical-Voltage ;\n sh:minCount 1 ;\n sh:path ns2:hasVoltage ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1145": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AC-Numerical-LineLineVoltage must have a voltage\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#Numerical-LineNeutralVoltage": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1146" - ], - "complex_constraints": [], - "rules": [], - "label": "Dimensioned Line-Neutral Voltage", - "stable_id": "ns3:Numerical-LineNeutralVoltage", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1146": "An AC-Numerical-LineNeutralVoltage must have a voltage" - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1146": "b--2875251029636116269" - }, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\nns1:Numerical-LineNeutralVoltage a ns1:Class,\n ns1:Numerical-LineNeutralVoltage,\n sh:NodeShape ;\n rdfs:label \"Dimensioned Line-Neutral Voltage\" ;\n ns1:hasVoltage ns1:Numerical-Voltage ;\n ns2:hasQuantityKind ;\n ns2:hasUnit ;\n rdfs:comment \"\"\"\n: Line Neutral Voltage Enumerations\n\n| Enumeration |\n|:-----------|\n| LineNeutralVoltage-110V |\n| LineNeutralVoltage-120V |\n| LineNeutralVoltage-127V |\n| LineNeutralVoltage-139V |\n| LineNeutralVoltage-1730V |\n| LineNeutralVoltage-1900V |\n| LineNeutralVoltage-208V |\n| LineNeutralVoltage-219V |\n| LineNeutralVoltage-231V |\n| LineNeutralVoltage-2400V |\n| LineNeutralVoltage-240V |\n| LineNeutralVoltage-24V |\n| LineNeutralVoltage-277V |\n| LineNeutralVoltage-3460V |\n| LineNeutralVoltage-347V |\n| LineNeutralVoltage-3810V |\n| LineNeutralVoltage-5770V |\n\"\"\",\n \"This class has enumerated instances of common line-neutral voltages.\" ;\n rdfs:subClassOf ns1:EnumerationKind-Numerical ;\n sh:property [ rdfs:comment \"An AC-Numerical-LineNeutralVoltage must have a voltage\" ;\n sh:class ns1:Numerical-Voltage ;\n sh:minCount 1 ;\n sh:path ns1:hasVoltage ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1146": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AC-Numerical-LineNeutralVoltage must have a voltage\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#Numerical-NumberOfElectricalPhases": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Dimensionless Number of Electrical Phases", - "stable_id": "ns3:Numerical-NumberOfElectricalPhases", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Dimensionless Number of Electrical Phases\" ;\n ns1:hasQuantityKind ;\n ns1:hasUnit ;\n rdfs:comment \"\"\"\n: Number Of Electrical Phases Enumerations\n\n| Enumeration |\n|:-----------|\n| NumberOfElectricalPhases-SinglePhase |\n| NumberOfElectricalPhases-ThreePhase |\n\"\"\",\n \"This class has enumerated instances of number of electrical phases. The s223:hasNumberOfElectricalPhases relation points to one of the values of this enumeration.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Numerical-Voltage": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1221", - "nd65da433b8c64822b829e7f0030fcda9b1220" - ], - "complex_constraints": [], - "rules": [], - "label": "Dimensioned Voltage", - "stable_id": "ns3:Numerical-Voltage", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1221": "A Numerical-Voltage must have a Quantity Kind of Voltage", - "nd65da433b8c64822b829e7f0030fcda9b1220": "A Numerical-Voltage must have a unit of Volts" - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1221": "b--9115467331894149206", - "nd65da433b8c64822b829e7f0030fcda9b1220": "b-5515604686996601570" - }, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Dimensioned Voltage\" ;\n ns1:hasQuantityKind ;\n ns1:hasUnit ;\n rdfs:comment \"\"\"\n: Voltage Enumerations\n\n| Enumeration |\n|:-----------|\n| Voltage-0V |\n| Voltage-10000V |\n| Voltage-110V |\n| Voltage-120V |\n| Voltage-127V |\n| Voltage-12V |\n| Voltage-139V |\n| Voltage-1730V |\n| Voltage-1900V |\n| Voltage-190V |\n| Voltage-208V |\n| Voltage-219V |\n| Voltage-220V |\n| Voltage-231V |\n| Voltage-2400V |\n| Voltage-240V |\n| Voltage-24V |\n| Voltage-277V |\n| Voltage-2V |\n| Voltage-3000V |\n| Voltage-3300V |\n| Voltage-3460V |\n| Voltage-347V |\n| Voltage-380V |\n| Voltage-3810V |\n| Voltage-3V |\n| Voltage-400V |\n| Voltage-415V |\n| Voltage-4160V |\n| Voltage-480V |\n| Voltage-48V |\n| Voltage-5770V |\n| Voltage-5V |\n| Voltage-6000V |\n| Voltage-600V |\n| Voltage-6600V |\n| Voltage-6V |\n\"\"\",\n \"This class has enumerated instances of common voltages.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Numerical-Voltage must have a unit of Volts\" ;\n sh:hasValue ;\n sh:path ns1:hasUnit ],\n [ rdfs:comment \"A Numerical-Voltage must have a Quantity Kind of Voltage\" ;\n sh:hasValue ;\n sh:path ns1:hasQuantityKind ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1221": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Numerical-Voltage must have a Quantity Kind of Voltage\" ;\n sh:hasValue ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1220": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Numerical-Voltage must have a unit of Volts\" ;\n sh:hasValue ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasFrequency": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has frequency", - "stable_id": "ns3:hasFrequency", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has frequency\" ;\n rdfs:comment \"The relation hasFrequency is used to identify the frequency of an AC electricity enumeration kind. \" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasVoltage": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "hasVoltage", - "stable_id": "ns3:hasVoltage", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"hasVoltage\" ;\n rdfs:comment \"The relation hasVoltage is used to identify the voltage of an electricity enumeration kind. \" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-Occupancy": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Occupancy status", - "stable_id": "ns3:EnumerationKind-Occupancy", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Occupancy status\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\n: Occupancy Enumerations\n\n| Enumeration |\n|:-----------|\n| Occupied |\n| Unoccupied |\n| Unknown |\n\"\"\",\n \"This class has enumerated subclasses of occupancy status, i.e. the state of being used or occupied. Some Occupancy enumerations have subclasses for more specific use.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Occupancy-Motion": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Occupancy Motion", - "stable_id": "ns3:Occupancy-Motion", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Occupancy Motion\" ;\n rdfs:comment \"\"\"\n: Motion Enumerations\n\n| Enumeration |\n|:-----------|\n| Motion-False |\n| Motion-True |\n\"\"\",\n \"This class has enumerated subclasses indicating whether motion is detected or not.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Occupancy-Presence": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Occupancy Presence", - "stable_id": "ns3:Occupancy-Presence", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Occupancy Presence\" ;\n rdfs:comment \"\"\"\n: Presence Enumerations\n\n| Enumeration |\n|:-----------|\n| Presence-False |\n| Presence-True |\n\"\"\",\n \"This class has enumerated subclasses indicating whether physical presence is detected or not.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-OnOff": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "OnOff enumeration", - "stable_id": "ns3:EnumerationKind-OnOff", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"OnOff enumeration\" ;\n rdfs:comment \"\"\"\n: On Off Enumerations\n\n| Enumeration |\n|:-----------|\n| OnOff-Off |\n| OnOff-On |\n| OnOff-Unknown |\n\"\"\",\n \"This class has enumerated subclasses of states of either on or off.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-Phase": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "EnumerationKind Phase", - "stable_id": "ns3:EnumerationKind-Phase", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"EnumerationKind Phase\" ;\n ns1:subclauses ( ),\n ( ) ;\n rdfs:comment \"This class has enumerated subclasses of thermodynamic phase, i.e. states of matter.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Phase-Gas": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Phase-Gas", - "stable_id": "ns3:Phase-Gas", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Phase-Gas\" ;\n rdfs:comment \"\"\"\n: Gas Enumerations\n\n| Enumeration |\n|:-----------|\n| Gas-SuperHeated |\n\"\"\",\n \"This class has enumerated subclasses of gas in various thermodynamic states.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Phase-Liquid": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Phase-Liquid", - "stable_id": "ns3:Phase-Liquid", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Phase-Liquid\" ;\n rdfs:comment \"\"\"\n: Liquid Enumerations\n\n| Enumeration |\n|:-----------|\n| Liquid-SubCooled |\n\"\"\",\n \"This class has enumerated subclasses of liquid in various thermodynamic states.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Phase-Solid": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Phase-Solid", - "stable_id": "ns3:Phase-Solid", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Phase-Solid\" ;\n rdfs:comment \"Phase-Solid\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Phase-Vapor": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Phase-Vapor", - "stable_id": "ns3:Phase-Vapor", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Phase-Vapor\" ;\n rdfs:comment \"Phase-Vapor\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasThermodynamicPhase": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has thermodynamic phase", - "stable_id": "ns3:hasThermodynamicPhase", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has thermodynamic phase\" ;\n rdfs:comment \"The relation hasThermodynamicPhase is used to indicate the thermodynamic phase of the Medium inside a Connection.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-Position": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Position", - "stable_id": "ns3:EnumerationKind-Position", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Position\" ;\n rdfs:comment \"\"\"\n: Position Enumerations\n\n| Enumeration |\n|:-----------|\n| Position-Closed |\n| Position-Open |\n| Position-Unknown |\n\"\"\",\n \"This class has enumerated subclasses of position such as closed or open.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-Role": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Role", - "stable_id": "ns3:EnumerationKind-Role", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Role\" ;\n rdfs:comment \"\"\"\n: Role Enumerations\n\n| Enumeration |\n|:-----------|\n| Role-Condenser |\n| Role-Controller |\n| Role-Cooling |\n| Role-Discharge |\n| Role-Economizer |\n| Role-Evaporator |\n| Role-Exhaust |\n| Role-Expansion |\n| Role-Generator |\n| Role-HeatRecovery |\n| Role-Heating |\n| Role-Load |\n| Role-Primary |\n| Role-Recirculating |\n| Role-Relief |\n| Role-Return |\n| Role-Secondary |\n| Role-Supply |\n\"\"\",\n \"\"\"This class has enumerated subclasses of roles played by entities, such as cooling, generator, \n relief, return. The use of these enumeration kinds are to indicate the **capability** of an entity to play a given \n role, rather than as an indication of the role or mode being active at any given point in time. In other words, \n some reversible piece of equipment might play a role of Role-Cooling at one time, and Role-Heating at another. \n Such an entity would be described by two triples to indicate these two allowable roles. To determine what role \n is active at a particular time is not determinable within the scope of 223, but rather through a Property with \n an ExternalReference to telemetry or control data.\"\"\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-RunStatus": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Run status", - "stable_id": "ns3:EnumerationKind-RunStatus", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Run status\" ;\n rdfs:comment \"\"\"\n: Run Status Enumerations\n\n| Enumeration |\n|:-----------|\n| RunStatus-Off |\n| RunStatus-On |\n| RunStatus-Unknown |\n\"\"\",\n \"This class is a more general form of EnumerationKind-OnOff, allowing for additional status values beyond on or off.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-Speed": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Speed", - "stable_id": "ns3:EnumerationKind-Speed", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Speed\" ;\n rdfs:comment \"\"\"\n: Speed Enumerations\n\n| Enumeration |\n|:-----------|\n| Speed-High |\n| Speed-Low |\n| Speed-Medium |\n| Speed-Off |\n\"\"\",\n \"This class has enumerated subclasses of speed settings of High, Medium, Low (plus Off).\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumerationKind-Substance": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b958", - "nd65da433b8c64822b829e7f0030fcda9b956" - ], - "complex_constraints": [], - "rules": [], - "label": "Substance", - "stable_id": "ns3:EnumerationKind-Substance", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b958": "If the relation composedOf is present, it must associate an EnumerationKind-Substance with one or more Properties that identify and characterize its constituents. The Property identifies the constituent using the relation ofConstituent. If appropriate, a QuantifiableProperty may be used to also specify the amount of the constituent using the relations qudt:hasQuantityKind, qudt:hasUnit, and s223:hasValue. For example, see `s223:GlycolSolution-15Percent`.", - "nd65da433b8c64822b829e7f0030fcda9b956": "A substance may only have atomic constituents, it may not have a constituent that also composed ofs." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b958": "b--5245745402393378989", - "nd65da433b8c64822b829e7f0030fcda9b956": "b-693360214633601692" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Substance\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\n:Substance Enumerations\n\n| Enumeration |\n|:-----------|\n| Substance-Medium (See `s223:Substance-Medium`) |\n| Substance-Particulate (See `s223:Substance-Particulate`) |\n| Substance-Soot |\n\"\"\",\n \"This class has enumerated subclasses of the substances that are consumed, produced, transported, sensed, controlled or otherwise interacted with (e.g. water, air, etc.).\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A substance may only have atomic constituents, it may not have a constituent that also composed ofs.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a substance has a constituent, that constituent may not itself have constituents.\" ;\n sh:message \"s223: This substance {$this} has a constituent {?constituent} that itself composed ofs {?nextConstituent}. Create new substance with only atomic constituents.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?constituent ?nextConstituent\nWHERE {\n$this s223:composedOf ?constituent .\n?constituent s223:ofConstituent/s223:composedOf ?nextConstituent .\n}\n\"\"\" ] ],\n [ rdfs:comment \"\"\"If the relation composedOf is present, it must associate an EnumerationKind-Substance with one or more Properties that \nidentify and characterize its constituents. The Property identifies the constituent using the relation ofConstituent. If appropriate, a \nQuantifiableProperty may be used to also specify the amount of the constituent using the relations qudt:hasQuantityKind, qudt:hasUnit, and s223:hasValue. \nFor example, see `s223:GlycolSolution-15Percent`.\"\"\" ;\n sh:class ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b958": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"\"\"If the relation composedOf is present, it must associate an EnumerationKind-Substance with one or more Properties that \nidentify and characterize its constituents. The Property identifies the constituent using the relation ofConstituent. If appropriate, a \nQuantifiableProperty may be used to also specify the amount of the constituent using the relations qudt:hasQuantityKind, qudt:hasUnit, and s223:hasValue. \nFor example, see `s223:GlycolSolution-15Percent`.\"\"\" ;\n sh:class ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b956": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A substance may only have atomic constituents, it may not have a constituent that also composed ofs.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a substance has a constituent, that constituent may not itself have constituents.\" ;\n sh:message \"s223: This substance {$this} has a constituent {?constituent} that itself composed ofs {?nextConstituent}. Create new substance with only atomic constituents.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?constituent ?nextConstituent\nWHERE {\n$this s223:composedOf ?constituent .\n?constituent s223:ofConstituent/s223:composedOf ?nextConstituent .\n}\n\"\"\" ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Substance-Medium": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Medium", - "stable_id": "ns3:Substance-Medium", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Medium\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\n:Medium Enumerations\n\n| Enumeration |\n|:-----------|\n| Medium-Constituent (See `s223:Medium-Constituent`) |\n| Medium-Mix (See `s223:Medium-Mix`) |\n| Medium-ThermalContact |\n\"\"\",\n \"This class has enumerated subclasses of a physical substance or anything that allows for the transfer of energy or information.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Medium-Constituent": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Medium-Constituent", - "stable_id": "ns3:Medium-Constituent", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Medium-Constituent\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\n:Constituent Enumerations\n\n| Enumeration |\n|:-----------|\n| Constituent-CO |\n| Constituent-CO2 |\n| Constituent-Glycol |\n| Constituent-Electricity (see `s223:Constituent-Electricity`) |\n| Constituent-EM (see `s223:Constituent-EM`) |\n| Constituent-H2O |\n\"\"\",\n \"Medium-Constituent\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Constituent-Electricity": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Electricity", - "stable_id": "ns3:Constituent-Electricity", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Electricity\" ;\n ns1:subclauses ( ),\n ( ) ;\n rdfs:comment \"\"\"\n:Electricity Enumerations\n\n| Enumeration |\n|:-----------|\n| Electricity-AC (see `s223:Electricity-AC`)|\n| Electricity-DC (see `s223:Electricity-DC`)|\n| Electricity-Earth |\n| Constituent-Neutral |\n| Constituent-Signal (see `s223:Electricity-Signal`) |\n\"\"\",\n \"This class has enumerated subclasses of all forms of electricity, including AC and DC.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Electricity-AC": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1257", - "nd65da433b8c64822b829e7f0030fcda9b1258", - "nd65da433b8c64822b829e7f0030fcda9b1265" - ], - "complex_constraints": [], - "rules": [], - "label": "Electricity AC", - "stable_id": "ns3:Electricity-AC", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1257": "An electricity AC medium must have a frequency", - "nd65da433b8c64822b829e7f0030fcda9b1258": "An electricity AC medium must have a voltage.", - "nd65da433b8c64822b829e7f0030fcda9b1265": "An electricity AC medium must have a number of electrical phases." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1257": "b--4960903732084845207", - "nd65da433b8c64822b829e7f0030fcda9b1258": "b--4118923966556378597", - "nd65da433b8c64822b829e7f0030fcda9b1265": "b--6095190787538594019" - }, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\nns1:Electricity-AC a ns1:Class,\n ns1:Electricity-AC,\n sh:NodeShape ;\n rdfs:label \"Electricity AC\" ;\n ns1:hasFrequency ns1:Numerical-Frequency ;\n ns1:hasNumberOfElectricalPhases ns1:Numerical-NumberOfElectricalPhases ;\n ns1:hasVoltage ns1:Numerical-Voltage ;\n ns2:subclauses ( ns1:hasNumberOfElectricalPhases ns2:electricalwiringv2-p1 ns2:electricalwiringv2-p2 ns2:electricalwiringv2-p3 ns2:electricalwiringv2-p4 ns2:electricalwiringv2-p5 ns2:electricalwiringv2-p6 ns2:electricalwiringv2-p7 ns2:electricalwiringv2-p8 ) ;\n rdfs:comment \"\"\"\n: AC Enumerations\n\n| Enumeration |\n|:-----------|\n| AC-10000VLL-1Ph-60Hz |\n| AC-10000VLL-3Ph-60Hz |\n| AC-10000VLL-5770VLN-1Ph-60Hz |\n| AC-10000VLL-5770VLN-3Ph-60Hz |\n| AC-110VLN-1Ph-50Hz |\n| AC-120VLN-1Ph-60Hz |\n| AC-127VLN-1Ph-50Hz |\n| AC-139VLN-1Ph-50Hz |\n| AC-1730VLN-1Ph-60Hz |\n| AC-1900VLN-1Ph-60Hz |\n| AC-190VLL-110VLN-1Ph-50Hz |\n| AC-190VLL-110VLN-3Ph-50Hz |\n| AC-190VLL-1Ph-50Hz |\n| AC-190VLL-3Ph-50Hz |\n| AC-208VLL-120VLN-1Ph-60Hz |\n| AC-208VLL-120VLN-3Ph-60Hz |\n| AC-208VLL-1Ph-60Hz |\n| AC-208VLL-3Ph-60Hz |\n| AC-219VLN-1Ph-60Hz |\n| AC-220VLL-127VLN-1Ph-50Hz |\n| AC-220VLL-127VLN-3Ph-50Hz |\n| AC-220VLL-1Ph-50Hz |\n| AC-220VLL-3Ph-50Hz |\n| AC-231VLN-1Ph-50Hz |\n| AC-2400VLN-1Ph-60Hz |\n| AC-240VLL-120VLN-1Ph-60Hz |\n| AC-240VLL-139VLN-1Ph-50Hz |\n| AC-240VLL-139VLN-3Ph-50Hz |\n| AC-240VLL-1Ph-50Hz |\n| AC-240VLL-1Ph-60Hz |\n| AC-240VLL-208VLN-120VLN-1Ph-60Hz |\n| AC-240VLL-208VLN-120VLN-3Ph-60Hz |\n| AC-240VLL-3Ph-50Hz |\n| AC-240VLL-3Ph-60Hz |\n| AC-240VLN-1Ph-50Hz |\n| AC-24VLN-1Ph-50Hz |\n| AC-24VLN-1Ph-60Hz |\n| AC-277VLN-1Ph-60Hz |\n| AC-3000VLL-1730VLN-1Ph-60Hz |\n| AC-3000VLL-1730VLN-3Ph-60Hz |\n| AC-3000VLL-1Ph-60Hz |\n| AC-3000VLL-3Ph-60Hz |\n| AC-3300VLL-1900VLN-1Ph-60Hz |\n| AC-3300VLL-1900VLN-3Ph-60Hz |\n| AC-3300VLL-1Ph-60Hz |\n| AC-3300VLL-3Ph-60Hz |\n| AC-3460VLN-1Ph-60Hz |\n| AC-347VLN-1Ph-60Hz |\n| AC-380VLL-1Ph-60Hz |\n| AC-380VLL-219VLN-1Ph-60Hz |\n| AC-380VLL-219VLN-3Ph-60Hz |\n| AC-380VLL-3Ph-60Hz |\n| AC-3810VLN-1Ph-60Hz |\n| AC-400VLL-1Ph-50Hz |\n| AC-400VLL-231VLN-1Ph-50Hz |\n| AC-400VLL-231VLN-3Ph-50Hz |\n| AC-400VLL-3Ph-50Hz |\n| AC-415VLL-1Ph-50Hz |\n| AC-415VLL-240VLN-1Ph-50Hz |\n| AC-415VLL-240VLN-3Ph-50Hz |\n| AC-415VLL-3Ph-50Hz |\n| AC-4160VLL-1Ph-60Hz |\n| AC-4160VLL-2400VLN-1Ph-60Hz |\n| AC-4160VLL-2400VLN-3Ph-60Hz |\n| AC-4160VLL-3Ph-60Hz |\n| AC-480VLL-1Ph-60Hz |\n| AC-480VLL-277VLN-1Ph-60Hz |\n| AC-480VLL-277VLN-3Ph-60Hz |\n| AC-480VLL-3Ph-60Hz |\n| AC-5770VLN-1Ph-60Hz |\n| AC-6000VLL-1Ph-60Hz |\n| AC-6000VLL-3460VLN-1Ph-60Hz |\n| AC-6000VLL-3460VLN-3Ph-60Hz |\n| AC-6000VLL-3Ph-60Hz |\n| AC-600VLL-1Ph-60Hz |\n| AC-600VLL-347VLN-1Ph-60Hz |\n| AC-600VLL-347VLN-3Ph-60Hz |\n| AC-600VLL-3Ph-60Hz |\n| AC-6600VLL-1Ph-60Hz |\n| AC-6600VLL-3810VLN-1Ph-60Hz |\n| AC-6600VLL-3810VLN-3Ph-60Hz |\n| AC-6600VLL-3Ph-60Hz |\n\"\"\",\n \"This class has enumerated instances of all AC forms of electricity.\" ;\n rdfs:subClassOf ns1:Constituent-Electricity ;\n sh:property [ rdfs:comment \"An electricity AC medium must have a frequency\" ;\n sh:class ns1:Numerical-Frequency ;\n sh:minCount 1 ;\n sh:path ns1:hasFrequency ],\n [ rdfs:comment \"An electricity AC medium must have a voltage.\" ;\n sh:minCount 1 ;\n sh:or ( [ sh:class ns1:Numerical-LineLineVoltage ] [ sh:class ns1:Numerical-LineNeutralVoltage ] [ sh:class ns1:Numerical-Voltage ] ) ;\n sh:path ns1:hasVoltage ],\n [ rdfs:comment \"An electricity AC medium must have a number of electrical phases.\" ;\n sh:class ns1:Numerical-NumberOfElectricalPhases ;\n sh:minCount 1 ;\n sh:path ns1:hasNumberOfElectricalPhases ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1257": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An electricity AC medium must have a frequency\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1258": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An electricity AC medium must have a voltage.\" ;\n sh:minCount 1 ;\n sh:or ( [ sh:class ] [ sh:class ] [ sh:class ] ) ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1265": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An electricity AC medium must have a number of electrical phases.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasNumberOfElectricalPhases": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has number of electrical phases", - "stable_id": "ns3:hasNumberOfElectricalPhases", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has number of electrical phases\" ;\n rdfs:comment \"The relation hasNumberOfElectricalPhases is used to identify the number of electrical phases in an AC electricity enumeration kind. \" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#electricalwiringv2-p1": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:electricalwiringv2-p1", - "stable_id": "ns2:electricalwiringv2-p1", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\nns1:electricalwiringv2-p1 ns1:title \"1-Phase 3-Wire (LLN) Delta 240V L-L\" ;\n rdfs:comment \"\"\"\nThis is an example Delta 240 V transformer.\n\n![Caption](figures/electricalwiringv2-p1.jpg)\n\n| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |\n|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|\n| AC-240VLL-120VLN-3PH-60Hz | 3 | 240 | 120 | US | AN, BN, AB, ABN |\n| AC-240VLL-1PH-60Hz | 2 | 240 | - | US | AB |\n| AC-120VLN-1PH-60Hz | 2 | - | 120 | US | AN, BN |\n\"\"\" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#electricalwiringv2-p2": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:electricalwiringv2-p2", - "stable_id": "ns2:electricalwiringv2-p2", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\nns1:electricalwiringv2-p2 ns1:title \"3-Phase 3-Wire (LLL) Delta 480V L-L\" ;\n rdfs:comment \"\"\"\nThis is an example Delta 480 V transformer.\n\n![Caption](figures/electricalwiringv2-p2.jpg)\n\n| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |\n|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|\n| AC-480VLL-3PH-60Hz | 3 | 480 | - | US | ABC, AB, BC, AC |\n| AC-480VLL-1PH-60Hz | 2 | 480 | - | US | AB, BC, AC |\n\"\"\" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#electricalwiringv2-p3": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:electricalwiringv2-p3", - "stable_id": "ns2:electricalwiringv2-p3", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\nns1:electricalwiringv2-p3 ns1:title \"3-Phase 3-Wire (LLL) Delta 600V L-L\" ;\n rdfs:comment \"\"\"\nThis is an example Delta 600 V transformer.\n\n![Caption](figures/electricalwiringv2-p3.jpg)\n\n| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |\n|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|\n| AC-600VLL-3PH-60Hz | 3 | 600 | - | US | ABC, AB, BC, AC |\n| AC-600VLL-1PH-60Hz | 2 | 600 | - | US | AB, BC, AC |\n\"\"\" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#electricalwiringv2-p4": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:electricalwiringv2-p4", - "stable_id": "ns2:electricalwiringv2-p4", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\nns1:electricalwiringv2-p4 ns1:title \"3-Phase 4-Wire (LLLN) Delta 240V L-L\" ;\n rdfs:comment \"\"\"\nThis is an example 3-Phase 4-Wire Delta 240 V transformer.\n\n![Caption](figures/electricalwiringv2-p4.jpg)\n\n| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |\n|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|\n| AC-240VLL-208VLN-120VLN-3PH-60Hz | 4 | 240 | 208, 120 | US | AN, BN, CN, AB, BC, AC, ABN, BCN, ACN, ABC, ABCN |\n| AC-240VLL-3PH-60Hz | 3 | 240 | - | US | ABC |\n| AC-240VLL-120VLN-1PH-60Hz | 3 | 240 | 120 | US | ABN, BCN, AN, BN |\n| AC-240VLL-1PH-60Hz | 2 | 240 | - | US | AB, BC, AC |\n| AC-120VLN-1PH-60Hz | 2 | - | 120 | US | AN, BN |\n\"\"\" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#electricalwiringv2-p5": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:electricalwiringv2-p5", - "stable_id": "ns2:electricalwiringv2-p5", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\nns1:electricalwiringv2-p5 ns1:title \"3-Phase 4-Wire (LLLN) Delta 480V L-L\" ;\n rdfs:comment \"\"\"\nThis is an example 3-Phase 4-Wire Delta 480 V transformer.\n\n![Caption](figures/electricalwiringv2-p5.jpg)\n\n| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |\n|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|\n| AC-480VLL-415VLN-240VLN-3PH-60Hz | 4 | 480 | 415, 240 | US | AN, BN, CN, AB, BC, AC, ABN, BCN, ACN, ABC, ABCN |\n| AC-480VLL-3PH-60Hz | 3 | 480 | - | US | ABC |\n| AC-480VLL-240VLN-1PH-60Hz | 3 | 480 | 240 | US | ABN, BCN, AN, BN |\n| AC-480VLL-1PH-60Hz | 2 | 480 | - | US | AB, BC, AC |\n| AC-240VLN-1PH-60Hz | 2 | - | 240 | US | AN, BN |\n\"\"\" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#electricalwiringv2-p6": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:electricalwiringv2-p6", - "stable_id": "ns2:electricalwiringv2-p6", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\nns1:electricalwiringv2-p6 ns1:title \"3-Phase 4-Wire (LLLN) Wye 208V L-L\" ;\n rdfs:comment \"\"\"\nThis is an example 3-Phase 4-Wire Wye 208 V transformer.\n\n![Caption](figures/electricalwiringv2-p6.jpg)\n\n| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |\n|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|\n| AC-208VLL-120VLN-3PH-60Hz | 4 | 208 | 120 | US | AN, BN, CN, AB, BC, AC, ABN, BCN, ACN, ABC, ABCN |\n| AC-208VLL-3PH-60Hz | 3 | 208 | - | US | ABC |\n| AC-208VLL-120VLN-1PH-60Hz | 3 | 208 | 120 | US | ABN, BCN, ACN |\n| AC-208VLL-1PH-60Hz | 2 | 208 | - | US | AB, BC, AC |\n| AC-120VLN-1PH-60Hz | 2 | - | 120 | US | AN, BN, CN |\n\"\"\" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#electricalwiringv2-p7": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:electricalwiringv2-p7", - "stable_id": "ns2:electricalwiringv2-p7", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\nns1:electricalwiringv2-p7 ns1:title \"2-Phase 4-Wire (LLLN) Wye 415V L-L\" ;\n rdfs:comment \"\"\"\nThis is an example 2-Phase 4-Wire Wye 415 V transformer.\n\n![Caption](figures/electricalwiringv2-p7.jpg)\n\n| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |\n|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|\n| AC-415VLL-240VLN-3PH-60Hz| 4 | 415 | 240 | ASTL | AN, BN, CN, AB, BC, AC, ABN, BCN, ACN, ABC, ABCN |\n| AC-415VLL-3PH-60Hz | 3 | 415 | - | ASTL | ABC |\n| AC-415VLL-240VLN-1PH-60Hz | 3 | 415 | 240 | ASTL | ABN, BCN, ACN |\n| AC-415VLL-1PH-60Hz | 2 | 415 | - | ASTL | AB, BC, AC |\n| AC-240VLN-1PH-60Hz | 2 | - | 240 | ASTL | AN, BN, CN |\n\"\"\" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#electricalwiringv2-p8": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:electricalwiringv2-p8", - "stable_id": "ns2:electricalwiringv2-p8", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\nns1:electricalwiringv2-p8 ns1:title \"2-Phase 4-Wire (LLLN) Wye 480V L-L\" ;\n rdfs:comment \"\"\"\nThis is an example 2-Phase 4-Wire Wye 480 V transformer.\n\n![Caption](figures/electricalwiringv2-p8.jpg)\n\n| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |\n|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|\n| AC-480VLL-277VLN-3PH-60Hz | 4 | 480 | 27 | US | AN, BN, CN, AB, BC, AC, ABN, BCN, ACN, ABC, ABCN |\n| AC-480VLL-3PH-60Hz | 3 | 480 | - | US | ABC |\n| AC-480VLL-277VLN-1PH-60Hz | 3 | 480 | 277 | US | ABN, BCN, ACN |\n| AC-480VLL-1PH-60Hz | 2 | 480 | - | US | AB, BC, AC |\n| AC-277VLN-1PH-60Hz | 2 | - | 277 | US | AN, BN, CN |\n\"\"\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Electricity-DC": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1138" - ], - "complex_constraints": [], - "rules": [], - "label": "Electricity DC", - "stable_id": "ns3:Electricity-DC", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1138": "An electricity DC medium must have two reference voltages." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1138": "b--4063288366079221551" - }, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\nns1:Electricity-DC a ns1:Class,\n ns1:Electricity-DC,\n sh:NodeShape ;\n rdfs:label \"Electricity DC\" ;\n ns1:hasVoltage ns1:Numerical-Voltage ;\n ns2:subclauses ( ns1:DC-12V ns1:DC-24V ns1:DC-380V ns1:DC-48V ns1:DC-5V ns1:DC-6V ) ;\n rdfs:comment \"\"\"\n: DC Enumerations\n\n| Enumeration |\n|:-----------|\n| DC-12V |\n| DC-24V |\n| DC-380V |\n| DC-48V |\n| DC-5V |\n| DC-6V |\"\"\",\n \"This class has enumerated instances of all DC forms of electricity.\" ;\n rdfs:subClassOf ns1:Constituent-Electricity ;\n sh:property [ rdfs:comment \"An electricity DC medium must have two reference voltages.\" ;\n sh:minCount 1 ;\n sh:or ( [ sh:class ns1:Numerical-DCVoltage ] [ sh:class ns1:Numerical-Voltage ] ) ;\n sh:path ns1:hasVoltage ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1138": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An electricity DC medium must have two reference voltages.\" ;\n sh:minCount 1 ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#DC-12V": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "12V", - "stable_id": "ns3:DC-12V", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n@prefix sh: .\n\nns1:DC-12V a ns1:Class,\n ns1:DC-12V,\n ns1:Electricity-DC,\n sh:NodeShape ;\n rdfs:label \"12V\" ;\n ns1:hasVoltage ns1:Voltage-12V ;\n rdfs:comment \"\"\"\n: DC-12V Enumerations\n\n| Enumeration |\n|:-----------|\n| 12V-12V-Neg |\n| 12V-12V-Pos |\n| 12V-6V-Neg-6V-Pos |\n\"\"\",\n \"This class has enumerated instances of all polarities of 12 volt electricity.\" ;\n rdfs:subClassOf ns1:Electricity-DC .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#DC-24V": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "24V", - "stable_id": "ns3:DC-24V", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n@prefix sh: .\n\nns1:DC-24V a ns1:Class,\n ns1:DC-24V,\n ns1:Electricity-DC,\n sh:NodeShape ;\n rdfs:label \"24V\" ;\n ns1:hasVoltage ns1:Voltage-24V ;\n rdfs:comment \"\"\"\n: DC-24V Enumerations\n\n| Enumeration |\n|:-----------|\n| 24V-12V-Neg-12V-Pos |\n| 24V-24V-Neg |\n| 24V-24V-Pos |\n\"\"\",\n \"This class has enumerated instances of all polarities of 24 volt electricity.\" ;\n rdfs:subClassOf ns1:Electricity-DC .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#DC-380V": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "380V", - "stable_id": "ns3:DC-380V", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n@prefix sh: .\n\nns1:DC-380V a ns1:Class,\n ns1:DC-380V,\n ns1:Electricity-DC,\n sh:NodeShape ;\n rdfs:label \"380V\" ;\n ns1:hasVoltage ns1:Voltage-380V ;\n rdfs:comment \"\"\"\n: DC-380V Enumerations\n\n| Enumeration |\n|:-----------|\n| 380V-190V-Neg-190V-Pos |\n| 380V-380V-Neg |\n| 380V-380V-Pos |\n\"\"\",\n \"This class has enumerated instances of all polarities of 380 volt electricity.\" ;\n rdfs:subClassOf ns1:Electricity-DC .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#DC-48V": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "48V", - "stable_id": "ns3:DC-48V", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n@prefix sh: .\n\nns1:DC-48V a ns1:Class,\n ns1:DC-48V,\n ns1:Electricity-DC,\n sh:NodeShape ;\n rdfs:label \"48V\" ;\n ns1:hasVoltage ns1:Voltage-48V ;\n rdfs:comment \"\"\"\n: DC-48V Enumerations\n\n| Enumeration |\n|:-----------|\n| 48V-24V-Neg-24V-Pos |\n| 48V-48V-Neg |\n| 48V-48V-Pos |\n\"\"\",\n \"This class has enumerated instances of all polarities of 48 volt electricity.\" ;\n rdfs:subClassOf ns1:Electricity-DC .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#DC-5V": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "5V", - "stable_id": "ns3:DC-5V", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n@prefix sh: .\n\nns1:DC-5V a ns1:Class,\n ns1:DC-5V,\n ns1:Electricity-DC,\n sh:NodeShape ;\n rdfs:label \"5V\" ;\n ns1:hasVoltage ns1:Voltage-5V ;\n rdfs:comment \"\"\"\n: DC-5V Enumerations\n\n| Enumeration |\n|:-----------|\n| 5V-2.5V-Neg-2.5V-Pos |\n| 5V-5V-Neg |\n| 5V-5V-Pos |\n\"\"\",\n \"This class has enumerated instances of all polarities of 5 volt electricity.\" ;\n rdfs:subClassOf ns1:Electricity-DC .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#DC-6V": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "6V", - "stable_id": "ns3:DC-6V", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n@prefix sh: .\n\nns1:DC-6V a ns1:Class,\n ns1:DC-6V,\n ns1:Electricity-DC,\n sh:NodeShape ;\n rdfs:label \"6V\" ;\n ns1:hasVoltage ns1:Voltage-6V ;\n rdfs:comment \"\"\"\n: DC-6V Enumerations\n\n| Enumeration |\n|:-----------|\n| 6V-3V-Neg-3V-Pos |\n| 6V-6V-Neg |\n| 6V-6V-Pos |\n\"\"\",\n \"This class has enumerated instances of all polarities of 6 volt electricity.\" ;\n rdfs:subClassOf ns1:Electricity-DC .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Electricity-Signal": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Electricity Signal", - "stable_id": "ns3:Electricity-Signal", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Electricity Signal\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\n: Signal Enumerations\n\n| Enumeration |\n|:-----------|\n| Signal-EIA485 |\n| Signal-Ethernet |\n| Signal-IEC14908 |\n| Signal-Modulated (see `Signal-Modulated`) |\n| Signal-USB |\"\"\",\n \"This class has enumerated subclasses of common communication protocols.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Signal-Modulated": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Signal-Modulated", - "stable_id": "ns3:Signal-Modulated", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Signal-Modulated\" ;\n rdfs:comment \"\"\"\n: Modulated Enumerations\n\n| Enumeration |\n|:-----------|\n| Modulated-0-10V |\n| Modulated-4-20mA |\n\"\"\",\n \"This class has enumerated subclasses of electric signals at various voltage ranges.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Constituent-EM": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Electromagnetic Wave", - "stable_id": "ns3:Constituent-EM", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Electromagnetic Wave\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\n: EM Enumerations\n\n| Enumeration |\n|:-----------|\n| EM-Light |\n| EM-Microwave |\n| EM-RF |\n\"\"\",\n \"This class has enumerated subclasses of electromagnetic energy at any frequency range.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EM-Light": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "EM-Light", - "stable_id": "ns3:EM-Light", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"EM-Light\" ;\n rdfs:comment \"\"\"\n: Light Enumerations\n\n| Enumeration |\n|:-----------|\n| Light-Infrared |\n| Light-Ultraviolet |\n| Light-Visible |\n\"\"\",\n \"The EM-Light class has enumerated subclasses of what are considered visible or near-visible light.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Medium-Mix": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Medium-Mix", - "stable_id": "ns3:Medium-Mix", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Medium-Mix\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\n:Mix Enumerations\n\n| Enumeration |\n|:-----------|\n| Mix-Fluid (see `s223:Mix-Fluid`) |\n| Mix-PowerAndSignal (see `s223:Mix-PowerAndSignal`) |\n\"\"\",\n \"Medium-Mix\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Mix-Fluid": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Mix-Fluid", - "stable_id": "ns3:Mix-Fluid", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Mix-Fluid\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\n:Fluid Enumerations\n\n| Enumeration |\n|:-----------|\n| Fluid-Air |\n| Fluid-NaturalGas |\n| Fluid-Oil |\n| Fluid-Refrigerant (see `s223:Fluid-Refrigerant`) |\n| Fluid-Water (see `s223:Fluid-Water`) |\n\"\"\",\n \"Mix-Fluid\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Fluid-Refrigerant": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Fluid-Refrigerant", - "stable_id": "ns3:Fluid-Refrigerant", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Fluid-Refrigerant\" ;\n rdfs:comment \"\"\"\n: Refrigerant Enumerations\n\n| Enumeration |\n|:-----------|\n| Refrigerant-R-22 |\n| Refrigerant-R-410A |\n\"\"\",\n \"\"\"\n:Refrigerant Enumerations\n\n| Enumeration |\n|:-----------|\n| Refrigerant-R-22 |\n| Refrigerant-R-410A |\n\"\"\",\n \"This class has enumerated subclasses of commonly used refrigerants.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Fluid-Water": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Fluid-Water", - "stable_id": "ns3:Fluid-Water", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix ns3: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\nns1:Fluid-Water a ns1:Class,\n ns1:Fluid-Water,\n sh:NodeShape ;\n rdfs:label \"Fluid-Water\" ;\n ns1:composedOf [ a ns1:QuantifiableProperty ;\n rdfs:label \"Water conc\" ;\n ns1:ofConstituent ns1:Constituent-H2O ;\n ns3:hasQuantityKind ;\n ns3:hasUnit ] ;\n ns2:subclauses ( ns1:Water-GlycolSolution ),\n ( ns1:Water-GlycolSolution ) ;\n rdfs:comment \"\"\"\n:Water Enumerations\n\n| Enumeration |\n|:-----------|\n| Water-ChilledWater |\n| Water-GlycolSolution (see `s223:Water-GlycolSolution`) |\n| Water-HotWater |\n| Water-Steam |\n\"\"\",\n \"This class has enumerated subclasses of water and aqueous solutions in various states.\" ;\n rdfs:subClassOf ns1:Mix-Fluid .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Water-GlycolSolution": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b951", - "nd65da433b8c64822b829e7f0030fcda9b940", - "nd65da433b8c64822b829e7f0030fcda9b946", - "nd65da433b8c64822b829e7f0030fcda9b941" - ], - "complex_constraints": [], - "rules": [], - "label": "Water-GlycolSolution", - "stable_id": "ns3:Water-GlycolSolution", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b951": "If the relation hasFreezingPoint is used, the object must be a QuantifiableProperty with a quantity kind of Temperature.", - "nd65da433b8c64822b829e7f0030fcda9b940": "There must be at least two QuantifiableProperties that characterize the constituents of a Water-GlycolSolution.", - "nd65da433b8c64822b829e7f0030fcda9b946": "One of the constituents of a Water-GlycolSolution must be Constituent-H2O.", - "nd65da433b8c64822b829e7f0030fcda9b941": "One of the constituents of a Water-GlycolSolution must be Constituent-Glycol." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b951": "b-4929695656539410314", - "nd65da433b8c64822b829e7f0030fcda9b940": "b-3503347899223522995", - "nd65da433b8c64822b829e7f0030fcda9b946": "b-7627906197443869020", - "nd65da433b8c64822b829e7f0030fcda9b941": "b--8074651608380368762" - }, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix ns3: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\nns1:Water-GlycolSolution a ns1:Class,\n ns1:Water-GlycolSolution,\n sh:NodeShape ;\n rdfs:label \"Water-GlycolSolution\" ;\n ns1:composedOf [ a ns1:QuantifiableProperty ;\n rdfs:label \"Unspecified\" ;\n ns1:ofConstituent ns1:Constituent-H2O ;\n ns2:hasQuantityKind ;\n ns2:hasUnit ],\n [ a ns1:QuantifiableProperty ;\n rdfs:label \"Unspecified\" ;\n ns1:ofConstituent ns1:Constituent-Glycol ;\n ns2:hasQuantityKind ;\n ns2:hasUnit ] ;\n ns1:hasFreezingPoint [ a ns1:QuantifiableProperty ;\n rdfs:label \"Freezing point\" ;\n ns2:hasQuantityKind ] ;\n ns3:subclauses ( ns1:hasFreezingPoint ) ;\n rdfs:comment \"\"\"\n: Glycol Solution Enumerations\n\n| Enumeration |\n|:-----------|\n| GlycolSolution-15Percent |\n| GlycolSolution-30Percent |\n\"\"\",\n \"This class has enumerated subclasses of water-glycol solutions in various concentrations.\" ;\n rdfs:subClassOf ns1:Fluid-Water ;\n sh:property [ rdfs:comment \"There must be at least two QuantifiableProperties that characterize the constituents of a Water-GlycolSolution.\" ;\n sh:class ns1:QuantifiableProperty ;\n sh:minCount 2 ;\n sh:path ns1:composedOf ],\n [ rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-Glycol.\" ;\n sh:path ns1:composedOf ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ns1:QuantifiableProperty ;\n sh:node [ sh:property [ rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-Glycol.\" ;\n sh:hasValue ns1:Constituent-Glycol ;\n sh:path ns1:ofConstituent ],\n [ rdfs:comment \"The quantity kind of the constituent must be VolumeFraction.\" ;\n sh:hasValue ;\n sh:path ns2:hasQuantityKind ] ] ] ],\n [ rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-H2O.\" ;\n sh:path ns1:composedOf ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ns1:QuantifiableProperty ;\n sh:node [ sh:property [ rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-H2O.\" ;\n sh:hasValue ns1:Constituent-H2O ;\n sh:path ns1:ofConstituent ],\n [ rdfs:comment \"The quantity kind of the constituent must be VolumeFraction.\" ;\n sh:hasValue ;\n sh:path ns2:hasQuantityKind ] ] ] ],\n [ rdfs:comment \"If the relation hasFreezingPoint is used, the object must be a QuantifiableProperty with a quantity kind of Temperature.\" ;\n sh:class ns1:QuantifiableProperty ;\n sh:message \"The object must be a QuantifiableProperty with a quantity kind of Temperature.\" ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ns2:hasQuantityKind ] ] ;\n sh:path ns1:hasFreezingPoint ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b951": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasFreezingPoint is used, the object must be a QuantifiableProperty with a quantity kind of Temperature.\" ;\n sh:class ;\n sh:message \"The object must be a QuantifiableProperty with a quantity kind of Temperature.\" ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b940": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"There must be at least two QuantifiableProperties that characterize the constituents of a Water-GlycolSolution.\" ;\n sh:class ;\n sh:minCount 2 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b946": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-H2O.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-H2O.\" ;\n sh:hasValue ;\n sh:path ],\n [ rdfs:comment \"The quantity kind of the constituent must be VolumeFraction.\" ;\n sh:hasValue ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b941": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-Glycol.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-Glycol.\" ;\n sh:hasValue ;\n sh:path ],\n [ rdfs:comment \"The quantity kind of the constituent must be VolumeFraction.\" ;\n sh:hasValue ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasFreezingPoint": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has freezing point", - "stable_id": "ns3:hasFreezingPoint", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has freezing point\" ;\n rdfs:comment \"The relation hasFreezingPoint is used to associate a freezing point with a glycol solution, but could be used with other Mediums as appropriate. \" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Mix-PowerAndSignal": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Mix-Power and signal", - "stable_id": "ns3:Mix-PowerAndSignal", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Mix-Power and signal\" ;\n rdfs:comment \"\"\"\n:PowerAndSignal Enumerations\n\n| Enumeration |\n|:-----------|\n| s223:PowerAndSignal-PoE |\n\"\"\",\n \"Mix-Power and signal\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Substance-Particulate": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Particulate", - "stable_id": "ns3:Substance-Particulate", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n ,\n sh:NodeShape ;\n rdfs:label \"Particulate\" ;\n rdfs:comment \"\"\"\n: Particulate Enumerations\n\n| Enumeration |\n|:-----------|\n| Particulate-PM1.0 |\n| Particulate-PM10.0 |\n| Particulate-PM2.5 |\n\"\"\",\n \"This class has enumerated subclasses of particulates in various size ranges.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "pub:property_value": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:property_value", - "stable_id": "ns4:property_value", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\n ns1:subclauses ( ) ;\n ns1:title \"PROPERTIES AND VALUES\" ;\n rdfs:comment \"Things have properties, and properties have values.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Property": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1149", - "nd65da433b8c64822b829e7f0030fcda9b1160", - "nd65da433b8c64822b829e7f0030fcda9b1161", - "nd65da433b8c64822b829e7f0030fcda9b1151", - "nd65da433b8c64822b829e7f0030fcda9b1147", - "nd65da433b8c64822b829e7f0030fcda9b1162", - "nd65da433b8c64822b829e7f0030fcda9b1163", - "nd65da433b8c64822b829e7f0030fcda9b1153", - "nd65da433b8c64822b829e7f0030fcda9b1157", - "nd65da433b8c64822b829e7f0030fcda9b1165", - "nd65da433b8c64822b829e7f0030fcda9b1154", - "nd65da433b8c64822b829e7f0030fcda9b1159", - "nd65da433b8c64822b829e7f0030fcda9b1156" - ], - "complex_constraints": [], - "rules": [], - "label": "Property", - "stable_id": "ns3:Property", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1149": "A Property must not have both a hasInternalReference and a hasValue relation.", - "nd65da433b8c64822b829e7f0030fcda9b1160": "A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium.", - "nd65da433b8c64822b829e7f0030fcda9b1161": "A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance.", - "nd65da433b8c64822b829e7f0030fcda9b1151": "A Property must not have both a hasExternalReference and a hasValue relation.", - "nd65da433b8c64822b829e7f0030fcda9b1147": "A Property must not have both a hasInternalReference and a hasExternalReference relation.", - "nd65da433b8c64822b829e7f0030fcda9b1162": "If the relation hasAspect is present, it must associate the Property with an EnumerationKind.", - "nd65da433b8c64822b829e7f0030fcda9b1163": "A Property can be associated with at most one Function using the inverse relation hasOutput.", - "nd65da433b8c64822b829e7f0030fcda9b1153": "If the relation hasInternalReference is present it must associate the Property with another Property.", - "nd65da433b8c64822b829e7f0030fcda9b1157": "If the relation hasExternalReference is present it must associate the Property with an ExternalReference.", - "nd65da433b8c64822b829e7f0030fcda9b1165": "A Property instance cannot be declared an instance of both an ActuatableProperty and an ObservableProperty.", - "nd65da433b8c64822b829e7f0030fcda9b1154": "An instance of s223:Property must not be observed (set) by more than one entity.", - "nd65da433b8c64822b829e7f0030fcda9b1159": "If an incoming relation composedOf exists, then the Property must have a declared substance using the relation ofConstituent.", - "nd65da433b8c64822b829e7f0030fcda9b1156": "A Property can use at most one relation hasValue if it is required to provide a static value in the model. It is not meant for real-time value (see `s223:hasExternalReference`)." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1149": "b-7510095351903019200", - "nd65da433b8c64822b829e7f0030fcda9b1160": "b-2641823024707213378", - "nd65da433b8c64822b829e7f0030fcda9b1161": "b-4341246249961427708", - "nd65da433b8c64822b829e7f0030fcda9b1151": "b-1474103145669279398", - "nd65da433b8c64822b829e7f0030fcda9b1147": "b-9087253009322732104", - "nd65da433b8c64822b829e7f0030fcda9b1162": "b-8488835325298382924", - "nd65da433b8c64822b829e7f0030fcda9b1163": "b--1385193714751069966", - "nd65da433b8c64822b829e7f0030fcda9b1153": "b-592443257214529172", - "nd65da433b8c64822b829e7f0030fcda9b1157": "b-707407058724692185", - "nd65da433b8c64822b829e7f0030fcda9b1165": "b--1570925251840062437", - "nd65da433b8c64822b829e7f0030fcda9b1154": "b--985211096103520932", - "nd65da433b8c64822b829e7f0030fcda9b1159": "b--3133013573688986499", - "nd65da433b8c64822b829e7f0030fcda9b1156": "b-583987989728608606" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Property\" ;\n rdfs:comment \"\"\"An attribute, quality, or characteristic of a feature of interest.\n\nThe Property class is the parent of all variations of a property, which are:\nActuatableProperty - parent of subclass of properties that can be modified by user or machine outside of the model (typically command);\nObservableProperty - parent of subclass of properties that are observed (typically measures);\nEnumerableProperty - parent of subclass of properties defined by EnumerationKind;\nQuantifiableProperty - parent of subclass of properties defined by numerical values.\n\nAnd their different associations :\nQuantifiableActuatableProperty,\nQuantifiableObservableProperty,\nEnumeratedObservableProperty,\nEnumeratedActuatableProperty.\n\nA QuantifiableProperty (or subClass thereof) must always be associated with a Unit and a QuantityKind, either explicitly from the Property, \nor through the associated Value. If the Unit is defined, the SHACL reasoner (if invoked) will figure out and assert the QuantityKind (the most general version).\n\nEnumerable properties must be associated with an EnumerationKind. Different flavors of properties are shown in Figure 12-1.\n\n![Different flavors of Properties](figures/Figure_12-1_Flavors_of_Properties.svg)\n\nA property that is not an instance of one of its subclasses is unconstrained\nwith respect to its value.\n\"\"\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Property must not have both a hasInternalReference and a hasExternalReference relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasInternalReference and a hasExternalReference relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasInternalReference and a hasExternalReference relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasInternalReference ?int .\n$this s223:hasExternalReference ?ext .\n}\n\"\"\" ] ],\n [ rdfs:comment \"A Property must not have both a hasInternalReference and a hasValue relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasInternalReference and a hasValue relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasInternalReference and a hasValue relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasInternalReference ?int .\n$this s223:hasValue ?val .\n}\n\"\"\" ] ],\n [ rdfs:comment \"A Property must not have both a hasExternalReference and a hasValue relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasExternalReference and a hasValue relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasExternalReference and a hasValue relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasExternalReference ?ext .\n$this s223:hasValue ?val .\n}\n\"\"\" ] ],\n [ rdfs:comment \"If the relation hasInternalReference is present it must associate the Property with another Property.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasInternalReference is present it must associate the Property with another Property.\" ;\n sh:path ],\n [ rdfs:comment \"An instance of s223:Property must not be observed (set) by more than one entity.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: An instance of s223:Property must not be observed (set) by more than one entity.\" ;\n sh:path [ sh:inversePath ] ],\n [ rdfs:comment \"A Property can use at most one relation hasValue if it is required to provide a static value in the model. It is not meant for real-time value (see `s223:hasExternalReference`).\" ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can use at most one relation hasValue if it is required to provide a static value in the model. It is not meant for real-time value (see `s223:hasExternalReference`).\" ;\n sh:path ],\n [ rdfs:comment \"If the relation hasExternalReference is present it must associate the Property with an ExternalReference.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasExternalReference is present it must associate the Property with an ExternalReference.\" ;\n sh:path ],\n [ rdfs:comment \"\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If an incoming relation composedOf exists, then the Property must have a declared substance using the relation ofConstituent.\" ;\n sh:message \"s223: Property {$this} is referred to by {?something} with s223:composedOf, but the Property has no value for s223:ofConstituent.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?something\nWHERE {\n?something s223:composedOf $this .\nFILTER NOT EXISTS {$this s223:ofConstituent ?someSubstance} .\n}\n\"\"\" ] ],\n [ rdfs:comment \"A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium.\" ;\n sh:path ],\n [ rdfs:comment \"A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance.\" ;\n sh:path ],\n [ rdfs:comment \"If the relation hasAspect is present, it must associate the Property with an EnumerationKind.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasAspect is present, it must associate the Property with an EnumerationKind.\" ;\n sh:path ],\n [ rdfs:comment \"A Property can be associated with at most one Function using the inverse relation hasOutput.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can be associated with at most one Function using the inverse relation hasOutput.\" ;\n sh:path [ sh:inversePath ] ] ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Property instance cannot be declared an instance of both an ActuatableProperty and an ObservableProperty.\" ;\n sh:message \"s223: {$this} cannot be declared an instance of both an ActuatableProperty and an ObservableProperty.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this a/rdfs:subClassOf* s223:ActuatableProperty .\n$this a/rdfs:subClassOf* s223:ObservableProperty .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1149": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Property must not have both a hasInternalReference and a hasValue relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasInternalReference and a hasValue relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasInternalReference and a hasValue relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasInternalReference ?int .\n$this s223:hasValue ?val .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1160": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1161": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1151": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Property must not have both a hasExternalReference and a hasValue relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasExternalReference and a hasValue relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasExternalReference and a hasValue relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasExternalReference ?ext .\n$this s223:hasValue ?val .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1147": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Property must not have both a hasInternalReference and a hasExternalReference relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasInternalReference and a hasExternalReference relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasInternalReference and a hasExternalReference relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasInternalReference ?int .\n$this s223:hasExternalReference ?ext .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1162": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasAspect is present, it must associate the Property with an EnumerationKind.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasAspect is present, it must associate the Property with an EnumerationKind.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1163": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Property can be associated with at most one Function using the inverse relation hasOutput.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can be associated with at most one Function using the inverse relation hasOutput.\" ;\n sh:path [ sh:inversePath ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1153": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasInternalReference is present it must associate the Property with another Property.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasInternalReference is present it must associate the Property with another Property.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1157": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasExternalReference is present it must associate the Property with an ExternalReference.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasExternalReference is present it must associate the Property with an ExternalReference.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1165": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"A Property instance cannot be declared an instance of both an ActuatableProperty and an ObservableProperty.\" ;\n sh:message \"s223: {$this} cannot be declared an instance of both an ActuatableProperty and an ObservableProperty.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this a/rdfs:subClassOf* s223:ActuatableProperty .\n$this a/rdfs:subClassOf* s223:ObservableProperty .\n}\n\"\"\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1154": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An instance of s223:Property must not be observed (set) by more than one entity.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: An instance of s223:Property must not be observed (set) by more than one entity.\" ;\n sh:path [ sh:inversePath ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1159": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"If an incoming relation composedOf exists, then the Property must have a declared substance using the relation ofConstituent.\" ;\n sh:message \"s223: Property {$this} is referred to by {?something} with s223:composedOf, but the Property has no value for s223:ofConstituent.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?something\nWHERE {\n?something s223:composedOf $this .\nFILTER NOT EXISTS {$this s223:ofConstituent ?someSubstance} .\n}\n\"\"\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1156": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Property can use at most one relation hasValue if it is required to provide a static value in the model. It is not meant for real-time value (see `s223:hasExternalReference`).\" ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can use at most one relation hasValue if it is required to provide a static value in the model. It is not meant for real-time value (see `s223:hasExternalReference`).\" ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#ActuatableProperty": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b867" - ], - "complex_constraints": [], - "rules": [], - "label": "Actuatable Property", - "stable_id": "ns3:ActuatableProperty", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b867": "An ActuatableProperty normally is referred to by Equipment using the relation s223:actuatedByProperty." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b867": "b-4396975964306916108" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Actuatable Property\" ;\n rdfs:comment \"\"\"The term \"actuatable\" implies that writing to the Property value will directly trigger a physical actuation by either an Actuator or Equipment. \n In contrast, the term \"observable\" (see `s223:ObservableProperty`) implies that reading the Property value will return the result of a physical observation.\"\"\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An ActuatableProperty normally is referred to by Equipment using the relation s223:actuatedByProperty.\" ;\n sh:class ;\n sh:message \"s223: An ActuatableProperty normally is referred to by Equipment using the relation s223:actuatedByProperty.\" ;\n sh:minCount 1 ;\n sh:path [ sh:inversePath ] ;\n sh:severity sh:Warning ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b867": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ActuatableProperty normally is referred to by Equipment using the relation s223:actuatedByProperty.\" ;\n sh:class ;\n sh:message \"s223: An ActuatableProperty normally is referred to by Equipment using the relation s223:actuatedByProperty.\" ;\n sh:minCount 1 ;\n sh:path [ sh:inversePath ] ;\n sh:severity sh:Warning .\n\n" - } - }, - "http://data.ashrae.org/standard223#ObservableProperty": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b857" - ], - "complex_constraints": [], - "rules": [], - "label": "Observable Property", - "stable_id": "ns3:ObservableProperty", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b857": "An ObservableProperty normally is referred to by a Sensor using the relation s223:observes." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b857": "b-4555969101884888215" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Observable Property\" ;\n rdfs:comment \"\"\"The term \"observable\" implies that reading the Property value will return the result of a physical observation, usually by a Sensor. \n In contrast, the term \"actuatable\" (see `s223:ActuatableProperty`) implies that writing to the Property value will directly trigger a physical actuation.\"\"\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An ObservableProperty normally is referred to by a Sensor using the relation s223:observes.\" ;\n sh:class ;\n sh:message \"s223: An ObservableProperty normally is referred to by a Sensor using the relation s223:observes.\" ;\n sh:minCount 1 ;\n sh:path [ sh:inversePath ] ;\n sh:severity sh:Warning ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b857": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ObservableProperty normally is referred to by a Sensor using the relation s223:observes.\" ;\n sh:class ;\n sh:message \"s223: An ObservableProperty normally is referred to by a Sensor using the relation s223:observes.\" ;\n sh:minCount 1 ;\n sh:path [ sh:inversePath ] ;\n sh:severity sh:Warning .\n\n" - } - }, - "http://data.ashrae.org/standard223#EnumerableProperty": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b811", - "nd65da433b8c64822b829e7f0030fcda9b813" - ], - "complex_constraints": [], - "rules": [], - "label": "Enumerable Property", - "stable_id": "ns3:EnumerableProperty", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b811": "Checks for valid enumeration value consistent with the stated EnumerationKind.", - "nd65da433b8c64822b829e7f0030fcda9b813": "An EnumerableProperty must be associated with exactly one EnumerationKind using the relation hasEnumerationKind." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b811": "b--5345367346018648581", - "nd65da433b8c64822b829e7f0030fcda9b813": "b--8431113389483725122" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Enumerable Property\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"An EnumerableProperty is a property with an enumerated (fixed) set of possible values.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"Checks for valid enumeration value consistent with the stated EnumerationKind.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Checks for valid enumeration value consistent with the stated EnumerationKind.\" ;\n sh:message \"s223: {$this} has an enumeration value of {?value} which is not a valid {?kind}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?value ?kind\nWHERE {\n$this s223:hasValue ?value .\n$this s223:hasEnumerationKind ?kind .\nFILTER (NOT EXISTS {?value a/rdfs:subClassOf* ?kind}) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"An EnumerableProperty must be associated with exactly one EnumerationKind using the relation hasEnumerationKind.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: An EnumerableProperty must be associated with exactly one EnumerationKind using the relation hasEnumerationKind.\" ;\n sh:minCount 1 ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b811": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Checks for valid enumeration value consistent with the stated EnumerationKind.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Checks for valid enumeration value consistent with the stated EnumerationKind.\" ;\n sh:message \"s223: {$this} has an enumeration value of {?value} which is not a valid {?kind}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?value ?kind\nWHERE {\n$this s223:hasValue ?value .\n$this s223:hasEnumerationKind ?kind .\nFILTER (NOT EXISTS {?value a/rdfs:subClassOf* ?kind}) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b813": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EnumerableProperty must be associated with exactly one EnumerationKind using the relation hasEnumerationKind.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: An EnumerableProperty must be associated with exactly one EnumerationKind using the relation hasEnumerationKind.\" ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasEnumerationKind": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has enumeration kind", - "stable_id": "ns3:hasEnumerationKind", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has enumeration kind\" ;\n rdfs:comment \"The relation hasEnumerationKind is used to associate an EnumerableProperty with a class of enumeration values. This is used to, for example, identify what kind of substance is transported along a Connection or which day of the week a setpoint is active.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#QuantifiableProperty": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1172", - "nd65da433b8c64822b829e7f0030fcda9b1195", - "nd65da433b8c64822b829e7f0030fcda9b1175", - "nd65da433b8c64822b829e7f0030fcda9b1169", - "nd65da433b8c64822b829e7f0030fcda9b1192", - "nd65da433b8c64822b829e7f0030fcda9b1189", - "nd65da433b8c64822b829e7f0030fcda9b1193", - "nd65da433b8c64822b829e7f0030fcda9b1183", - "nd65da433b8c64822b829e7f0030fcda9b1181", - "nd65da433b8c64822b829e7f0030fcda9b1177", - "nd65da433b8c64822b829e7f0030fcda9b1179", - "nd65da433b8c64822b829e7f0030fcda9b1198", - "nd65da433b8c64822b829e7f0030fcda9b1171", - "nd65da433b8c64822b829e7f0030fcda9b1174", - "nd65da433b8c64822b829e7f0030fcda9b1187", - "nd65da433b8c64822b829e7f0030fcda9b1191", - "nd65da433b8c64822b829e7f0030fcda9b1185", - "nd65da433b8c64822b829e7f0030fcda9b1194" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b1197" - ], - "label": "Quantifiable Property", - "stable_id": "ns3:QuantifiableProperty", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1172": "This QuantifiableProperty and the associated threshold use non-commensurate Units.", - "nd65da433b8c64822b829e7f0030fcda9b1195": "This QuantifiableProperty and the associated setpoint use non-commensurate Units.", - "nd65da433b8c64822b829e7f0030fcda9b1175": "This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds.", - "nd65da433b8c64822b829e7f0030fcda9b1169": "This QuantifiableProperty and the associated Deadband use non-commensurate Units.", - "nd65da433b8c64822b829e7f0030fcda9b1192": "A QuantifiableProperty can be associated with at most one Unit using the relation hasUnit.", - "nd65da433b8c64822b829e7f0030fcda9b1189": "This QuantifiableProperty cannot have a value without a Unit.", - "nd65da433b8c64822b829e7f0030fcda9b1193": "A QuantifiableProperty must be associated with a QuantityKind using the relation hasQuantityKind.", - "nd65da433b8c64822b829e7f0030fcda9b1183": "This QuantifiableProperty uses a different Unit than the setpoint associated with it.", - "nd65da433b8c64822b829e7f0030fcda9b1181": "This QuantifiableProperty uses a different Unit than the threshold associated with it.", - "nd65da433b8c64822b829e7f0030fcda9b1177": "This QuantifiableProperty cannot have a value without a Unit.", - "nd65da433b8c64822b829e7f0030fcda9b1179": "This QuantifiableProperty and the threshold associated with it have non-commensurate QuantityKinds.", - "nd65da433b8c64822b829e7f0030fcda9b1197": "Infer the hasQuantityKind relation if it is unambiguous.", - "nd65da433b8c64822b829e7f0030fcda9b1198": "Checks for consistent dimension vectors for a QuantityKind and the Unit", - "nd65da433b8c64822b829e7f0030fcda9b1171": "A QuantifiableProperty can be associated with an optional Boolean flag using the relation isDeltaQuantity. If the relation isDeltaQuantity has a value of true, the associated value should be interpreted as a difference reading, such as a temperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which affects unit conversion calculations.", - "nd65da433b8c64822b829e7f0030fcda9b1174": "A QuantifiableProperty should use s223:hasValue instead of qudt:value.", - "nd65da433b8c64822b829e7f0030fcda9b1187": "This QuantifiableProperty uses a different Unit than the Deadband associated with it.", - "nd65da433b8c64822b829e7f0030fcda9b1191": "A QuantifiableProperty should use s223:hasValue instead of qudt:value.", - "nd65da433b8c64822b829e7f0030fcda9b1185": "This QuantifiableProperty and the Deadband associated with it have non-commensurate QuantityKinds.", - "nd65da433b8c64822b829e7f0030fcda9b1194": "Normally, a QuantifiableProperty is associated with a static decimal value using s223:hasValue, along with a single unit and quantity kind. However, in some cases, a QuantifiableProperty may instead be associated with a qudt:QuantityValue using the relation qudt:quantityValue. This allows the qudt:QuantityValue to express multiple equivalent combinations of unit and value." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1172": "b-5334090407939031041", - "nd65da433b8c64822b829e7f0030fcda9b1195": "b-8685350831099571844", - "nd65da433b8c64822b829e7f0030fcda9b1175": "b--3149511741337559223", - "nd65da433b8c64822b829e7f0030fcda9b1169": "b--1674408642287236535", - "nd65da433b8c64822b829e7f0030fcda9b1192": "b--5078607006481656822", - "nd65da433b8c64822b829e7f0030fcda9b1189": "b-2288914822425939798", - "nd65da433b8c64822b829e7f0030fcda9b1193": "b-5125826405875468761", - "nd65da433b8c64822b829e7f0030fcda9b1183": "b-7403191130401950047", - "nd65da433b8c64822b829e7f0030fcda9b1181": "b--2062485502337390471", - "nd65da433b8c64822b829e7f0030fcda9b1177": "b-6419510896172148770", - "nd65da433b8c64822b829e7f0030fcda9b1179": "b-171828482011295075", - "nd65da433b8c64822b829e7f0030fcda9b1197": "b--3720620548049086299", - "nd65da433b8c64822b829e7f0030fcda9b1198": "b--9060384331635559384", - "nd65da433b8c64822b829e7f0030fcda9b1171": "b--7387632322490156246", - "nd65da433b8c64822b829e7f0030fcda9b1174": "b-563214012530415022", - "nd65da433b8c64822b829e7f0030fcda9b1187": "b-3189938286958689454", - "nd65da433b8c64822b829e7f0030fcda9b1191": "b--6712039732620128079", - "nd65da433b8c64822b829e7f0030fcda9b1185": "b-8578714869186507829", - "nd65da433b8c64822b829e7f0030fcda9b1194": "b--9002814440245179143" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Quantifiable Property\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"This class is for quantifiable values that describe an object (System, Equipment, etc.) that are typically static (hasValue). That is, they are neither measured nor specified in the course of operations.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"This QuantifiableProperty and the associated Deadband use non-commensurate Units.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated Deadband use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while Deadband {?deadband} uses Unit {?dunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?punit ?dunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasUnit ?dunit .\n?punit qudt:hasDimensionVector ?pdv .\n?dunit qudt:hasDimensionVector ?ddv .\nFILTER (?punit != ?dunit) .\nFILTER (?pdv != ?ddv) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"\"\"A QuantifiableProperty can be associated with an optional Boolean flag using the relation isDeltaQuantity. \nIf the relation isDeltaQuantity has a value of true, the associated value should be interpreted as a difference reading, such as a \ntemperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which\naffects unit conversion calculations.\"\"\" ;\n sh:datatype xsd:boolean ;\n sh:maxCount 1 ;\n sh:message \"\"\"A QuantifiableProperty can be associated with an optional Boolean flag using the relation isDeltaQuantity. \nIf the relation isDeltaQuantity has a value of true, the associated value should be interpreted as a difference reading, such as a \ntemperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which\naffects unit conversion calculations.\"\"\" ;\n sh:path ],\n [ rdfs:comment \"This QuantifiableProperty and the associated threshold use non-commensurate Units.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated threshold use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while threshold {?threshold} uses Unit {?tunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?punit ?tunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasUnit ?tunit .\n?punit qudt:hasDimensionVector ?pdv .\n?tunit qudt:hasDimensionVector ?tdv .\nFILTER (?punit != ?tunit) .\nFILTER (?pdv != ?tdv) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:maxCount 0 ;\n sh:message \"s223: A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:path ],\n [ rdfs:comment \"This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while Setpoint {?setpoint} uses QuantityKind {?sqk} with DimensionVector {?sdv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?pqk ?sqk ?pdv ?sdv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasQuantityKind ?sqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?sqk qudt:hasDimensionVector ?sdv .\nFILTER (?pqk != ?sqk) .\nFILTER (?pdv != ?sdv) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:message \"s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a Unit.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?v ?subject\nWHERE {\n$this s223:hasValue ?v .\nFILTER NOT EXISTS {$this qudt:hasUnit ?u} .\n?subject ?p $this .\n}\n\"\"\" ] ],\n [ rdfs:comment \"This QuantifiableProperty and the threshold associated with it have non-commensurate QuantityKinds.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the threshold associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while threshold {?threshold} uses QuantityKind {?tqk} with DimensionVector {?tdv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?pqk ?sqk ?pdv ?sdv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasQuantityKind ?tqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?tqk qudt:hasDimensionVector ?tdv .\nFILTER (?pqk != ?tqk) .\nFILTER (?pdv != ?tdv) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"This QuantifiableProperty uses a different Unit than the threshold associated with it.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the threshold associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while threshold {?threshold} uses Unit {?tunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?punit ?tunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasUnit ?tunit .\n?punit qudt:hasDimensionVector ?pdv .\n?tunit qudt:hasDimensionVector ?tdv .\nFILTER (?punit != ?tunit) .\nFILTER (?pdv = ?tdv) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"This QuantifiableProperty uses a different Unit than the setpoint associated with it.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the setpoint associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while setpoint {?setpoint} uses Unit {?sunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?punit ?sunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasUnit ?sunit .\n?punit qudt:hasDimensionVector ?pdv .\n?sunit qudt:hasDimensionVector ?sdv .\nFILTER (?punit != ?sunit) .\nFILTER (?pdv = ?sdv) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"This QuantifiableProperty and the Deadband associated with it have non-commensurate QuantityKinds.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the Deadband associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while Deadband {?deadband} uses QuantityKind {?dqk} with DimensionVector {?ddv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?pqk ?dqk ?pdv ?ddv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasQuantityKind ?dqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?dqk qudt:hasDimensionVector ?ddv .\nFILTER (?pqk != ?dqk) .\nFILTER (?pdv != ?ddv) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"This QuantifiableProperty uses a different Unit than the Deadband associated with it.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the Deadband associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while Deadband {?deadband} uses Unit {?dunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?punit ?dunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasUnit ?dunit .\n?punit qudt:hasDimensionVector ?pdv .\n?dunit qudt:hasDimensionVector ?ddv .\nFILTER (?punit != ?dunit) .\nFILTER (?pdv = ?ddv) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:message \"s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a Unit.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?v ?subject\nWHERE {\n$this s223:hasValue ?v .\nFILTER NOT EXISTS {$this qudt:hasUnit ?u} .\n?subject ?p $this .\n}\n\"\"\" ] ],\n [ rdfs:comment \"A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:maxCount 0 ;\n sh:message \"s223: A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:path ],\n [ rdfs:comment \"A QuantifiableProperty can be associated with at most one Unit using the relation hasUnit.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A QuantifiableProperty can be associated with at most one Unit using the relation hasUnit.\" ;\n sh:path ],\n [ rdfs:comment \"A QuantifiableProperty must be associated with a QuantityKind using the relation hasQuantityKind.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A QuantifiableProperty must be associated with a QuantityKind using the relation hasQuantityKind.\" ;\n sh:minCount 1 ;\n sh:path ],\n [ rdfs:comment \"\"\"Normally, a QuantifiableProperty is associated with a static decimal value using s223:hasValue, along with a single \nunit and quantity kind. However, in some cases, a QuantifiableProperty may instead be associated with a qudt:QuantityValue using the relation \nqudt:quantityValue. This allows the qudt:QuantityValue to express multiple equivalent combinations of unit and value.\"\"\" ;\n sh:class ;\n sh:message \"\"\"Normally, a QuantifiableProperty is associated with a static decimal value using s223:hasValue, along with a single \nunit and quantity kind. However, in some cases, a QuantifiableProperty may instead be associated with a qudt:QuantityValue using the relation \nqudt:quantityValue. This allows the qudt:QuantityValue to express multiple equivalent combinations of unit and value.\"\"\" ;\n sh:path ],\n [ rdfs:comment \"This QuantifiableProperty and the associated setpoint use non-commensurate Units.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated setpoint use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while setpoint {?setpoint} uses Unit {?sunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?punit ?sunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasUnit ?sunit .\n?punit qudt:hasDimensionVector ?pdv .\n?sunit qudt:hasDimensionVector ?sdv .\nFILTER (?punit != ?sunit) .\nFILTER (?pdv != ?sdv) .\n}\n\"\"\" ] ] ;\n sh:rule [ a sh:SPARQLRule ;\n rdfs:comment \"Infer the hasQuantityKind relation if it is unambiguous.\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n$this qudt:hasQuantityKind ?uniqueqk\n}\nWHERE {\n{\nSELECT $this (COUNT (DISTINCT (?qk)) AS ?count)\nWHERE {\nFILTER (NOT EXISTS {$this qudt:hasQuantityKind ?something}) .\n$this qudt:hasUnit/qudt:hasQuantityKind ?qk .\n}\nGROUP BY $this\n}\nFILTER (?count = 1)\n$this qudt:hasUnit/qudt:hasQuantityKind ?uniqueqk .\n}\n\"\"\" ;\n sh:prefixes ] ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Checks for consistent dimension vectors for a QuantityKind and the Unit\" ;\n sh:message \"s223: Inconsistent dimensionalities among the Property's Unit and Property's Quantity Kind\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\n WHERE \n{\n $this qudt:hasQuantityKind/qudt:hasDimensionVector ?qkdv1 .\n $this qudt:hasUnit/qudt:hasDimensionVector ?qkdv2 .\nFILTER (?qkdv1 != ?qkdv2) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1172": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the associated threshold use non-commensurate Units.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated threshold use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while threshold {?threshold} uses Unit {?tunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?punit ?tunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasUnit ?tunit .\n?punit qudt:hasDimensionVector ?pdv .\n?tunit qudt:hasDimensionVector ?tdv .\nFILTER (?punit != ?tunit) .\nFILTER (?pdv != ?tdv) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1195": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the associated setpoint use non-commensurate Units.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated setpoint use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while setpoint {?setpoint} uses Unit {?sunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?punit ?sunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasUnit ?sunit .\n?punit qudt:hasDimensionVector ?pdv .\n?sunit qudt:hasDimensionVector ?sdv .\nFILTER (?punit != ?sunit) .\nFILTER (?pdv != ?sdv) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1175": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while Setpoint {?setpoint} uses QuantityKind {?sqk} with DimensionVector {?sdv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?pqk ?sqk ?pdv ?sdv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasQuantityKind ?sqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?sqk qudt:hasDimensionVector ?sdv .\nFILTER (?pqk != ?sqk) .\nFILTER (?pdv != ?sdv) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1169": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the associated Deadband use non-commensurate Units.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated Deadband use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while Deadband {?deadband} uses Unit {?dunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?punit ?dunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasUnit ?dunit .\n?punit qudt:hasDimensionVector ?pdv .\n?dunit qudt:hasDimensionVector ?ddv .\nFILTER (?punit != ?dunit) .\nFILTER (?pdv != ?ddv) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1192": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A QuantifiableProperty can be associated with at most one Unit using the relation hasUnit.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A QuantifiableProperty can be associated with at most one Unit using the relation hasUnit.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1189": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:message \"s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a Unit.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?v ?subject\nWHERE {\n$this s223:hasValue ?v .\nFILTER NOT EXISTS {$this qudt:hasUnit ?u} .\n?subject ?p $this .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1193": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A QuantifiableProperty must be associated with a QuantityKind using the relation hasQuantityKind.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A QuantifiableProperty must be associated with a QuantityKind using the relation hasQuantityKind.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1183": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty uses a different Unit than the setpoint associated with it.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the setpoint associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while setpoint {?setpoint} uses Unit {?sunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?punit ?sunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasUnit ?sunit .\n?punit qudt:hasDimensionVector ?pdv .\n?sunit qudt:hasDimensionVector ?sdv .\nFILTER (?punit != ?sunit) .\nFILTER (?pdv = ?sdv) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1181": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty uses a different Unit than the threshold associated with it.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the threshold associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while threshold {?threshold} uses Unit {?tunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?punit ?tunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasUnit ?tunit .\n?punit qudt:hasDimensionVector ?pdv .\n?tunit qudt:hasDimensionVector ?tdv .\nFILTER (?punit != ?tunit) .\nFILTER (?pdv = ?tdv) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1177": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:message \"s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a Unit.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?v ?subject\nWHERE {\n$this s223:hasValue ?v .\nFILTER NOT EXISTS {$this qudt:hasUnit ?u} .\n?subject ?p $this .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1179": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the threshold associated with it have non-commensurate QuantityKinds.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the threshold associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while threshold {?threshold} uses QuantityKind {?tqk} with DimensionVector {?tdv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?pqk ?sqk ?pdv ?sdv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasQuantityKind ?tqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?tqk qudt:hasDimensionVector ?tdv .\nFILTER (?pqk != ?tqk) .\nFILTER (?pdv != ?tdv) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1197": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the hasQuantityKind relation if it is unambiguous.\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n$this qudt:hasQuantityKind ?uniqueqk\n}\nWHERE {\n{\nSELECT $this (COUNT (DISTINCT (?qk)) AS ?count)\nWHERE {\nFILTER (NOT EXISTS {$this qudt:hasQuantityKind ?something}) .\n$this qudt:hasUnit/qudt:hasQuantityKind ?qk .\n}\nGROUP BY $this\n}\nFILTER (?count = 1)\n$this qudt:hasUnit/qudt:hasQuantityKind ?uniqueqk .\n}\n\"\"\" ;\n sh:prefixes .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1198": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Checks for consistent dimension vectors for a QuantityKind and the Unit\" ;\n sh:message \"s223: Inconsistent dimensionalities among the Property's Unit and Property's Quantity Kind\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\n WHERE \n{\n $this qudt:hasQuantityKind/qudt:hasDimensionVector ?qkdv1 .\n $this qudt:hasUnit/qudt:hasDimensionVector ?qkdv2 .\nFILTER (?qkdv1 != ?qkdv2) .\n}\n\"\"\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1171": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"\"\"A QuantifiableProperty can be associated with an optional Boolean flag using the relation isDeltaQuantity. \nIf the relation isDeltaQuantity has a value of true, the associated value should be interpreted as a difference reading, such as a \ntemperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which\naffects unit conversion calculations.\"\"\" ;\n sh:datatype xsd:boolean ;\n sh:maxCount 1 ;\n sh:message \"\"\"A QuantifiableProperty can be associated with an optional Boolean flag using the relation isDeltaQuantity. \nIf the relation isDeltaQuantity has a value of true, the associated value should be interpreted as a difference reading, such as a \ntemperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which\naffects unit conversion calculations.\"\"\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1174": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:maxCount 0 ;\n sh:message \"s223: A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1187": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty uses a different Unit than the Deadband associated with it.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the Deadband associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while Deadband {?deadband} uses Unit {?dunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?punit ?dunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasUnit ?dunit .\n?punit qudt:hasDimensionVector ?pdv .\n?dunit qudt:hasDimensionVector ?ddv .\nFILTER (?punit != ?dunit) .\nFILTER (?pdv = ?ddv) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1191": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:maxCount 0 ;\n sh:message \"s223: A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1185": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the Deadband associated with it have non-commensurate QuantityKinds.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the Deadband associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while Deadband {?deadband} uses QuantityKind {?dqk} with DimensionVector {?ddv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?pqk ?dqk ?pdv ?ddv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasQuantityKind ?dqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?dqk qudt:hasDimensionVector ?ddv .\nFILTER (?pqk != ?dqk) .\nFILTER (?pdv != ?ddv) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b1194": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"\"\"Normally, a QuantifiableProperty is associated with a static decimal value using s223:hasValue, along with a single \nunit and quantity kind. However, in some cases, a QuantifiableProperty may instead be associated with a qudt:QuantityValue using the relation \nqudt:quantityValue. This allows the qudt:QuantityValue to express multiple equivalent combinations of unit and value.\"\"\" ;\n sh:class ;\n sh:message \"\"\"Normally, a QuantifiableProperty is associated with a static decimal value using s223:hasValue, along with a single \nunit and quantity kind. However, in some cases, a QuantifiableProperty may instead be associated with a qudt:QuantityValue using the relation \nqudt:quantityValue. This allows the qudt:QuantityValue to express multiple equivalent combinations of unit and value.\"\"\" ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#hasDeadband": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has deadband", - "stable_id": "ns3:hasDeadband", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has deadband\" ;\n rdfs:comment \"This relation binds a control setpoint to the quantifiable property indicating the range of values within which a sensed variable can vary without indictating a condition has changed.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasSetpoint": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has setpoint", - "stable_id": "ns3:hasSetpoint", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has setpoint\" ;\n rdfs:comment \"This relation binds a control setpoint to the quantifiable property indicating the desired value which the control process is trying to maintain.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasThreshold": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has threshold", - "stable_id": "ns3:hasThreshold", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has threshold\" ;\n rdfs:comment \"This relation binds a threshold to the quantifiable property indicating a specific value at which an action may be taken, distinguished from an offset or a range.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#QuantifiableActuatableProperty": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Quantifiable Actuatable Property", - "stable_id": "ns3:QuantifiableActuatableProperty", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Quantifiable Actuatable Property\" ;\n rdfs:comment \"This class is for quantifiable properties of which numerical values are specified to be modifiable by a user or a machine outside of the model, like a setpoint.\" ;\n rdfs:subClassOf ,\n .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#QuantifiableObservableProperty": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b864" - ], - "complex_constraints": [], - "rules": [], - "label": "Quantifiable Observable Property", - "stable_id": "ns3:QuantifiableObservableProperty", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b864": "A QuantifiableObservableProperty can be associated with zero or more QuantifiableProperty(s) indicating the desired value(s) which the control process is trying to maintain using the relation hasSetpoint." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b864": "b-1071117328236173977" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Quantifiable Observable Property\" ;\n rdfs:comment \"This class is for quantifiable properties of which numerical values are observed, like a temperature reading or a voltage measure.\" ;\n rdfs:subClassOf ,\n ;\n sh:property [ rdfs:comment \"A QuantifiableObservableProperty can be associated with zero or more QuantifiableProperty(s) indicating the desired value(s) which the control process is trying to maintain using the relation hasSetpoint.\" ;\n sh:class ;\n sh:message \"s223: A QuantifiableObservableProperty can be associated with zero or more QuantifiableProperty(s) indicating the desired value(s) which the control process is trying to maintain using the relation hasSetpoint.\" ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b864": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A QuantifiableObservableProperty can be associated with zero or more QuantifiableProperty(s) indicating the desired value(s) which the control process is trying to maintain using the relation hasSetpoint.\" ;\n sh:class ;\n sh:message \"s223: A QuantifiableObservableProperty can be associated with zero or more QuantifiableProperty(s) indicating the desired value(s) which the control process is trying to maintain using the relation hasSetpoint.\" ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#EnumeratedObservableProperty": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Enumerated observable property", - "stable_id": "ns3:EnumeratedObservableProperty", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Enumerated observable property\" ;\n rdfs:comment \"An EnumeratedObservableProperty is a property with an enumerated (fixed) set of possible values that cannot be changed (can only be observed).\" ;\n rdfs:subClassOf ,\n .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#EnumeratedActuatableProperty": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Enumerated actuatable property", - "stable_id": "ns3:EnumeratedActuatableProperty", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Enumerated actuatable property\" ;\n rdfs:comment \"An EnumeratedActuatableProperty is a property with an enumerated (fixed) set of possible values that can be changed (actuated).\" ;\n rdfs:subClassOf ,\n .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasValue": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "hasValue", - "stable_id": "ns3:hasValue", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"hasValue\" ;\n rdfs:comment \"hasValue is used to contain a fixed value that is part of a 223 model, rather than a computed, measured, or externally derived variable.\" .\n\n", - "cbds": {} - }, - "http://qudt.org/schema/qudt/hasUnit": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns1:hasUnit", - "stable_id": "ns1:hasUnit", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n\n rdfs:comment \"A reference to the unit of measure of a QuantifiableProperty of interest.\" .\n\n", - "cbds": {} - }, - "http://qudt.org/schema/qudt/hasQuantityKind": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns1:hasQuantityKind", - "stable_id": "ns1:hasQuantityKind", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n\n rdfs:comment \"A reference to the QuantityKind of a QuantifiableProperty of interest, e.g. quantitykind:Temperature.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasAspect": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has aspect", - "stable_id": "ns3:hasAspect", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has aspect\" ;\n rdfs:comment \"hasAspect is used to establish the context of a Property. The value must be an instance of EnumerationKind. For example, if a Property has a Temperature value of 45.3, the hasAspect relation is used to state what that represents, such as a Temperature limit during working hours, etc. A Property can have any number of hasAspect relations, as needed to establish the context.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#ofSubstance": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "of substance", - "stable_id": "ns3:ofSubstance", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"of substance\" ;\n rdfs:comment \"The ofSubstance relation is used on a Property being observed by a sensor. It links the Property to a Substance it characterizes within a specific Medium. For instance, to denote the concentration of a Substance in a Medium, 'ofSubstance' is used. Typically, there's also an ofMedium relation between the observed Property and the Medium. For example, to represent the concentration of CO2 in air, we use ofSubstance to relate to CO2 and ofMedium to relate to air. The term ofSubstance is broad enough to include situations where a sensor is used to detect constituents that should not be present in a medium, such as ammonia in air. Therefore, 'ofSubstance' is used to indicate the substance of interest, while 'ofConstituent' would indicate a constituent that is normally present in the composition of the mix.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#ofMedium": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "of medium", - "stable_id": "ns3:ofMedium", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"of medium\" ;\n rdfs:comment \"The relation ofMedium is used to associate a Property with the specific Medium it describes. A property corresponding to the temperature of a medium would be associated with this medium using the relation ofMedium.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#ofConstituent": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "of constituent", - "stable_id": "ns3:ofConstituent", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"of constituent\" ;\n rdfs:comment \"The relation ofConstituent is used to associate a Property that characterizes a medium mix with one of the constituents of that mix. (ex. Fluid-Water composedOf property ofConstituent Constituent-H2O.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#composedOf": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "composed of", - "stable_id": "ns3:composedOf", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"composed of\" ;\n rdfs:comment \"The relation composedOf is used to indicate what substances constitute a material. Allowable values are instances of Property that in turn identify constituents defined in Medium-Constituent (see `s223:Medium-Constituent`) via the relation ofConstituent.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#ExternalReference": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ExternalReference", - "stable_id": "ns3:ExternalReference", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix ns2: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\nns2:ExternalReference a ns2:Class,\n sh:NodeShape ;\n rdfs:label \"ExternalReference\" ;\n ns2:abstract true ;\n ns1:subclauses ( ns2:BACnetExternalReference ) ;\n rdfs:comment \"ExternalReference is an abstract class that represents a thing that contains API or protocol parameter values necessary to associate a property with a value.\" ;\n rdfs:subClassOf ns2:Concept .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#BACnetExternalReference": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b207", - "nd65da433b8c64822b829e7f0030fcda9b206", - "nd65da433b8c64822b829e7f0030fcda9b208", - "nd65da433b8c64822b829e7f0030fcda9b212", - "nd65da433b8c64822b829e7f0030fcda9b210", - "nd65da433b8c64822b829e7f0030fcda9b211", - "nd65da433b8c64822b829e7f0030fcda9b209" - ], - "complex_constraints": [], - "rules": [], - "label": "BACnetExternalReference", - "stable_id": "ns3:BACnetExternalReference", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b207": "If the relation priority-for-writing is present it provides the priority for writing values to the object.", - "nd65da433b8c64822b829e7f0030fcda9b206": "If the relation property-array-index is present it provides the index for reading items from a property that is an array.", - "nd65da433b8c64822b829e7f0030fcda9b208": "If the relation object-name is present it associates the external reference with the BACnet object having the specific object name.", - "nd65da433b8c64822b829e7f0030fcda9b212": "If the relation device-identifier is present it associates the external reference with a BACnet device having the specific device identifier.", - "nd65da433b8c64822b829e7f0030fcda9b210": "If the relation device-name is present it associates the external reference with a BACnet device having the specific device name.", - "nd65da433b8c64822b829e7f0030fcda9b211": "If the relation object-identifier is present it associates the external reference with the BACnet object having the specific object identifier.", - "nd65da433b8c64822b829e7f0030fcda9b209": "If the relation property-identifier is present it is either a decimal number or exactly equal to the ASHRAE 135-2020 Clause 21 identifier text of BACnetPropertyIdentifier. If it is omitted, it defaults to \"present-value\" except for BACnet File objects, where absence of property-identifier refers to the entire content of the file accessed with Stream Access." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b207": "b-7118279097546669817", - "nd65da433b8c64822b829e7f0030fcda9b206": "b-7879460828826109718", - "nd65da433b8c64822b829e7f0030fcda9b208": "b-5315321118728483591", - "nd65da433b8c64822b829e7f0030fcda9b212": "b--6371507169408595720", - "nd65da433b8c64822b829e7f0030fcda9b210": "b--3070624307886610391", - "nd65da433b8c64822b829e7f0030fcda9b211": "b-1009446132447840620", - "nd65da433b8c64822b829e7f0030fcda9b209": "b--5599534591264178258" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"BACnetExternalReference\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"BACnetExternalReference is a subclass of ExternalReference that contains BACnet protocol parameter values necessary to associate a property with a value.\" ;\n rdfs:subClassOf ;\n sh:property [ a sh:PropertyShape ;\n rdfs:comment \"If the relation property-array-index is present it provides the index for reading items from a property that is an array.\" ;\n sh:datatype xsd:nonNegativeInteger ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path ],\n [ a sh:PropertyShape ;\n rdfs:comment \"If the relation priority-for-writing is present it provides the priority for writing values to the object.\" ;\n sh:datatype xsd:nonNegativeInteger ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path ],\n [ a sh:PropertyShape ;\n rdfs:comment \"If the relation object-name is present it associates the external reference with the BACnet object having the specific object name.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path ],\n [ a sh:PropertyShape ;\n rdfs:comment \"If the relation property-identifier is present it is either a decimal number or exactly equal to the ASHRAE 135-2020 Clause 21 identifier text of BACnetPropertyIdentifier. If it is omitted, it defaults to \\\"present-value\\\" except for BACnet File objects, where absence of property-identifier refers to the entire content of the file accessed with Stream Access.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path ],\n [ a sh:PropertyShape ;\n rdfs:comment \"If the relation device-name is present it associates the external reference with a BACnet device having the specific device name.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path ],\n [ a sh:PropertyShape ;\n rdfs:comment \"If the relation object-identifier is present it associates the external reference with the BACnet object having the specific object identifier.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path ;\n sh:pattern \"^[A-Za-z0-9-]+,[1-9][0-9]*$\" ],\n [ a sh:PropertyShape ;\n rdfs:comment \"If the relation device-identifier is present it associates the external reference with a BACnet device having the specific device identifier.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path ;\n sh:pattern \"^[A-Za-z0-9-]+,[1-9][0-9]*$\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b207": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation priority-for-writing is present it provides the priority for writing values to the object.\" ;\n sh:datatype xsd:nonNegativeInteger ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b206": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation property-array-index is present it provides the index for reading items from a property that is an array.\" ;\n sh:datatype xsd:nonNegativeInteger ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b208": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation object-name is present it associates the external reference with the BACnet object having the specific object name.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b212": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation device-identifier is present it associates the external reference with a BACnet device having the specific device identifier.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path ;\n sh:pattern \"^[A-Za-z0-9-]+,[1-9][0-9]*$\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b210": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation device-name is present it associates the external reference with a BACnet device having the specific device name.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b211": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation object-identifier is present it associates the external reference with the BACnet object having the specific object identifier.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path ;\n sh:pattern \"^[A-Za-z0-9-]+,[1-9][0-9]*$\" .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b209": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation property-identifier is present it is either a decimal number or exactly equal to the ASHRAE 135-2020 Clause 21 identifier text of BACnetPropertyIdentifier. If it is omitted, it defaults to \\\"present-value\\\" except for BACnet File objects, where absence of property-identifier refers to the entire content of the file accessed with Stream Access.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/bacnet/2020#device-name": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Device Name", - "stable_id": "ns5:device-name", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"Device Name\" ;\n rdfs:comment \"The name of the BACnet device being referenced, more formally the Object_Name property of the device object within the BACnet device. See ASHRAE 135-2020 Clause 12.11.2.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/bacnet/2020#device-identifier": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Device Identifier", - "stable_id": "ns5:device-identifier", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"Device Identifier\" ;\n rdfs:comment \"The Object_Identifier property of the device object within the BACnet device. See ASHRAE 135-2020 Clause 12.11.1.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/bacnet/2020#object-name": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Object Name", - "stable_id": "ns5:object-name", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"Object Name\" ;\n rdfs:comment \"The Object_Name property of the object being referenced. For example, for the object name of an Analog Value Object, see ASHRAE 135-2020 Clause 12.4.2.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/bacnet/2020#object-identifier": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "object-identifier", - "stable_id": "ns5:object-identifier", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"object-identifier\" ;\n rdfs:comment \"The Object_Identifier property of the object being referenced. For example, for the object identifier of an Analog Value Object, see ASHRAE 135-2020 Clause 12.4.1.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/bacnet/2020#property-identifier": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Property Identifier", - "stable_id": "ns5:property-identifier", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"Property Identifier\" ;\n rdfs:comment \"The Object_Identifier property of the object being referenced. For example, for the object identifier of an Analog Value Object, see ASHRAE 135-2020 Clause 12.4.1.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/bacnet/2020#property-array-index": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Property Array Index", - "stable_id": "ns5:property-array-index", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"Property Array Index\" ;\n rdfs:comment \"\"\"If the property identified is of datatype array, this optional property of type Unsigned shall indicate the array index of\nthe element of the property referenced by the ReadProperty service or the Read Access Specification of the ReadPropertyMultiple service. If the bacnet:property-array-index is omitted, this shall mean that the entire\narray shall be referenced. See ASHRAE 135-2020 Clause 15.5.1.1.3 and Clause 15.7.1.1.1.\"\"\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/bacnet/2020#priority-for-writing": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Priority for Writing", - "stable_id": "ns5:priority-for-writing", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"Priority for Writing\" ;\n rdfs:comment \"\"\"This parameter shall be an integer in the range 1..16, which indicates the priority assigned to the WriteProperty service. If an attempt\nis made to write to a commandable property without specifying the bacnet:priority-for-writing, a default priority of 16 (the lowest priority) shall\nbe assumed. If an attempt is made to write to a property that is not commandable with a specified priority, the priority shall be\nignored. See ASHRAE 135-2020 Clause 15.9.1.1.5.\"\"\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasExternalReference": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has external reference", - "stable_id": "ns3:hasExternalReference", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has external reference\" ;\n rdfs:comment \"The relation hasExternalReference is used to relate a Property to an external telemetry source.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#hasInternalReference": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "has internal reference", - "stable_id": "ns3:hasInternalReference", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n\n a rdf:Property ;\n rdfs:label \"has internal reference\" ;\n rdfs:comment \"\"\"The relation hasInternalReference is used to relate a Property to another candidate equivalent Property. For example, \na Property that represents a Zone temperature could have one or more hasInternalReference relations to Properties that are measurements by \ndifferent sensors.\"\"\" .\n\n", - "cbds": {} - }, - "pub:reference-equipment-models": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:reference-equipment-models", - "stable_id": "ns4:reference-equipment-models", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\n ns1:subclauses ( ) ;\n ns1:title \"REFERENCE FOR EQUIPMENT AND SYSTEMS\" ;\n rdfs:comment \" This clause contains component model templates for commonly found equipment in building.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#AirHandlingUnit": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b195", - "nd65da433b8c64822b829e7f0030fcda9b191" - ], - "complex_constraints": [], - "rules": [], - "label": "Air handling unit", - "stable_id": "ns3:AirHandlingUnit", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b195": "An AirHandlingUnit shall have at least one inlet using the medium Air.", - "nd65da433b8c64822b829e7f0030fcda9b191": "An AirHandlingUnit shall have at least one outlet using the medium Air." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b195": "b-4467308637209757146", - "nd65da433b8c64822b829e7f0030fcda9b191": "b--4680504492496736070" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Air handling unit\" ;\n rdfs:comment \"An assembly consisting of a fan or fans and other necessary equipment to perform one or more of the following functions: circulating, filtration, heating, cooling, heat recovery, humidifying, dehumidifying, and mixing of air.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An AirHandlingUnit shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: An AirHandlingUnit shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"An AirHandlingUnit shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: An AirHandlingUnit shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b195": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AirHandlingUnit shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: An AirHandlingUnit shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b191": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AirHandlingUnit shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: An AirHandlingUnit shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#AirHeatExchanger": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b686", - "nd65da433b8c64822b829e7f0030fcda9b684", - "nd65da433b8c64822b829e7f0030fcda9b691" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b51" - ], - "label": "Air heat exchanger", - "stable_id": "ns3:AirHeatExchanger", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b686": "An AirHeatExchanger shall have at least two air outlets, each paired with an inlet.", - "nd65da433b8c64822b829e7f0030fcda9b684": "An AirHeatExchanger shall have no BidirectionalConnectionPoints.", - "nd65da433b8c64822b829e7f0030fcda9b51": "Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.", - "nd65da433b8c64822b829e7f0030fcda9b691": "An AirHeatExchanger shall have at least two air inlets, each paired with an outlet." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b686": "b-1300475715338414305", - "nd65da433b8c64822b829e7f0030fcda9b684": "b-6976040087990447572", - "nd65da433b8c64822b829e7f0030fcda9b51": "b--9193754548666424738", - "nd65da433b8c64822b829e7f0030fcda9b691": "b--2163954104886342012" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Air heat exchanger\" ;\n rdfs:comment \"\"\"A component intended to transfer heat from one air stream to another while keeping the two media separate. The\n AirHeatExchanger class does not represent the physical characteristics of a heat exchanger design. It represents only the heat\n transfer functionality.\"\"\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An AirHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:message \"s223: An AirHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:path ;\n sh:qualifiedValueShape [ sh:class ;\n sh:message \"s223: An AirHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:qualifiedMaxCount 0 ] ],\n [ rdfs:comment \"An AirHeatExchanger shall have at least two air outlets, each paired with an inlet.\" ;\n sh:message \"s223: An AirHeatExchanger shall have at least two air outlets, each paired with an inlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:minCount 1 ;\n sh:path ],\n [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"An AirHeatExchanger shall have at least two air inlets, each paired with an outlet.\" ;\n sh:message \"s223: An AirHeatExchanger shall have at least two air inlets, each paired with an outlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:minCount 1 ;\n sh:path ],\n [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b686": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AirHeatExchanger shall have at least two air outlets, each paired with an inlet.\" ;\n sh:message \"s223: An AirHeatExchanger shall have at least two air outlets, each paired with an inlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:minCount 1 ;\n sh:path ],\n [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b684": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AirHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:message \"s223: An AirHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:path ;\n sh:qualifiedValueShape [ sh:class ;\n sh:message \"s223: An AirHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:qualifiedMaxCount 0 ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b51": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b691": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AirHeatExchanger shall have at least two air inlets, each paired with an outlet.\" ;\n sh:message \"s223: An AirHeatExchanger shall have at least two air inlets, each paired with an outlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:minCount 1 ;\n sh:path ],\n [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Battery": { - "simple_constraints": [ - "http://data.ashrae.org/standard223#BatteryCPShape" - ], - "complex_constraints": [], - "rules": [], - "label": "Battery", - "stable_id": "ns3:Battery", - "labels": { - "http://data.ashrae.org/standard223#BatteryCPShape": "A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity." - }, - "stable_ids": { - "http://data.ashrae.org/standard223#BatteryCPShape": "ns3:BatteryCPShape" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Battery\" ;\n rdfs:comment \"A container consisting of one or more cells, in which chemical energy is converted into electricity and used as a source of power.\" ;\n rdfs:subClassOf .\n\n", - "cbds": { - "http://data.ashrae.org/standard223#BatteryCPShape": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Battery CP Shape\" ;\n rdfs:comment \"A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.\" ;\n sh:message \"s223: A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ] [ sh:property [ rdfs:comment \"A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ] ) ;\n sh:severity sh:Warning ;\n sh:targetClass .\n\n" - } - }, - "http://data.ashrae.org/standard223#Boiler": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b217", - "nd65da433b8c64822b829e7f0030fcda9b213" - ], - "complex_constraints": [], - "rules": [], - "label": "Boiler", - "stable_id": "ns3:Boiler", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b217": "A Boiler shall have at least one inlet using the medium Water.", - "nd65da433b8c64822b829e7f0030fcda9b213": "A Boiler shall have at least one outlet using the medium Water." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b217": "b-269612854047760040", - "nd65da433b8c64822b829e7f0030fcda9b213": "b-3432308850854808866" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Boiler\" ;\n rdfs:comment \"A closed, pressure vessel that uses fuel or electricity for heating water or other fluids to supply steam or hot water for heating, humidification, or other applications.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Boiler shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A Boiler shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A Boiler shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A Boiler shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b217": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Boiler shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A Boiler shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b213": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Boiler shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A Boiler shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#ChilledBeam": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b706", - "nd65da433b8c64822b829e7f0030fcda9b696", - "nd65da433b8c64822b829e7f0030fcda9b704", - "nd65da433b8c64822b829e7f0030fcda9b700" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b51", - "nd65da433b8c64822b829e7f0030fcda9b710" - ], - "label": "Chilled beam", - "stable_id": "ns3:ChilledBeam", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b696": "A ChilledBeam shall have at least one inlet using the medium Water.", - "nd65da433b8c64822b829e7f0030fcda9b704": "A ChilledBeam must be associated with the Role-Cooling using the relation hasRole", - "nd65da433b8c64822b829e7f0030fcda9b710": "A Chilled Beam will always have the role Role-Cooling", - "nd65da433b8c64822b829e7f0030fcda9b706": "A ChilledBeam shall have at least one outlet using the medium Water.", - "nd65da433b8c64822b829e7f0030fcda9b51": "Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.", - "nd65da433b8c64822b829e7f0030fcda9b700": "A ChilledBeam shall have at least one bidirectional connection point using the medium Air." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b696": "b-4402686111615085729", - "nd65da433b8c64822b829e7f0030fcda9b704": "b-2152659488756709715", - "nd65da433b8c64822b829e7f0030fcda9b710": "b-5758768354885436646", - "nd65da433b8c64822b829e7f0030fcda9b706": "b-7896977128097324601", - "nd65da433b8c64822b829e7f0030fcda9b51": "b--9193754548666424738", - "nd65da433b8c64822b829e7f0030fcda9b700": "b-5702882748105091663" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Chilled beam\" ;\n rdfs:comment \"A structure with a colder surface temperature where air passes through, and air movement is induced in the room to achieve cooling. Cooling medium is generally water.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A ChilledBeam shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A ChilledBeam shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A ChilledBeam shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:message \"s223: A ChilledBeam shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A ChilledBeam must be associated with the Role-Cooling using the relation hasRole\" ;\n sh:message \"s223: A ChilledBeam must be associated with the Role-Cooling using the relation hasRole\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ],\n [ rdfs:comment \"A ChilledBeam shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A ChilledBeam shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ;\n sh:rule [ a sh:TripleRule ;\n rdfs:comment \"A Chilled Beam will always have the role Role-Cooling\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b696": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ChilledBeam shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A ChilledBeam shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b704": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ChilledBeam must be associated with the Role-Cooling using the relation hasRole\" ;\n sh:message \"s223: A ChilledBeam must be associated with the Role-Cooling using the relation hasRole\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b710": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"A Chilled Beam will always have the role Role-Cooling\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b706": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ChilledBeam shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A ChilledBeam shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b51": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b700": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ChilledBeam shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:message \"s223: A ChilledBeam shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Chiller": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b225", - "nd65da433b8c64822b829e7f0030fcda9b221" - ], - "complex_constraints": [], - "rules": [], - "label": "Chiller", - "stable_id": "ns3:Chiller", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b225": "A Chiller shall have at least one outlet using the medium Water.", - "nd65da433b8c64822b829e7f0030fcda9b221": "A Chiller shall have at least one inlet using the medium Water." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b225": "b--3790613723695927582", - "nd65da433b8c64822b829e7f0030fcda9b221": "b-1735827757829376797" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Chiller\" ;\n rdfs:comment \"A refrigerating machine used to transfer heat from fluids.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Chiller shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A Chiller shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A Chiller shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A Chiller shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b225": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Chiller shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A Chiller shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b221": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Chiller shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A Chiller shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Coil": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b897", - "nd65da433b8c64822b829e7f0030fcda9b906", - "nd65da433b8c64822b829e7f0030fcda9b889", - "nd65da433b8c64822b829e7f0030fcda9b876", - "nd65da433b8c64822b829e7f0030fcda9b893", - "nd65da433b8c64822b829e7f0030fcda9b880", - "nd65da433b8c64822b829e7f0030fcda9b872", - "nd65da433b8c64822b829e7f0030fcda9b884" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b51" - ], - "label": "Coil", - "stable_id": "ns3:Coil", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b897": "Pattern 2: A Coil shall have one or two bidirectionals using the medium Fluid or ThermalContact.", - "nd65da433b8c64822b829e7f0030fcda9b906": "Pattern 3: A Coil shall have three bidirectionals using the medium Fluid or ThermalContact.", - "nd65da433b8c64822b829e7f0030fcda9b889": "Pattern 2: A Coil shall have one outlet using the medium Fluid.", - "nd65da433b8c64822b829e7f0030fcda9b876": "Pattern 1: For one of the two outlets the Fluid is Air.", - "nd65da433b8c64822b829e7f0030fcda9b893": "Pattern 2: A Coil shall have one inlet using the medium Fluid.", - "nd65da433b8c64822b829e7f0030fcda9b880": "Pattern 1: A Coil shall have two outlets using the medium Fluid.", - "nd65da433b8c64822b829e7f0030fcda9b872": "Pattern 1: For one of the two inlets the Fluid is Air.", - "nd65da433b8c64822b829e7f0030fcda9b884": "Pattern 1: A Coil shall have two inlets using the medium Fluid.", - "nd65da433b8c64822b829e7f0030fcda9b51": "Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b897": "b-423070624303163938", - "nd65da433b8c64822b829e7f0030fcda9b906": "b--4033661844132032568", - "nd65da433b8c64822b829e7f0030fcda9b889": "b--3084697264358312343", - "nd65da433b8c64822b829e7f0030fcda9b876": "b--7188646233882351703", - "nd65da433b8c64822b829e7f0030fcda9b893": "b-9017329354020262446", - "nd65da433b8c64822b829e7f0030fcda9b880": "b-8336214973672379922", - "nd65da433b8c64822b829e7f0030fcda9b872": "b-4015427524505980147", - "nd65da433b8c64822b829e7f0030fcda9b884": "b--7067401400303405638", - "nd65da433b8c64822b829e7f0030fcda9b51": "b--9193754548666424738" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Coil\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"\"\"\n A Coil is a component that represents a cooling or heating element made of a pipe or tube \n that may or may not be finned and formed into a helical or serpentine shape. The physical \n characteristics of the coil are not captured in the model.\n\n A Coil must conform to exactly one of the following patterns:\n\n **Pattern 1:**\n - The Coil has exactly two inlet connection points using the medium `Mix-Fluid`, with exactly one being `Fluid-Air`.\n - The Coil has exactly two outlet connection points using the medium `Mix-Fluid`, with exactly one being `Fluid-Air`.\n\n **Pattern 2:**\n - The Coil has exactly one inlet connection point using the medium `Mix-Fluid`.\n - The Coil has exactly one outlet connection point using the medium `Mix-Fluid`.\n - The Coil has one or two bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`.\n\n **Pattern 3:**\n - The Coil has exactly three bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`.\n \"\"\" ;\n rdfs:subClassOf ;\n sh:message \"s223: A Coil shall fit one of the following patterns of ConnectionPoints: 1: Two inlets and two outlets using the medium Mix-Fluid. 2: One inlet and one outlet using the medium Mix-Fluid, and one or two bidirectionals using the medium Mix-Fluid or Medium-ThermalContact. 3: Three bidirectionals using the medium Mix-Fluid or Medium-ThermalContact.\" ;\n sh:xone ( [ sh:property [ rdfs:comment \"Pattern 1: For one of the two inlets the Fluid is Air.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"Pattern 1: For one of the two outlets the Fluid is Air.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"Pattern 1: A Coil shall have two outlets using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 2 ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"Pattern 1: A Coil shall have two inlets using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 2 ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ] [ sh:property [ rdfs:comment \"Pattern 2: A Coil shall have one outlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"Pattern 2: A Coil shall have one inlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"Pattern 2: A Coil shall have one or two bidirectionals using the medium Fluid or ThermalContact.\" ;\n sh:path ;\n sh:qualifiedMaxCount 2 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true ] ] [ sh:property [ rdfs:comment \"Pattern 3: A Coil shall have three bidirectionals using the medium Fluid or ThermalContact.\" ;\n sh:path ;\n sh:qualifiedMaxCount 3 ;\n sh:qualifiedMinCount 3 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true ] ] ) .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b897": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 2: A Coil shall have one or two bidirectionals using the medium Fluid or ThermalContact.\" ;\n sh:path ;\n sh:qualifiedMaxCount 2 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b906": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 3: A Coil shall have three bidirectionals using the medium Fluid or ThermalContact.\" ;\n sh:path ;\n sh:qualifiedMaxCount 3 ;\n sh:qualifiedMinCount 3 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b889": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 2: A Coil shall have one outlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b876": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 1: For one of the two outlets the Fluid is Air.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b893": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 2: A Coil shall have one inlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b880": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 1: A Coil shall have two outlets using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 2 ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b872": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 1: For one of the two inlets the Fluid is Air.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b884": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 1: A Coil shall have two inlets using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 2 ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b51": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n" - } - }, - "http://data.ashrae.org/standard223#CoolingCoil": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b243" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b244" - ], - "label": "Cooling coil", - "stable_id": "ns3:CoolingCoil", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b244": "Cooling coils will always have the role Role-Cooling", - "nd65da433b8c64822b829e7f0030fcda9b243": "A cooling coil must be related to the role 'Role-Cooling' using the relation 'hasRole'." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b244": "b--7453880826435306020", - "nd65da433b8c64822b829e7f0030fcda9b243": "b--5627478068724517708" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Cooling coil\" ;\n rdfs:comment \"A subclass of Coil that is specifically used for coolinig air. \" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A cooling coil must be related to the role 'Role-Cooling' using the relation 'hasRole'.\" ;\n sh:hasValue ;\n sh:message \"s223: A cooling coil must be related to the role 'Role-Cooling' using the relation 'hasRole'.\" ;\n sh:minCount 1 ;\n sh:path ] ;\n sh:rule [ a sh:TripleRule ;\n rdfs:comment \"Cooling coils will always have the role Role-Cooling\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b244": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Cooling coils will always have the role Role-Cooling\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b243": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A cooling coil must be related to the role 'Role-Cooling' using the relation 'hasRole'.\" ;\n sh:hasValue ;\n sh:message \"s223: A cooling coil must be related to the role 'Role-Cooling' using the relation 'hasRole'.\" ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#HeatingCoil": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b349" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b350" - ], - "label": "Heating coil", - "stable_id": "ns3:HeatingCoil", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b350": "Heating coils will always have the role Role-Heating", - "nd65da433b8c64822b829e7f0030fcda9b349": "A heating coil must be related to the role 'Role-Heating' using the relation 'hasRole'." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b350": "b--5420058839216547919", - "nd65da433b8c64822b829e7f0030fcda9b349": "b-1701469547968526165" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Heating coil\" ;\n rdfs:comment \"A subclass of Coil that is used specifically for heating air. \" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A heating coil must be related to the role 'Role-Heating' using the relation 'hasRole'.\" ;\n sh:hasValue ;\n sh:message \"s223: A heating coil must be related to the role 'Role-Heating' using the relation 'hasRole'.\" ;\n sh:minCount 1 ;\n sh:path ] ;\n sh:rule [ a sh:TripleRule ;\n rdfs:comment \"Heating coils will always have the role Role-Heating\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b350": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Heating coils will always have the role Role-Heating\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b349": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A heating coil must be related to the role 'Role-Heating' using the relation 'hasRole'.\" ;\n sh:hasValue ;\n sh:message \"s223: A heating coil must be related to the role 'Role-Heating' using the relation 'hasRole'.\" ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#Compressor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b229", - "nd65da433b8c64822b829e7f0030fcda9b231" - ], - "complex_constraints": [], - "rules": [], - "label": "Compressor", - "stable_id": "ns3:Compressor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b229": "A Compressor shall have at least one inlet.", - "nd65da433b8c64822b829e7f0030fcda9b231": "A Compressor shall have at least one outlet." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b229": "b-5994187961949410786", - "nd65da433b8c64822b829e7f0030fcda9b231": "b--3339832089557673347" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Compressor\" ;\n rdfs:comment \"A device for mechanically increasing the pressure of a gas.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Compressor shall have at least one inlet.\" ;\n sh:message \"s223: A Compressor shall have at least one inlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ],\n [ rdfs:comment \"A Compressor shall have at least one outlet.\" ;\n sh:message \"s223: A Compressor shall have at least one outlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b229": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Compressor shall have at least one inlet.\" ;\n sh:message \"s223: A Compressor shall have at least one inlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b231": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Compressor shall have at least one outlet.\" ;\n sh:message \"s223: A Compressor shall have at least one outlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#CoolingTower": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b249", - "nd65da433b8c64822b829e7f0030fcda9b245" - ], - "complex_constraints": [], - "rules": [], - "label": "Cooling tower", - "stable_id": "ns3:CoolingTower", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b249": "A CoolingTower shall have at least one outlet using the medium Water.", - "nd65da433b8c64822b829e7f0030fcda9b245": "A CoolingTower shall have at least one inlet using the medium Water." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b249": "b-402367081112006907", - "nd65da433b8c64822b829e7f0030fcda9b245": "b--1214241636178680673" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Cooling tower\" ;\n rdfs:comment \"A heat transfer device in which atmospheric air cools warm water, generally by direct contact via evaporation.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A CoolingTower shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A CoolingTower shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A CoolingTower shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A CoolingTower shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b249": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A CoolingTower shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A CoolingTower shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b245": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A CoolingTower shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A CoolingTower shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Damper": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b715", - "nd65da433b8c64822b829e7f0030fcda9b711" - ], - "complex_constraints": [], - "rules": [], - "label": "Damper", - "stable_id": "ns3:Damper", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b715": "A Damper shall have at least one outlet using the medium Air.", - "nd65da433b8c64822b829e7f0030fcda9b711": "A Damper shall have at least one inlet using the medium Air." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b715": "b--9147862091600571276", - "nd65da433b8c64822b829e7f0030fcda9b711": "b-9153996150013643511" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Damper\" ;\n rdfs:comment \"An element inserted into an air-distribution system or element of an air-distribution system permitting modification of the air resistance of the system and consequently changing the airflow rate or shutting off the airflow.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Damper shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A Damper shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A Damper shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A Damper shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b715": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Damper shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A Damper shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b711": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Damper shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A Damper shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Door": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b257" - ], - "complex_constraints": [], - "rules": [], - "label": "Door", - "stable_id": "ns3:Door", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b257": "A Door shall have at least two bidirectional connection points using the medium Air." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b257": "b--2204484886146557723" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Door\" ;\n rdfs:comment \"A hinged, sliding, or revolving barrier at the entrance to a building or room.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Door shall have at least two bidirectional connection points using the medium Air.\" ;\n sh:message \"s223: A Door shall have at least two bidirectional connection points using the medium Air.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b257": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Door shall have at least two bidirectional connection points using the medium Air.\" ;\n sh:message \"s223: A Door shall have at least two bidirectional connection points using the medium Air.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#ElectricBreaker": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b269" - ], - "complex_constraints": [], - "rules": [], - "label": "Electric breaker", - "stable_id": "ns3:ElectricBreaker", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b269": "An ElectricBreaker shall have at least one outlet using the medium Electricity." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b269": "b-4243325573904626745" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Electric breaker\" ;\n rdfs:comment \"A piece of equipment designed to open the circuit automatically at a predetermined overcurrent without damage to itself (when properly applied within its rating).\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An ElectricBreaker shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricBreaker shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b269": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricBreaker shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricBreaker shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#ElectricMeter": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Electric meter", - "stable_id": "ns3:ElectricMeter", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Electric meter\" ;\n rdfs:comment \"A device that measures the properties of electric energy.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#ElectricOutlet": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b277", - "nd65da433b8c64822b829e7f0030fcda9b273" - ], - "complex_constraints": [], - "rules": [], - "label": "Electric outlet", - "stable_id": "ns3:ElectricOutlet", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b277": "An ElectricOutlet shall have at least one outlet using the medium Electricity.", - "nd65da433b8c64822b829e7f0030fcda9b273": "An ElectricOutlet shall have exactly one inlet using the medium Electricity." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b277": "b--3459773598490436527", - "nd65da433b8c64822b829e7f0030fcda9b273": "b-533479152004746690" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Electric outlet\" ;\n rdfs:comment \"A device to which a piece of electrical equipment can be connected in order to provide it with electricity\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An ElectricOutlet shall have exactly one inlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricOutlet shall have exactly one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"An ElectricOutlet shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricOutlet shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b277": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricOutlet shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricOutlet shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b273": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricOutlet shall have exactly one inlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricOutlet shall have exactly one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#ElectricResistanceElement": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b723", - "nd65da433b8c64822b829e7f0030fcda9b719", - "nd65da433b8c64822b829e7f0030fcda9b731", - "nd65da433b8c64822b829e7f0030fcda9b726", - "nd65da433b8c64822b829e7f0030fcda9b735" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b51" - ], - "label": "Electric Resistance Element", - "stable_id": "ns3:ElectricResistanceElement", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b723": "An ElectricResistanceElement shall have the role Role-Heating.", - "nd65da433b8c64822b829e7f0030fcda9b719": "An ElectricResistanceElement shall have at least one inlet using the medium Electricity.", - "nd65da433b8c64822b829e7f0030fcda9b731": "Pattern 2: An ElectricResistanceElement shall have one inlet using the medium Fluid.", - "nd65da433b8c64822b829e7f0030fcda9b726": "Pattern 1: An ElectricResistanceElement shall have exactly one Bidirectional ConnectionPoint using the medium Fluid.", - "nd65da433b8c64822b829e7f0030fcda9b735": "Pattern 2: An ElectricResistanceElement shall have one outlet using the medium Fluid.", - "nd65da433b8c64822b829e7f0030fcda9b51": "Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b723": "b--206322792144343166", - "nd65da433b8c64822b829e7f0030fcda9b719": "b-3825351671199831107", - "nd65da433b8c64822b829e7f0030fcda9b731": "b--3383818089482001116", - "nd65da433b8c64822b829e7f0030fcda9b726": "b--3677731865640931322", - "nd65da433b8c64822b829e7f0030fcda9b735": "b--7703829743987285431", - "nd65da433b8c64822b829e7f0030fcda9b51": "b--9193754548666424738" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Electric Resistance Element\" ;\n rdfs:comment \"Electric resistance elements provide electrical resistance heating, for example an electric heating coil within a Fan Coil Unit. It shall have one electricity InletConnectionPoint, plus fit one of the following two patterns: Pattern 1: An ElectricResistanceElement shall have exactly one Bidirectional ConnectionPoint using the medium Fluid. Pattern 2: An ElectricResistanceElement shall have one inlet and one outlet using the medium Fluid.\" ;\n rdfs:subClassOf ;\n sh:message \"s223: An ElectricResistanceElement shall have one electricity InletConnectionPoint, plus fit one of the following two patterns: Pattern 1: An ElectricResistanceElement shall have exactly one Bidirectional ConnectionPoint using the medium Fluid. Pattern 2: An ElectricResistanceElement shall have one inlet and one outlet using the medium Fluid.\" ;\n sh:property [ rdfs:comment \"An ElectricResistanceElement shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricResistanceElement shall have at least one inlet using the medium Electricity.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"An ElectricResistanceElement shall have the role Role-Heating.\" ;\n sh:message \"s223: An ElectricResistanceElement shall have the role Role-Heating.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ] ;\n sh:xone ( [ sh:property [ rdfs:comment \"Pattern 1: An ElectricResistanceElement shall have exactly one Bidirectional ConnectionPoint using the medium Fluid.\" ;\n sh:message \"s223: Pattern 1: An ElectricResistanceElement requires exactly one BidirectionalConnectionPoint using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true ] ] [ sh:property [ rdfs:comment \"Pattern 2: An ElectricResistanceElement shall have one inlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true ],\n [ rdfs:comment \"Pattern 2: An ElectricResistanceElement shall have one outlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true ] ] ) .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b723": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricResistanceElement shall have the role Role-Heating.\" ;\n sh:message \"s223: An ElectricResistanceElement shall have the role Role-Heating.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b719": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricResistanceElement shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricResistanceElement shall have at least one inlet using the medium Electricity.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b731": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 2: An ElectricResistanceElement shall have one inlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b726": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 1: An ElectricResistanceElement shall have exactly one Bidirectional ConnectionPoint using the medium Fluid.\" ;\n sh:message \"s223: Pattern 1: An ElectricResistanceElement requires exactly one BidirectionalConnectionPoint using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b735": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 2: An ElectricResistanceElement shall have one outlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b51": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n" - } - }, - "http://data.ashrae.org/standard223#ElectricTransformer": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b281", - "nd65da433b8c64822b829e7f0030fcda9b285" - ], - "complex_constraints": [], - "rules": [], - "label": "Electric transformer", - "stable_id": "ns3:ElectricTransformer", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b281": "An ElectricTransformer shall have at least one outlet using the medium Electricity.", - "nd65da433b8c64822b829e7f0030fcda9b285": "An ElectricTransformer shall have at least one inlet using the medium Electricity." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b281": "b-4618455357046225104", - "nd65da433b8c64822b829e7f0030fcda9b285": "b--1199006348410911777" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Electric transformer\" ;\n rdfs:comment \"A piece of electrical equipment used to convert alternative current (AC) electric power from one voltage to another voltage.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An ElectricTransformer shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricTransformer shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"An ElectricTransformer shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricTransformer shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b281": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricTransformer shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricTransformer shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b285": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricTransformer shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricTransformer shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#EthernetSwitch": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b742", - "nd65da433b8c64822b829e7f0030fcda9b746" - ], - "complex_constraints": [], - "rules": [], - "label": "Ethernet switch", - "stable_id": "ns3:EthernetSwitch", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b742": "An EthernetSwitch shall have at least one inlet using the medium Electricity.", - "nd65da433b8c64822b829e7f0030fcda9b746": "An EthernetSwitch shall have at least two BidirectionalConnectionPoints using the medium Signal-Ethernet." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b742": "b-8662042924558729432", - "nd65da433b8c64822b829e7f0030fcda9b746": "b--8218477079318284609" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Ethernet switch\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"A type of network hardware that connects cabled devices, such as computers and Wi-Fi access points, in an Ethernet LAN so they can communicate with each other and to the internet.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An EthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: An EthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"An EthernetSwitch shall have at least two BidirectionalConnectionPoints using the medium Signal-Ethernet.\" ;\n sh:message \"s223: An EthernetSwitch shall have at least two BidirectionalConnectionPoints using the medium Signal-Ethernet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b742": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: An EthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b746": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EthernetSwitch shall have at least two BidirectionalConnectionPoints using the medium Signal-Ethernet.\" ;\n sh:message \"s223: An EthernetSwitch shall have at least two BidirectionalConnectionPoints using the medium Signal-Ethernet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#PowerOverEthernetSwitch": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b405", - "nd65da433b8c64822b829e7f0030fcda9b401" - ], - "complex_constraints": [], - "rules": [], - "label": "Power Over Ethernet Switch", - "stable_id": "ns3:PowerOverEthernetSwitch", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b405": "A PowerOverEthernetSwitch shall have at least one BidirectionalConnectionPoint using the medium PowerAndSignal-PoE.", - "nd65da433b8c64822b829e7f0030fcda9b401": "A PowerOverEthernetSwitch shall have at least one inlet using the medium Electricity." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b405": "b-9157142303647419210", - "nd65da433b8c64822b829e7f0030fcda9b401": "b-6326364045955928191" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Power Over Ethernet Switch\" ;\n rdfs:comment \"A type of network hardware that connects and is capable of powering cabled devices, such as computers and Wi-Fi access points, in an Ethernet LAN so they can communicate with each other and to the internet.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A PowerOverEthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A PowerOverEthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A PowerOverEthernetSwitch shall have at least one BidirectionalConnectionPoint using the medium PowerAndSignal-PoE.\" ;\n sh:message \"s223: A PowerOverEthernetSwitch shall have at least one BidirectionalConnectionPoint using the medium PowerAndSignal-PoE.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b405": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A PowerOverEthernetSwitch shall have at least one BidirectionalConnectionPoint using the medium PowerAndSignal-PoE.\" ;\n sh:message \"s223: A PowerOverEthernetSwitch shall have at least one BidirectionalConnectionPoint using the medium PowerAndSignal-PoE.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b401": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A PowerOverEthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A PowerOverEthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Fan": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b819", - "nd65da433b8c64822b829e7f0030fcda9b815" - ], - "complex_constraints": [], - "rules": [], - "label": "Fan", - "stable_id": "ns3:Fan", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b819": "A Fan shall have at least one inlet using the medium Air.", - "nd65da433b8c64822b829e7f0030fcda9b815": "A Fan shall have at least one outlet using the medium Air." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b819": "b-8733057386064115114", - "nd65da433b8c64822b829e7f0030fcda9b815": "b--8254649877426905964" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Fan\" ;\n rdfs:comment \"A machine used to create flow within a gas such as air. \" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Fan shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A Fan shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A Fan shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A Fan shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b819": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Fan shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A Fan shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b815": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Fan shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A Fan shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#FanCoilUnit": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b303", - "nd65da433b8c64822b829e7f0030fcda9b289", - "nd65da433b8c64822b829e7f0030fcda9b293", - "nd65da433b8c64822b829e7f0030fcda9b299", - "nd65da433b8c64822b829e7f0030fcda9b295" - ], - "complex_constraints": [], - "rules": [], - "label": "Fan coil unit", - "stable_id": "ns3:FanCoilUnit", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b303": "A FanCoilUnit must be associated with at least 1 Coil using the relation contains.", - "nd65da433b8c64822b829e7f0030fcda9b289": "A FanCoilUnit must at least have the role Role-Heating or Role-Cooling.", - "nd65da433b8c64822b829e7f0030fcda9b293": "A FanCoilUnit must be associated with at least 1 Fan using the relation contains.", - "nd65da433b8c64822b829e7f0030fcda9b299": "A FanCoilUnit shall have at least one outlet using the medium Air.", - "nd65da433b8c64822b829e7f0030fcda9b295": "A FanCoilUnit shall have at least one inlet using the medium Air." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b303": "b--1278925699712019820", - "nd65da433b8c64822b829e7f0030fcda9b289": "b-4921072272961868694", - "nd65da433b8c64822b829e7f0030fcda9b293": "b-3342657086038222855", - "nd65da433b8c64822b829e7f0030fcda9b299": "b--1190863398647602372", - "nd65da433b8c64822b829e7f0030fcda9b295": "b-5989894574328970348" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Fan coil unit\" ;\n rdfs:comment \"A device consisting of a heat exchanger (coil) and a fan to regulate the temperature of one or more spaces.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A FanCoilUnit must at least have the role Role-Heating or Role-Cooling.\" ;\n sh:message \"s223: A FanCoilUnit must at least have the role Role-Heating or Role-Cooling.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:in ( ) ] ],\n [ rdfs:comment \"A FanCoilUnit must be associated with at least 1 Fan using the relation contains.\" ;\n sh:message \"s223: A FanCoilUnit must be associated with at least 1 Fan using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ],\n [ rdfs:comment \"A FanCoilUnit shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A FanCoilUnit shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A FanCoilUnit shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A FanCoilUnit shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A FanCoilUnit must be associated with at least 1 Coil using the relation contains.\" ;\n sh:message \"s223: A FanCoilUnit must be associated with at least 1 Coil using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b303": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanCoilUnit must be associated with at least 1 Coil using the relation contains.\" ;\n sh:message \"s223: A FanCoilUnit must be associated with at least 1 Coil using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b289": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanCoilUnit must at least have the role Role-Heating or Role-Cooling.\" ;\n sh:message \"s223: A FanCoilUnit must at least have the role Role-Heating or Role-Cooling.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:in ( ) ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b293": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanCoilUnit must be associated with at least 1 Fan using the relation contains.\" ;\n sh:message \"s223: A FanCoilUnit must be associated with at least 1 Fan using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b299": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanCoilUnit shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A FanCoilUnit shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b295": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanCoilUnit shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A FanCoilUnit shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Filter": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b309", - "nd65da433b8c64822b829e7f0030fcda9b313", - "nd65da433b8c64822b829e7f0030fcda9b315", - "nd65da433b8c64822b829e7f0030fcda9b311", - "nd65da433b8c64822b829e7f0030fcda9b307" - ], - "complex_constraints": [], - "rules": [], - "label": "Filter", - "stable_id": "ns3:Filter", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b309": "Incompatible Medium. Case 1: Associated ConnectionPoints with two pure mediums.", - "nd65da433b8c64822b829e7f0030fcda9b313": "Incompatible Medium. Case 2: Associated ConnectionPoints, one with a pure medium and one with a medium having constituents..", - "nd65da433b8c64822b829e7f0030fcda9b315": "A Filter shall have at least one inlet ConnectionPoint.", - "nd65da433b8c64822b829e7f0030fcda9b311": "A Filter shall have at least one outlet.", - "nd65da433b8c64822b829e7f0030fcda9b307": "Incompatible Medium. Case 3: Associated ConnectionPoints with mediums having constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b309": "b-1782534338434260033", - "nd65da433b8c64822b829e7f0030fcda9b313": "b--8033459191705976059", - "nd65da433b8c64822b829e7f0030fcda9b315": "b--1448506458751511003", - "nd65da433b8c64822b829e7f0030fcda9b311": "b-2242486316041729690", - "nd65da433b8c64822b829e7f0030fcda9b307": "b--5291823719233072133" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Filter\" ;\n rdfs:comment \"A device that removes contaminants from gases or liquids.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"Incompatible Medium. Case 3: Associated ConnectionPoints with mediums having constituents.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Two mediums with constituents.\" ;\n sh:message \"s223: For Filter {$this} there is no compatible substance between medium {?m2} and medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT ?this ?m2 ?m1\nWHERE {\n ?this s223:cnx ?cp1, ?cp2 .\n ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n FILTER (?cp1 != ?cp2) .\n ?cp1 s223:hasMedium ?m1 .\n ?cp2 s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] ],\n [ rdfs:comment \"Incompatible Medium. Case 1: Associated ConnectionPoints with two pure mediums.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: {$this} with inlet medium {?m2} is incompatible with outlet medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?m1\nWHERE {\n$this s223:cnx ?cp1, ?cp2 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2) .\n?cp1 s223:hasMedium ?m1 .\n?cp2 s223:hasMedium ?m2 . \nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"A Filter shall have at least one outlet.\" ;\n sh:message \"s223: A Filter shall have at least one outlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ],\n [ rdfs:comment \"Incompatible Medium. Case 2: Associated ConnectionPoints, one with a pure medium and one with a medium having constituents..\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A medium with constituents and a pure medium.\" ;\n sh:message \"s223: {$this} has an incompatible medium {?m1} with any constituent of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?m1\nWHERE {\n$this s223:cnx ?cp1, ?cp2 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2) .\n?cp1 s223:hasMedium ?m1 .\n?cp2 s223:hasMedium ?m2 . \n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] ],\n [ rdfs:comment \"A Filter shall have at least one inlet ConnectionPoint.\" ;\n sh:message \"s223: A Filter shall have at least one inlet ConnectionPoint.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b309": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 1: Associated ConnectionPoints with two pure mediums.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: {$this} with inlet medium {?m2} is incompatible with outlet medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?m1\nWHERE {\n$this s223:cnx ?cp1, ?cp2 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2) .\n?cp1 s223:hasMedium ?m1 .\n?cp2 s223:hasMedium ?m2 . \nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b313": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 2: Associated ConnectionPoints, one with a pure medium and one with a medium having constituents..\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A medium with constituents and a pure medium.\" ;\n sh:message \"s223: {$this} has an incompatible medium {?m1} with any constituent of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?m1\nWHERE {\n$this s223:cnx ?cp1, ?cp2 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2) .\n?cp1 s223:hasMedium ?m1 .\n?cp2 s223:hasMedium ?m2 . \n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b315": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Filter shall have at least one inlet ConnectionPoint.\" ;\n sh:message \"s223: A Filter shall have at least one inlet ConnectionPoint.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b311": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Filter shall have at least one outlet.\" ;\n sh:message \"s223: A Filter shall have at least one outlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b307": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 3: Associated ConnectionPoints with mediums having constituents.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Two mediums with constituents.\" ;\n sh:message \"s223: For Filter {$this} there is no compatible substance between medium {?m2} and medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT ?this ?m2 ?m1\nWHERE {\n ?this s223:cnx ?cp1, ?cp2 .\n ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n FILTER (?cp1 != ?cp2) .\n ?cp1 s223:hasMedium ?m1 .\n ?cp2 s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#FumeHood": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b321", - "nd65da433b8c64822b829e7f0030fcda9b317" - ], - "complex_constraints": [], - "rules": [], - "label": "Fume hood", - "stable_id": "ns3:FumeHood", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b321": "A FumeHood shall have at least one outlet using the medium Air.", - "nd65da433b8c64822b829e7f0030fcda9b317": "A FumeHood shall have at least one inlet using the medium Air." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b321": "b--6874441127488451621", - "nd65da433b8c64822b829e7f0030fcda9b317": "b-1645300876506443373" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Fume hood\" ;\n rdfs:comment \"A fume-collection device mounted over a work space, table, or shelf and serving to conduct unwanted gases away from an area.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A FumeHood shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A FumeHood shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A FumeHood shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A FumeHood shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b321": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FumeHood shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A FumeHood shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b317": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FumeHood shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A FumeHood shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Furnace": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b325", - "nd65da433b8c64822b829e7f0030fcda9b329" - ], - "complex_constraints": [], - "rules": [], - "label": "Furnace", - "stable_id": "ns3:Furnace", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b325": "A Furnace shall have at least one outlet using the medium Air.", - "nd65da433b8c64822b829e7f0030fcda9b329": "A Furnace shall have at least one inlet using the medium Air." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b325": "b-7761334501423224372", - "nd65da433b8c64822b829e7f0030fcda9b329": "b--3484890169084796953" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Furnace\" ;\n rdfs:comment \"An enclosed chamber or structure in which heat is produced, as by burning fuel or by converting electrical energy. \" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Furnace shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A Furnace shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A Furnace shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A Furnace shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b325": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Furnace shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A Furnace shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b329": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Furnace shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A Furnace shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Generator": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b339", - "nd65da433b8c64822b829e7f0030fcda9b340" - ], - "complex_constraints": [], - "rules": [], - "label": "Generator", - "stable_id": "ns3:Generator", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b339": "A Generator must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.", - "nd65da433b8c64822b829e7f0030fcda9b340": "A Generator shall have at least one outlet using the medium Electricity." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b339": "b--4262676012622607942", - "nd65da433b8c64822b829e7f0030fcda9b340": "b--3582883337952282317" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Generator\" ;\n rdfs:comment \"An energy transducer that transforms non-electric energy into electric energy.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Generator must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:message \"s223: A Generator must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:minCount 1 ;\n sh:path ],\n [ rdfs:comment \"A Generator shall have at least one outlet using the medium Electricity.\" ;\n sh:class ;\n sh:message \"s223: A Generator shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b339": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Generator must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:message \"s223: A Generator must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b340": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Generator shall have at least one outlet using the medium Electricity.\" ;\n sh:class ;\n sh:message \"s223: A Generator shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#HeatPump": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Heat pump", - "stable_id": "ns3:HeatPump", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Heat pump\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"A device that can heat or cool by transferring thermal energy using a reversible refrigeration cycle.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#AirSourceHeatPump": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns3:AirSourceHeatPump", - "stable_id": "ns3:AirSourceHeatPump", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#GroundSourceHeatPump": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns3:GroundSourceHeatPump", - "stable_id": "ns3:GroundSourceHeatPump", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#WaterSourceHeatPump": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns3:WaterSourceHeatPump", - "stable_id": "ns3:WaterSourceHeatPump", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Humidifier": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Humidifier", - "stable_id": "ns3:Humidifier", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Humidifier\" ;\n rdfs:comment \"A piece of equipment to add moisture to a gas such as air.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Humidistat": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Humidistat", - "stable_id": "ns3:Humidistat", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Humidistat\" ;\n rdfs:comment \"An automatic control device used to maintain humidity at a fixed or adjustable setpoint.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#HydronicHeatExchanger": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b757", - "nd65da433b8c64822b829e7f0030fcda9b750", - "nd65da433b8c64822b829e7f0030fcda9b760", - "nd65da433b8c64822b829e7f0030fcda9b752" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b51" - ], - "label": "Hydronic heat exchanger", - "stable_id": "ns3:HydronicHeatExchanger", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b752": "A HydronicHeatExchanger shall have at least two liquid inlets, each paired with an outlet.", - "nd65da433b8c64822b829e7f0030fcda9b757": "A HydronicHeatExchanger shall have no ConnectionPoints using the medium Air.", - "nd65da433b8c64822b829e7f0030fcda9b750": "A HydronicHeatExchanger shall have no BidirectionalConnectionPoints.", - "nd65da433b8c64822b829e7f0030fcda9b760": "A HydronicHeatExchanger shall have at least two liquid outlets, each paired with an inlet.", - "nd65da433b8c64822b829e7f0030fcda9b51": "Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b752": "b--453979510938855196", - "nd65da433b8c64822b829e7f0030fcda9b757": "b-4591038990490635625", - "nd65da433b8c64822b829e7f0030fcda9b750": "b-6665867247102004938", - "nd65da433b8c64822b829e7f0030fcda9b760": "b--4812985221401600629", - "nd65da433b8c64822b829e7f0030fcda9b51": "b--9193754548666424738" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Hydronic heat exchanger\" ;\n rdfs:comment \"\"\"A component intended to transfer heat from one liquid stream to another while keeping the two media separate. The\n HydronicHeatExchanger class does not represent the physical characteristics of a hydronic heat exchanger design. It represents only the heat\n transfer functionality.\"\"\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A HydronicHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:message \"s223: A HydronicHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:path ;\n sh:qualifiedValueShape [ sh:class ;\n sh:message \"s223: A HydronicHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:qualifiedMaxCount 0 ] ],\n [ rdfs:comment \"A HydronicHeatExchanger shall have at least two liquid inlets, each paired with an outlet.\" ;\n sh:message \"s223: A HydronicHeatExchanger shall have at least two liquid inlets, each paired with an outlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:minCount 1 ;\n sh:path ],\n [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A HydronicHeatExchanger shall have no ConnectionPoints using the medium Air.\" ;\n sh:class ;\n sh:message \"s223: A HydronicHeatExchanger shall have no ConnectionPoints using the medium Air.\" ;\n sh:path ;\n sh:qualifiedMaxCount 0 ;\n sh:qualifiedValueShape [ sh:property [ sh:class ;\n sh:path ] ] ],\n [ rdfs:comment \"A HydronicHeatExchanger shall have at least two liquid outlets, each paired with an inlet.\" ;\n sh:message \"s223: A HydronicHeatExchanger shall have at least two liquid outlets, each paired with an inlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ],\n [ sh:class ;\n sh:minCount 1 ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b752": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A HydronicHeatExchanger shall have at least two liquid inlets, each paired with an outlet.\" ;\n sh:message \"s223: A HydronicHeatExchanger shall have at least two liquid inlets, each paired with an outlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:minCount 1 ;\n sh:path ],\n [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b757": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A HydronicHeatExchanger shall have no ConnectionPoints using the medium Air.\" ;\n sh:class ;\n sh:message \"s223: A HydronicHeatExchanger shall have no ConnectionPoints using the medium Air.\" ;\n sh:path ;\n sh:qualifiedMaxCount 0 ;\n sh:qualifiedValueShape [ sh:property [ sh:class ;\n sh:path ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b750": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A HydronicHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:message \"s223: A HydronicHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:path ;\n sh:qualifiedValueShape [ sh:class ;\n sh:message \"s223: A HydronicHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:qualifiedMaxCount 0 ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b760": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A HydronicHeatExchanger shall have at least two liquid outlets, each paired with an inlet.\" ;\n sh:message \"s223: A HydronicHeatExchanger shall have at least two liquid outlets, each paired with an inlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ],\n [ sh:class ;\n sh:minCount 1 ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b51": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n" - } - }, - "http://data.ashrae.org/standard223#Inverter": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b366", - "nd65da433b8c64822b829e7f0030fcda9b362" - ], - "complex_constraints": [], - "rules": [], - "label": "Inverter", - "stable_id": "ns3:Inverter", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b366": "An Inverter shall have at least one inlet using the medium Electricity-DC.", - "nd65da433b8c64822b829e7f0030fcda9b362": "An Inverter shall have at least one outlet using the medium Electricity-AC." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b366": "b-3077148000538511654", - "nd65da433b8c64822b829e7f0030fcda9b362": "b-6380662320650660559" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Inverter\" ;\n rdfs:comment \"An electric energy converter that changes direct electric current to alternating current.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An Inverter shall have at least one outlet using the medium Electricity-AC.\" ;\n sh:message \"s223: An Inverter shall have at least one outlet using the medium Electricity-AC.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"An Inverter shall have at least one inlet using the medium Electricity-DC.\" ;\n sh:message \"s223: An Inverter shall have at least one inlet using the medium Electricity-DC.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b366": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An Inverter shall have at least one inlet using the medium Electricity-DC.\" ;\n sh:message \"s223: An Inverter shall have at least one inlet using the medium Electricity-DC.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b362": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An Inverter shall have at least one outlet using the medium Electricity-AC.\" ;\n sh:message \"s223: An Inverter shall have at least one outlet using the medium Electricity-AC.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Motor": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b378" - ], - "complex_constraints": [], - "rules": [], - "label": "Motor", - "stable_id": "ns3:Motor", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b378": "A Motor shall have at least one inlet using the medium Electricity." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b378": "b--6757049947176410059" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Motor\" ;\n rdfs:comment \"A machine in which power is applied to do work by the conversion of various forms of energy into mechanical force and motion.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Motor shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A Motor shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b378": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Motor shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A Motor shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Luminaire": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b370", - "nd65da433b8c64822b829e7f0030fcda9b374" - ], - "complex_constraints": [], - "rules": [], - "label": "Luminaire", - "stable_id": "ns3:Luminaire", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b370": "A Luminaire shall have at least one outlet using the medium EM-Light.", - "nd65da433b8c64822b829e7f0030fcda9b374": "A Luminaire shall have at least one inlet using the medium Electricity." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b370": "b-6590867479336627875", - "nd65da433b8c64822b829e7f0030fcda9b374": "b--6758519178929386572" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Luminaire\" ;\n rdfs:comment \"A complete lighting unit consisting of a light source(s) and ballast(s) or driver(s) (when applicable), together with the parts designed to distribute the light, to position and protect the light source(s), and to connect the light source(s) to the power supply. Also known as a light fixture.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Luminaire shall have at least one outlet using the medium EM-Light.\" ;\n sh:message \"s223: A Luminaire shall have at least one outlet using the medium EM-Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A Luminaire shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A Luminaire shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b370": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Luminaire shall have at least one outlet using the medium EM-Light.\" ;\n sh:message \"s223: A Luminaire shall have at least one outlet using the medium EM-Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b374": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Luminaire shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A Luminaire shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#PhotovoltaicModule": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b393", - "nd65da433b8c64822b829e7f0030fcda9b397" - ], - "complex_constraints": [], - "rules": [], - "label": "Photovoltaic module", - "stable_id": "ns3:PhotovoltaicModule", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b393": "An PhotovoltaicModule shall have at least one outlet using the medium Electricity.", - "nd65da433b8c64822b829e7f0030fcda9b397": "An PhotovoltaicModule must have at least one inlet using the medium EM-Light." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b393": "b--6797407418769164951", - "nd65da433b8c64822b829e7f0030fcda9b397": "b--5222978669710839953" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Photovoltaic module\" ;\n rdfs:comment \"A piece of equipment that converts sunlight into electricity.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"An PhotovoltaicModule shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An PhotovoltaicModule shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"An PhotovoltaicModule must have at least one inlet using the medium EM-Light.\" ;\n sh:message \"s223: An PhotovoltaicModule must have at least one inlet using the medium EM-Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b393": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An PhotovoltaicModule shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An PhotovoltaicModule shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b397": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An PhotovoltaicModule must have at least one inlet using the medium EM-Light.\" ;\n sh:message \"s223: An PhotovoltaicModule must have at least one inlet using the medium EM-Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#Pump": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b411", - "nd65da433b8c64822b829e7f0030fcda9b409", - "nd65da433b8c64822b829e7f0030fcda9b423" - ], - "complex_constraints": [], - "rules": [], - "label": "Pump", - "stable_id": "ns3:Pump", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b411": "A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.", - "nd65da433b8c64822b829e7f0030fcda9b409": "The non-electrical ConnectionPoints of a Pump must have compatible Media.", - "nd65da433b8c64822b829e7f0030fcda9b423": "A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b411": "b--1124248738530551814", - "nd65da433b8c64822b829e7f0030fcda9b409": "b-3242281583874563500", - "nd65da433b8c64822b829e7f0030fcda9b423": "b-5064008606994796119" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Pump\" ;\n rdfs:comment \"A machine for imparting energy to a fluid, drawing a fluid into itself through an entrance port, and forcing the fluid out through an exhaust port.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"The non-electrical ConnectionPoints of a Pump must have compatible Media.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"The non-electrical ConnectionPoints of a Pump must have compatible Media.\" ;\n sh:message \"s223: {?cpa} and {?cpb} on the Pump {$this} have incompatible Media {$mediuma} and {$mediumb}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cpa ?cpb ?mediuma ?mediumb\nWHERE {\n $this s223:hasConnectionPoint ?cpa .\n $this s223:hasConnectionPoint ?cpb .\n FILTER (?cpa != ?cpb) .\n ?cpa s223:hasMedium ?mediuma .\n FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* s223:Constituent-Electricity}) .\n ?cpb s223:hasMedium ?mediumb .\n FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* s223:Constituent-Electricity}) .\n FILTER (?mediuma != ?mediumb) .\n FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* ?mediuma}) .\n FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* ?mediumb}) .\n}\n\"\"\" ] ],\n [ rdfs:comment \"A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ rdfs:comment \"A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:or ( [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] ) ;\n sh:severity sh:Warning ] ] ],\n [ rdfs:comment \"A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ rdfs:comment \"A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:or ( [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] ) ;\n sh:severity sh:Warning ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b411": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ rdfs:comment \"A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:or ( [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] ) ;\n sh:severity sh:Warning ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b409": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"The non-electrical ConnectionPoints of a Pump must have compatible Media.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"The non-electrical ConnectionPoints of a Pump must have compatible Media.\" ;\n sh:message \"s223: {?cpa} and {?cpb} on the Pump {$this} have incompatible Media {$mediuma} and {$mediumb}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cpa ?cpb ?mediuma ?mediumb\nWHERE {\n $this s223:hasConnectionPoint ?cpa .\n $this s223:hasConnectionPoint ?cpb .\n FILTER (?cpa != ?cpb) .\n ?cpa s223:hasMedium ?mediuma .\n FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* s223:Constituent-Electricity}) .\n ?cpb s223:hasMedium ?mediumb .\n FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* s223:Constituent-Electricity}) .\n FILTER (?mediuma != ?mediumb) .\n FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* ?mediuma}) .\n FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* ?mediumb}) .\n}\n\"\"\" ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b423": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ rdfs:comment \"A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:or ( [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] ) ;\n sh:severity sh:Warning ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#RadiantHeater": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b823", - "nd65da433b8c64822b829e7f0030fcda9b825", - "http://data.ashrae.org/standard223#RadiantHeaterInletShape" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b51" - ], - "label": "Radiant heater", - "stable_id": "ns3:RadiantHeater", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b51": "Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.", - "nd65da433b8c64822b829e7f0030fcda9b823": "A radiant heater must hasRole Role-Heating.", - "nd65da433b8c64822b829e7f0030fcda9b825": "A RadiantHeater shall have at least one outlet connection point using the medium Infrared.", - "http://data.ashrae.org/standard223#RadiantHeaterInletShape": "A radiant heater shall have exactly one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b51": "b--9193754548666424738", - "nd65da433b8c64822b829e7f0030fcda9b823": "b--7270743454632178853", - "nd65da433b8c64822b829e7f0030fcda9b825": "b--8855106083611524308", - "http://data.ashrae.org/standard223#RadiantHeaterInletShape": "ns3:RadiantHeaterInletShape" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Radiant heater\" ;\n rdfs:comment \"\"\"A heating or cooling surface that delivers 50% or more of its heat transfer by radiation.\n A RadiantHeater must:\n- Have the role Role-Heating.\n- Have at least one outlet connection point using the medium Light-Infrared.\n- Conform to exactly one of the following patterns:\n **Pattern 1:**\n - Exactly one inlet connection point using the medium Constituent-Electricity or Fluid-NaturalGas.\n **Pattern 2:**\n - Exactly one inlet connection point using the medium Fluid-Water.\n - Exactly one outlet connection point using the medium Fluid-Water.\n \"\"\" ;\n rdfs:subClassOf ;\n sh:message \"s223: A RadiantHeater must conform to exactly one of the two patterns: Pattern 1: Exactly one inlet using the medium Constituent-Electricity or Fluid-NaturalGas. Pattern 2: Exactly one inlet and one outlet using the medium Fluid-Water.\" ;\n sh:property [ rdfs:comment \"A radiant heater must hasRole Role-Heating.\" ;\n sh:message \"s223: A radiant heater must hasRole Role-Heating.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ],\n [ rdfs:comment \"A RadiantHeater shall have at least one outlet connection point using the medium Infrared.\" ;\n sh:message \"s223: A RadiantHeater shall have at least one outlet connection point using the medium Infrared.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b51": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b823": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A radiant heater must hasRole Role-Heating.\" ;\n sh:message \"s223: A radiant heater must hasRole Role-Heating.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b825": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A RadiantHeater shall have at least one outlet connection point using the medium Infrared.\" ;\n sh:message \"s223: A RadiantHeater shall have at least one outlet connection point using the medium Infrared.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "http://data.ashrae.org/standard223#RadiantHeaterInletShape": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Radiant heater inlet shape\" ;\n rdfs:comment \"A radiant heater shall have exactly one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:message \"s223: A radiant heater shall have exactly one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:severity sh:Warning ;\n sh:targetClass ;\n sh:xone ( [ sh:property [ rdfs:comment \"A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ] ] ] ] ] [ sh:property [ rdfs:comment \"A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ] ) .\n\n" - } - }, - "http://data.ashrae.org/standard223#Radiator": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b829", - "nd65da433b8c64822b829e7f0030fcda9b833", - "http://data.ashrae.org/standard223#RadiatorInletShape" - ], - "complex_constraints": [], - "rules": [ - "nd65da433b8c64822b829e7f0030fcda9b51" - ], - "label": "Radiator", - "stable_id": "ns3:Radiator", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b829": "A Radiator shall have at least one bidirectional connection point using the medium Air.", - "nd65da433b8c64822b829e7f0030fcda9b833": "Radiators must have the role Role-Heating.", - "nd65da433b8c64822b829e7f0030fcda9b51": "Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.", - "http://data.ashrae.org/standard223#RadiatorInletShape": "A Radiator shall have at least one inlet using the medium Electricity or inlet and outlet of Water." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b829": "b-3662874634464046065", - "nd65da433b8c64822b829e7f0030fcda9b833": "b-3740894189131438419", - "nd65da433b8c64822b829e7f0030fcda9b51": "b--9193754548666424738", - "http://data.ashrae.org/standard223#RadiatorInletShape": "ns3:RadiatorInletShape" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Radiator\" ;\n rdfs:comment \"\"\"A radiator provides primarily convective heating to a room using electricity, steam or water \n (e.g., electric baseboard heaters, heated floors, or traditional radiators).\"\"\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Radiator shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:message \"s223: A Radiator shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"Radiators must have the role Role-Heating.\" ;\n sh:message \"s223: Radiators must have the role Role-Heating.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b829": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Radiator shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:message \"s223: A Radiator shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b833": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Radiators must have the role Role-Heating.\" ;\n sh:message \"s223: Radiators must have the role Role-Heating.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b51": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "http://data.ashrae.org/standard223#RadiatorInletShape": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Radiator\" ;\n rdfs:comment \"A Radiator shall have at least one inlet using the medium Electricity or inlet and outlet of Water.\" ;\n sh:message \"s223: A Radiator shall have at least one inlet using the medium Electricity or inlet and outlet of Water.\" ;\n sh:severity sh:Warning ;\n sh:targetClass ;\n sh:xone ( [ sh:property [ rdfs:comment \"A Radiator shall have at least one inlet using the medium Electricity or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ] [ sh:property [ rdfs:comment \"A Radiator shall have at least one inlet using the medium Electricity or Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A Radiator shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ] ) .\n\n" - } - }, - "http://data.ashrae.org/standard223#SolarThermalCollector": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b443", - "nd65da433b8c64822b829e7f0030fcda9b439" - ], - "complex_constraints": [], - "rules": [], - "label": "Solar thermal collector", - "stable_id": "ns3:SolarThermalCollector", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b443": "A SolarThermalCollector shall have at least one outlet using the medium Water.", - "nd65da433b8c64822b829e7f0030fcda9b439": "A SolarThermalCollector shall have at least one inlet using the medium EM-Light." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b443": "b--8480241038266866127", - "nd65da433b8c64822b829e7f0030fcda9b439": "b-4470443097948296133" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Solar thermal collector\" ;\n rdfs:comment \"A device that converts sunlight into thermal energy.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A SolarThermalCollector shall have at least one inlet using the medium EM-Light.\" ;\n sh:message \"s223: A SolarThermalCollector shall have at least one inlet using the medium EM-Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A SolarThermalCollector shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A SolarThermalCollector shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b443": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A SolarThermalCollector shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A SolarThermalCollector shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b439": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A SolarThermalCollector shall have at least one inlet using the medium EM-Light.\" ;\n sh:message \"s223: A SolarThermalCollector shall have at least one inlet using the medium EM-Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#TerminalUnit": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b928", - "nd65da433b8c64822b829e7f0030fcda9b932" - ], - "complex_constraints": [], - "rules": [], - "label": "Terminal Unit", - "stable_id": "ns3:TerminalUnit", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b928": "A TerminalUnit shall have at least one inlet ConnectionPoint using the medium Air.", - "nd65da433b8c64822b829e7f0030fcda9b932": "A TerminalUnit shall have at least one outlet ConnectionPoint using the medium Air." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b928": "b-6608341412505158064", - "nd65da433b8c64822b829e7f0030fcda9b932": "b-9009832538114050291" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Terminal Unit\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"An air terminal that modulates the volume of air delivered to a space.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A TerminalUnit shall have at least one inlet ConnectionPoint using the medium Air.\" ;\n sh:message \"s223: A TerminalUnit shall have at least one inlet ConnectionPoint using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A TerminalUnit shall have at least one outlet ConnectionPoint using the medium Air.\" ;\n sh:message \"s223: A TerminalUnit shall have at least one outlet ConnectionPoint using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b928": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A TerminalUnit shall have at least one inlet ConnectionPoint using the medium Air.\" ;\n sh:message \"s223: A TerminalUnit shall have at least one inlet ConnectionPoint using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b932": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A TerminalUnit shall have at least one outlet ConnectionPoint using the medium Air.\" ;\n sh:message \"s223: A TerminalUnit shall have at least one outlet ConnectionPoint using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#DualDuctTerminal": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b261" - ], - "complex_constraints": [], - "rules": [], - "label": "Dual duct air terminal.", - "stable_id": "ns3:DualDuctTerminal", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b261": "A DualDuctTerminal shall have at least two inlets using the medium Air." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b261": "b-1738769397012659265" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Dual duct air terminal.\" ;\n rdfs:comment \"A dual duct air terminal mixes two independent sources of primary air.\" ;\n rdfs:seeAlso ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A DualDuctTerminal shall have at least two inlets using the medium Air.\" ;\n sh:message \"s223: A DualDuctTerminal shall have at least two inlets using the medium Air.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b261": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A DualDuctTerminal shall have at least two inlets using the medium Air.\" ;\n sh:message \"s223: A DualDuctTerminal shall have at least two inlets using the medium Air.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#FanPoweredTerminal": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b305" - ], - "complex_constraints": [], - "rules": [], - "label": "Fan Powered Air Terminal", - "stable_id": "ns3:FanPoweredTerminal", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b305": "A FanPoweredTerminal must be associated with at least one Fan by using the relation contains." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b305": "b--3931251549988540419" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Fan Powered Air Terminal\" ;\n rdfs:comment \"An air terminal containing a fan. Airflow may pass through or be parallel to the fan. These units may also have supplemental heating or cooling.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A FanPoweredTerminal must be associated with at least one Fan by using the relation contains.\" ;\n sh:message \"s223: A FanPoweredTerminal must be associated with at least one Fan by using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b305": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanPoweredTerminal must be associated with at least one Fan by using the relation contains.\" ;\n sh:message \"s223: A FanPoweredTerminal must be associated with at least one Fan by using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#SingleDuctTerminal": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b437" - ], - "complex_constraints": [], - "rules": [], - "label": "Single Duct Terminal.", - "stable_id": "ns3:SingleDuctTerminal", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b437": "A SingleDuctTerminal must be associated with at least one Damper using the relation contains." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b437": "b--4005634928989984292" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Single Duct Terminal.\" ;\n rdfs:comment \"An air-terminal unit assembly having one ducted air inlet and a damper for regulating the airflow rate.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A SingleDuctTerminal must be associated with at least one Damper using the relation contains.\" ;\n sh:message \"s223: A SingleDuctTerminal must be associated with at least one Damper using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b437": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A SingleDuctTerminal must be associated with at least one Damper using the relation contains.\" ;\n sh:message \"s223: A SingleDuctTerminal must be associated with at least one Damper using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#ThermalEnergyStorageUnit": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b451" - ], - "complex_constraints": [], - "rules": [], - "label": "A Thermal Energy Storage System", - "stable_id": "ns3:ThermalEnergyStorageUnit", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b451": "A Thermal Energy Storage Unit must have at least two connection points." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b451": "b--8791266105453098119" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"A Thermal Energy Storage System\" ;\n rdfs:comment \"A device that stores thermal energy.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Thermal Energy Storage Unit must have at least two connection points.\" ;\n sh:class ;\n sh:message \"s223: A Thermal Energy Storage Unit must have at least two connection points.\" ;\n sh:minCount 2 ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b451": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Thermal Energy Storage Unit must have at least two connection points.\" ;\n sh:class ;\n sh:message \"s223: A Thermal Energy Storage Unit must have at least two connection points.\" ;\n sh:minCount 2 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#Thermostat": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Thermostat", - "stable_id": "ns3:Thermostat", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Thermostat\" ;\n rdfs:comment \"An automatic control device used to maintain temperature at a fixed or adjustable setpoint.\" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#Turbine": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b454", - "nd65da433b8c64822b829e7f0030fcda9b453" - ], - "complex_constraints": [], - "rules": [], - "label": "Turbine", - "stable_id": "ns3:Turbine", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b454": "A Turbine shall have at least one outlet using the medium Electricity.", - "nd65da433b8c64822b829e7f0030fcda9b453": "A Turbine must be associated with at least one ConnectionPoint using the relation hasConnectionPoint." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b454": "b-5067214465715913901", - "nd65da433b8c64822b829e7f0030fcda9b453": "b--4535848938494678650" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Turbine\" ;\n rdfs:comment \"An energy transducer that converts mechanical energy into electric energy.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Turbine must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:message \"s223: A Turbine must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:minCount 1 ;\n sh:path ],\n [ rdfs:comment \"A Turbine shall have at least one outlet using the medium Electricity.\" ;\n sh:class ;\n sh:message \"s223: A Turbine shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b454": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Turbine shall have at least one outlet using the medium Electricity.\" ;\n sh:class ;\n sh:message \"s223: A Turbine shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b453": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Turbine must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:message \"s223: A Turbine must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#Valve": { - "simple_constraints": [ - "http://data.ashrae.org/standard223#ValveCPShape" - ], - "complex_constraints": [], - "rules": [], - "label": "Valve", - "stable_id": "ns3:Valve", - "labels": { - "http://data.ashrae.org/standard223#ValveCPShape": "A Valve shall have at least one inlet and one outlet or two bidirectional connection points." - }, - "stable_ids": { - "http://data.ashrae.org/standard223#ValveCPShape": "ns3:ValveCPShape" - }, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Valve\" ;\n ns1:subclauses ( ) ;\n rdfs:comment \"A device to regulate or stop the flow of fluid in a pipe or a duct by throttling.\" ;\n rdfs:subClassOf .\n\n", - "cbds": { - "http://data.ashrae.org/standard223#ValveCPShape": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Valve\" ;\n rdfs:comment \"A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:message \"s223: A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ],\n [ rdfs:comment \"A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ] ] [ sh:property [ rdfs:comment \"A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ] ] ) ;\n sh:severity sh:Warning ;\n sh:targetClass .\n\n" - } - }, - "http://data.ashrae.org/standard223#ThreeWayValve": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b452" - ], - "complex_constraints": [], - "rules": [], - "label": "Three way valve", - "stable_id": "ns3:ThreeWayValve", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b452": "A ThreeWayValve must have at least three ConnectionPoints using the relation hasConnectionPoint." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b452": "b--327121902104586336" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Three way valve\" ;\n rdfs:comment \"A Valve that can divert a fluid in one of three directions.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A ThreeWayValve must have at least three ConnectionPoints using the relation hasConnectionPoint.\" ;\n sh:message \"s223: A ThreeWayValve must have at least three ConnectionPoints using the relation hasConnectionPoint.\" ;\n sh:minCount 3 ;\n sh:path ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b452": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ThreeWayValve must have at least three ConnectionPoints using the relation hasConnectionPoint.\" ;\n sh:message \"s223: A ThreeWayValve must have at least three ConnectionPoints using the relation hasConnectionPoint.\" ;\n sh:minCount 3 ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#TwoWayValve": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b459", - "nd65da433b8c64822b829e7f0030fcda9b457" - ], - "complex_constraints": [], - "rules": [], - "label": "Two way valve", - "stable_id": "ns3:TwoWayValve", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b459": "A TwoWayValve shall have at least one outlet.", - "nd65da433b8c64822b829e7f0030fcda9b457": "A TwoWayValve shall have at least one inlet." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b459": "b--4956510155844777431", - "nd65da433b8c64822b829e7f0030fcda9b457": "b--3073427355163767834" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Two way valve\" ;\n rdfs:comment \"A Valve that can divert a fluid in one of two directions.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A TwoWayValve shall have at least one inlet.\" ;\n sh:message \"s223: A TwoWayValve shall have at least one inlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ],\n [ rdfs:comment \"A TwoWayValve shall have at least one outlet.\" ;\n sh:message \"s223: A TwoWayValve shall have at least one outlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b459": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A TwoWayValve shall have at least one outlet.\" ;\n sh:message \"s223: A TwoWayValve shall have at least one outlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b457": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A TwoWayValve shall have at least one inlet.\" ;\n sh:message \"s223: A TwoWayValve shall have at least one inlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#VariableFrequencyDrive": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b461", - "nd65da433b8c64822b829e7f0030fcda9b462", - "nd65da433b8c64822b829e7f0030fcda9b466" - ], - "complex_constraints": [], - "rules": [], - "label": "VariableFrequencyDrive", - "stable_id": "ns3:VariableFrequencyDrive", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b461": "If the relation connectedTo is present it must associate the VariableFrequencyDrive with a Equipment.", - "nd65da433b8c64822b829e7f0030fcda9b462": "A VariableFrequencyDrive shall have at least one outlet using the medium Electricity.", - "nd65da433b8c64822b829e7f0030fcda9b466": "A VariableFrequencyDrive shall have at least one inlet using the medium Electricity." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b461": "b-3804280212797000800", - "nd65da433b8c64822b829e7f0030fcda9b462": "b-1063081336169333705", - "nd65da433b8c64822b829e7f0030fcda9b466": "b--4550206442849905572" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"VariableFrequencyDrive\" ;\n rdfs:comment \"An electronic device that varies its output frequency to vary the rotating speed of a motor, given a fixed input frequency. Used with fans or pumps to vary the flow in the system as a function of a maintained pressure.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"If the relation connectedTo is present it must associate the VariableFrequencyDrive with a Equipment.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectedTo is present it must associate the VariableFrequencyDrive with a Equipment.\" ;\n sh:path ],\n [ rdfs:comment \"A VariableFrequencyDrive shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: A VariableFrequencyDrive shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A VariableFrequencyDrive shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A VariableFrequencyDrive shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:severity sh:Warning ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b461": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectedTo is present it must associate the VariableFrequencyDrive with a Equipment.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectedTo is present it must associate the VariableFrequencyDrive with a Equipment.\" ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b462": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A VariableFrequencyDrive shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: A VariableFrequencyDrive shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b466": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A VariableFrequencyDrive shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A VariableFrequencyDrive shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:severity sh:Warning .\n\n" - } - }, - "http://data.ashrae.org/standard223#Window": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b477", - "nd65da433b8c64822b829e7f0030fcda9b473" - ], - "complex_constraints": [], - "rules": [], - "label": "Window", - "stable_id": "ns3:Window", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b477": "A Window shall have at least one outlet using the medium Light.", - "nd65da433b8c64822b829e7f0030fcda9b473": "A Window shall have at least one inlet using the medium Light." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b477": "b-7136284089091529313", - "nd65da433b8c64822b829e7f0030fcda9b473": "b--3428856133069607363" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Window\" ;\n rdfs:comment \"A daylight opening on a vertical or nearly vertical area of a room envelope.\" ;\n rdfs:subClassOf ;\n sh:property [ rdfs:comment \"A Window shall have at least one inlet using the medium Light.\" ;\n sh:message \"s223: A Window shall have at least one inlet using the medium Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A Window shall have at least one outlet using the medium Light.\" ;\n sh:message \"s223: A Window shall have at least one outlet using the medium Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b477": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Window shall have at least one outlet using the medium Light.\" ;\n sh:message \"s223: A Window shall have at least one outlet using the medium Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b473": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Window shall have at least one inlet using the medium Light.\" ;\n sh:message \"s223: A Window shall have at least one inlet using the medium Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "http://data.ashrae.org/standard223#WindowShade": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "Window shade", - "stable_id": "ns3:WindowShade", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a ,\n sh:NodeShape ;\n rdfs:label \"Window shade\" ;\n rdfs:comment \"A window covering that can be moved to block out or allow in light. \" ;\n rdfs:subClassOf .\n\n", - "cbds": {} - }, - "pub:AnnexA": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:AnnexA", - "stable_id": "ns4:AnnexA", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdfs: .\n\n ns1:title \"RDF REPRESENTATION OF THIS STANDARD (NORMATIVE)\" ;\n rdfs:comment \"\"\"This text of this standard was generated from and RDF Model. An electronic repository containing a normative Turtle representation of the can be found at (URL needed). A user may wish to use electronic tools to browse and study the details of the standard, use the equipment types defined in the standard to build a building-specific information model, apply the SHACL constraints to test a building specific model for conformance to the standard, or other uses.\n\n\"\"\" .\n\n", - "cbds": {} - }, - "pub:AnnexB": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns4:AnnexB", - "stable_id": "ns4:AnnexB", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\n ns1:subclauses ( ns1:VAV_4-1 ns1:VAV_4-2 ns1:FPTU_4-3 ns1:DDTU_4-4 ns1:DDTU_4-5 ns1:MZ-VAV-AHU_4-6 ns1:DD-AHU_4-7 ns1:SZ-VAV-AHU_4-8 ns1:g36components ) ;\n ns1:title \"INFORMATIVE ANNEX: G36 EXTENSION\" ;\n rdfs:comment \"\"\"This extension uses the concepts defined in the 223 standard to model the ASHRAE Guideline 36 air-side equipment (ASHRAE, 2018),\nincluding classes representing the point lists in Section 4 and example model snippets of the control diagrams shown in Appendix A. \nThe classes represent the point lists in Section 4 using validation rules that can ensure that a model has the metadata necessary to support Guideline 36 sequences.\nThese classes can be used to create models of Guideline 36 compliant stystems or validate existing models.\nAdditionally, this section includes example model snippets of the control diagrams shown in Informative Appendix A of Guideline 36. (Will that be here?)\nThese example models serve as references for use of the standard and this extension.\n\n\"\"\" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#VAV_4-1": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:VAV_4-1", - "stable_id": "ns2:VAV_4-1", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:VAV_4-1 ns1:subclauses ( ) ;\n ns1:title \"VAV Terminal Unit - Cooling Only\" ;\n rdfs:comment \"This section describes the classes and example model of the VAV Terminal Unit - Cooling Only described in Section 4.1 and Appendix A, Figure A-1 (cite)\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#VAVTerminalCoolingOnly": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:VAVTerminalCoolingOnly", - "stable_id": "ns6:VAVTerminalCoolingOnly", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#VAVTerminalCoolingOnlyAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:VAVTerminalCoolingOnlyAnnotation", - "stable_id": "ns6:VAVTerminalCoolingOnlyAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://sample.org/doc#VAV_4-2": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:VAV_4-2", - "stable_id": "ns2:VAV_4-2", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:VAV_4-2 ns1:subclauses ( ) ;\n ns1:title \"VAV Terminal Unit with Reheat\" ;\n rdfs:comment \"This section describes the classes and example model of the VAV Terminal Unit with Reheat described in Section 4.2 and Appendix A, Figure A-2 (cite)\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#VAVTerminalWithReheat": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:VAVTerminalWithReheat", - "stable_id": "ns6:VAVTerminalWithReheat", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#VAVTerminalWithReheatAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:VAVTerminalWithReheatAnnotation", - "stable_id": "ns6:VAVTerminalWithReheatAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://sample.org/doc#FPTU_4-3": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:FPTU_4-3", - "stable_id": "ns2:FPTU_4-3", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:FPTU_4-3 ns1:subclass ( ) ;\n ns1:title \"Fan Powered Terminal Unit\" ;\n rdfs:comment \"This section describes the classes and example model of the Fan Powered Terminal Unit (Series or Parallel, Constant or Variable Speed Fan) described in Section 4.3 and Appendix A, Figures A-3 and A-4 (cite)\" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#DDTU_4-4": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:DDTU_4-4", - "stable_id": "ns2:DDTU_4-4", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:DDTU_4-4 ns1:subclass ( ) ;\n ns1:title \"Dual Duct Terminal Unit with Inlet Sensors\" ;\n rdfs:comment \"This section describes the classes and example model of the Dual Duct Terminal Unit with Inlet Sensors described in Section 4.4 and Appendix A, Figure A-7(cite)\" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#DDTU_4-5": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:DDTU_4-5", - "stable_id": "ns2:DDTU_4-5", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:DDTU_4-5 ns1:subclass ( ) ;\n ns1:title \"Dual Duct Terminal Unit with Discharge Sensor\" ;\n rdfs:comment \"This section describes the classes and example model of the Dual Duct Terminal Unit with Discharge Sensor described in Section 4.5 and Appendix A, Figure A-8(cite)\" .\n\n", - "cbds": {} - }, - "http://sample.org/doc#MZ-VAV-AHU_4-6": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:MZ-VAV-AHU_4-6", - "stable_id": "ns2:MZ-VAV-AHU_4-6", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:MZ-VAV-AHU_4-6 ns1:subclauses ( ) ;\n ns1:title \"Multiple Zone VAV Air Handling Unit\" ;\n rdfs:comment \"This section describes the classes and example model of the Multiple Zone VAV Air Handling Unit described in Section 4.6 and Appendix A, Figures A-9 and A-10 (cite)\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:MultipleZoneVAVAirHandlingUnit", - "stable_id": "ns6:MultipleZoneVAVAirHandlingUnit", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnitAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:MultipleZoneVAVAirHandlingUnitAnnotation", - "stable_id": "ns6:MultipleZoneVAVAirHandlingUnitAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-CommonDamper": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:MultipleZoneVAVAirHandlingUnit-CommonDamper", - "stable_id": "ns6:MultipleZoneVAVAirHandlingUnit-CommonDamper", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-CommonDamperAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:MultipleZoneVAVAirHandlingUnit-CommonDamperAnnotation", - "stable_id": "ns6:MultipleZoneVAVAirHandlingUnit-CommonDamperAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-OADandDP": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:MultipleZoneVAVAirHandlingUnit-OADandDP", - "stable_id": "ns6:MultipleZoneVAVAirHandlingUnit-OADandDP", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-OADandDPAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:MultipleZoneVAVAirHandlingUnit-OADandDPAnnotation", - "stable_id": "ns6:MultipleZoneVAVAirHandlingUnit-OADandDPAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-OADandAFMS": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:MultipleZoneVAVAirHandlingUnit-OADandAFMS", - "stable_id": "ns6:MultipleZoneVAVAirHandlingUnit-OADandAFMS", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-OADandAFMSAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:MultipleZoneVAVAirHandlingUnit-OADandAFMSAnnotation", - "stable_id": "ns6:MultipleZoneVAVAirHandlingUnit-OADandAFMSAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-WithReliefDamper": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:MultipleZoneVAVAirHandlingUnit-WithReliefDamper", - "stable_id": "ns6:MultipleZoneVAVAirHandlingUnit-WithReliefDamper", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-WithReliefDamperAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:MultipleZoneVAVAirHandlingUnit-WithReliefDamperAnnotation", - "stable_id": "ns6:MultipleZoneVAVAirHandlingUnit-WithReliefDamperAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://sample.org/doc#DD-AHU_4-7": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:DD-AHU_4-7", - "stable_id": "ns2:DD-AHU_4-7", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:DD-AHU_4-7 ns1:subclauses ( ) ;\n ns1:title \"Dual Fan Dual Duct Air Handling Unit\" ;\n rdfs:comment \"This section describes the classes and example model of the Dual Fan Dual Duct Air Handling Unit described in Section 4.7 and Appendix A, Figure A-11 (cite)\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#DualFanDualDuctAirHandlingUnit": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:DualFanDualDuctAirHandlingUnit", - "stable_id": "ns6:DualFanDualDuctAirHandlingUnit", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#DualFanDualDuctAirHandlingUnitAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:DualFanDualDuctAirHandlingUnitAnnotation", - "stable_id": "ns6:DualFanDualDuctAirHandlingUnitAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://sample.org/doc#SZ-VAV-AHU_4-8": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:SZ-VAV-AHU_4-8", - "stable_id": "ns2:SZ-VAV-AHU_4-8", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:SZ-VAV-AHU_4-8 ns1:subclauses ( ) ;\n ns1:title \"Single Zone VAV Air Handling Unit\" ;\n rdfs:comment \"This section describes the classes and example model of the Single Zone VAV Air Handling Unit described in Section 4.8 and Appendix A, Figure A-12 (cite)\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:SingleZoneVAVAirHandlingUnit", - "stable_id": "ns6:SingleZoneVAVAirHandlingUnit", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnitAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:SingleZoneVAVAirHandlingUnitAnnotation", - "stable_id": "ns6:SingleZoneVAVAirHandlingUnitAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit-NoReliefFan": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:SingleZoneVAVAirHandlingUnit-NoReliefFan", - "stable_id": "ns6:SingleZoneVAVAirHandlingUnit-NoReliefFan", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit-NoReliefFanAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:SingleZoneVAVAirHandlingUnit-NoReliefFanAnnotation", - "stable_id": "ns6:SingleZoneVAVAirHandlingUnit-NoReliefFanAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit-WithReliefFan": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:SingleZoneVAVAirHandlingUnit-WithReliefFan", - "stable_id": "ns6:SingleZoneVAVAirHandlingUnit-WithReliefFan", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit-WithReliefFanAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:SingleZoneVAVAirHandlingUnit-WithReliefFanAnnotation", - "stable_id": "ns6:SingleZoneVAVAirHandlingUnit-WithReliefFanAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit-WithReturnFan": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:SingleZoneVAVAirHandlingUnit-WithReturnFan", - "stable_id": "ns6:SingleZoneVAVAirHandlingUnit-WithReturnFan", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit-WithReturnFanAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:SingleZoneVAVAirHandlingUnit-WithReturnFanAnnotation", - "stable_id": "ns6:SingleZoneVAVAirHandlingUnit-WithReturnFanAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://sample.org/doc#g36components": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns2:g36components", - "stable_id": "ns2:g36components", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix ns1: .\n@prefix rdf: .\n@prefix rdfs: .\n\nns1:g36components ns1:subclauses ( ) ;\n ns1:title \"Model Components\" ;\n rdfs:comment \"This section describes the classes representing common components used in each of the Guildine 36 example models and classes.\" .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#Damper": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:Damper", - "stable_id": "ns6:Damper", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#DamperAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:DamperAnnotation", - "stable_id": "ns6:DamperAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#TwoPositionDamper": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:TwoPositionDamper", - "stable_id": "ns6:TwoPositionDamper", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#TwoPositionDamperAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:TwoPositionDamperAnnotation", - "stable_id": "ns6:TwoPositionDamperAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#HotWaterCoil": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:HotWaterCoil", - "stable_id": "ns6:HotWaterCoil", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#HotWaterCoilAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:HotWaterCoilAnnotation", - "stable_id": "ns6:HotWaterCoilAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#ElectricHeatingCoil": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:ElectricHeatingCoil", - "stable_id": "ns6:ElectricHeatingCoil", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#ElectricHeatingCoilAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:ElectricHeatingCoilAnnotation", - "stable_id": "ns6:ElectricHeatingCoilAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#HotWaterValve": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:HotWaterValve", - "stable_id": "ns6:HotWaterValve", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#HotWaterValveAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:HotWaterValveAnnotation", - "stable_id": "ns6:HotWaterValveAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#ChilledWaterCoil": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:ChilledWaterCoil", - "stable_id": "ns6:ChilledWaterCoil", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#ChilledWaterCoilAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:ChilledWaterCoilAnnotation", - "stable_id": "ns6:ChilledWaterCoilAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#ChilledWaterValve": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:ChilledWaterValve", - "stable_id": "ns6:ChilledWaterValve", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#ChilledWaterValveAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:ChilledWaterValveAnnotation", - "stable_id": "ns6:ChilledWaterValveAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#Zone": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:Zone", - "stable_id": "ns6:Zone", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#ZoneAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:ZoneAnnotation", - "stable_id": "ns6:ZoneAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#ZoneGroup": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:ZoneGroup", - "stable_id": "ns6:ZoneGroup", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#ZoneGroupAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:ZoneGroupAnnotation", - "stable_id": "ns6:ZoneGroupAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#Fan": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:Fan", - "stable_id": "ns6:Fan", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#FanAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:FanAnnotation", - "stable_id": "ns6:FanAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#FanWithVFD": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:FanWithVFD", - "stable_id": "ns6:FanWithVFD", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223/1.0/extensions/g36#FanWithVFDAnnotation": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "ns6:FanWithVFDAnnotation", - "stable_id": "ns6:FanWithVFDAnnotation", - "labels": {}, - "stable_ids": {}, - "cbd": "\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b106": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b106", - "stable_id": "b--6626119072019214462", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Every class of the 223 standard must have an rdfs:comment. \" ;\n sh:message \"s223: Class {$this} must have an rdfs:comment.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\nFILTER NOT EXISTS {$this rdfs:comment ?comment} .\n}\n\"\"\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b102": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b102", - "stable_id": "b-9067236580933492723", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that every SPARQLRule must have an rdfs:comment. \" ;\n sh:message \"s223: Every SPARQLRule for Class {$this} must have an rdfs:comment.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this sh:rule ?rule .\n?rule a sh:SPARQLRule .\nFILTER NOT EXISTS {?rule rdfs:comment ?comment} .\n}\n\"\"\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b103": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b103", - "stable_id": "b-8519713575980600676", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that every TripleRule must have an rdfs:comment. \" ;\n sh:message \"s223: The TripleRule inferring {?pred} for Class {$this} must have an rdfs:comment.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?pred\nWHERE {\n$this sh:rule ?rule .\n?rule a sh:TripleRule .\n?rule sh:predicate ?pred .\nFILTER NOT EXISTS {?rule rdfs:comment ?comment} .\n}\n\"\"\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b100": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b100", - "stable_id": "b-7800559531657987285", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that any property shape must have an rdfs:comment. \" ;\n sh:message \"s223: The SPARQLConstraint for path {?path} for Class {$this} must have an rdfs:comment.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?path\nWHERE {\n$this sh:property ?propshape .\n?propshape sh:sparql ?sparqlconstraint .\n?propshape sh:path ?path .\nFILTER NOT EXISTS {?sparqlconstraint rdfs:comment ?comment} .\n}\n\"\"\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b104": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b104", - "stable_id": "b--3414248052883767849", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Every class of the 223 standard must also be an instance of sh:NodeShape. \" ;\n sh:message \"s223: Class {$this} must be declared as an instance of sh:NodeShape.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\nFILTER NOT EXISTS {$this a sh:NodeShape} .\n}\n\"\"\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b105": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b105", - "stable_id": "b--4102954108230351016", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Every class of the 223 standard must be a direct or indirect subclass of s223:Concept. \" ;\n sh:message \"s223: Class {$this} must be within the rdfs:subClassOf hierarchy under s223:Concept.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\nFILTER NOT EXISTS {$this rdfs:subClassOf* rdf:Property} .\nFILTER NOT EXISTS {$this rdfs:subClassOf* s223:Concept} .\n}\n\"\"\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b101": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b101", - "stable_id": "b-7242885338847243582", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that any property shape must have an rdfs:comment. \" ;\n sh:message \"s223: The property shape with path {?path} for Class {$this} must have an rdfs:comment.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?path\nWHERE {\n$this sh:property ?propshape .\n?propshape sh:path ?path .\nFILTER NOT EXISTS {?propshape rdfs:comment ?comment} .\n}\n\"\"\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1086": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1087" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1086", - "stable_id": "b-6003229687209733185", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1087": "Incompatible Medium. Case 1: Two pure mediums." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1087": "b--4037704893769628550" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case1: An entity with a pure medium and an associated property with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1087": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1096": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1097" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1096", - "stable_id": "b-259130242154261325", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1097": "Incompatible Medium. Case 4: A medium with constituents and an associated property with constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1097": "b--2186078836653045195" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case4: An entity with constituents and an associated property with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: A medium with constituents and an associated property with constituents.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1097": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: A medium with constituents and an associated property with constituents.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1094": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1094", - "stable_id": "b-9215216286266358606", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasProperty is present, it must associate the concept with a Property.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasProperty is present, it must associate the concept with a Property.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1088": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1089" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1088", - "stable_id": "b--6193993995085456652", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1089": "Incompatible Medium. Case 3: A medium with constituents and an associated property with a pure medium." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1089": "b-5501077726143739914" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case3: An entity with constituents and an associated property with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: A medium with constituents and an associated property with a pure medium.\" ;\n sh:message \"s223: {$this} hasMedium of {?m2}, but is associated with property {?prop} that has ofMedium of {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m2 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1089": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: A medium with constituents and an associated property with a pure medium.\" ;\n sh:message \"s223: {$this} hasMedium of {?m2}, but is associated with property {?prop} that has ofMedium of {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m2 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1090": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1091" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1090", - "stable_id": "b-7226848631737446678", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1091": "Ensure that any instance that is declared to be an instance of an abstract class must also be declared an instance of at least one subClass of that abstract class" - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1091": "b-5446193880266703423" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Ensure that any instance that is declared to be an instance of an abstract class must also be declared an instance of at least one subClass of that abstract class.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that any instance that is declared to be an instance of an abstract class must also be declared an instance of at least one subClass of that abstract class\" ;\n sh:message \"s223: {$this} cannot be declared an instance of only abstract class {?class}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?class\nWHERE {\n?class s223:abstract true .\n$this a ?class .\nOPTIONAL {\n?otherClass rdfs:subClassOf+ ?class .\n$this a ?otherClass .\nFILTER (?class != ?otherClass) .\n}\nFILTER (!bound (?otherClass)) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1091": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that any instance that is declared to be an instance of an abstract class must also be declared an instance of at least one subClass of that abstract class\" ;\n sh:message \"s223: {$this} cannot be declared an instance of only abstract class {?class}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?class\nWHERE {\n?class s223:abstract true .\n$this a ?class .\nOPTIONAL {\n?otherClass rdfs:subClassOf+ ?class .\n$this a ?otherClass .\nFILTER (?class != ?otherClass) .\n}\nFILTER (!bound (?otherClass)) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1095": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1095", - "stable_id": "b-8914798820871827350", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Concept must be associated with at least one label using the relation label.\" ;\n sh:message \"s223: A Concept must be associated with at least one label using the relation label.\" ;\n sh:minCount 1 ;\n sh:path rdfs:label ;\n sh:severity sh:Warning .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#ClosedWorldShape": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b21" - ], - "complex_constraints": [], - "rules": [], - "label": "Closed World Shape", - "stable_id": "ns3:ClosedWorldShape", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b21": "Ensure that all instances of an s223 class use only the properties defined for that class. Note that properties from other namespaces are not checked by this validation." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b21": "b--7771269870355469281" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a sh:NodeShape ;\n rdfs:label \"Closed World Shape\" ;\n rdfs:comment \"Ensure that all instances of an s223 class use only the properties defined for that class. Note that this only applies to s223 and QUDT properties.\" ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"\"\"Ensure that all instances of an s223 class use only the properties defined for that class. Note that\nproperties from other namespaces are not checked by this validation.\"\"\" ;\n sh:message \"s223: Predicate {?p} is not defined for instance {$this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?p ?o\nWHERE {\n$this ?p ?o .\nFILTER(STRSTARTS (str(?p), \"http://data.ashrae.org/standard223#\") || STRSTARTS (str(?p), \"http://qudt.org/schema/qudt\"))\nFILTER NOT EXISTS {$this a sh:NodeShape}\nFILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .\n\t\t\t?class sh:property/sh:path ?p .\n}\nFILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .\n?class sh:xone/rdf:rest*/rdf:first/sh:property/sh:path ?p .\n}\nFILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .\n?class sh:or/rdf:rest*/rdf:first/sh:property/sh:path ?p .\n}\n}\n\"\"\" ] ;\n sh:targetClass .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b21": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"\"\"Ensure that all instances of an s223 class use only the properties defined for that class. Note that\nproperties from other namespaces are not checked by this validation.\"\"\" ;\n sh:message \"s223: Predicate {?p} is not defined for instance {$this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?p ?o\nWHERE {\n$this ?p ?o .\nFILTER(STRSTARTS (str(?p), \"http://data.ashrae.org/standard223#\") || STRSTARTS (str(?p), \"http://qudt.org/schema/qudt\"))\nFILTER NOT EXISTS {$this a sh:NodeShape}\nFILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .\n\t\t\t?class sh:property/sh:path ?p .\n}\nFILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .\n?class sh:xone/rdf:rest*/rdf:first/sh:property/sh:path ?p .\n}\nFILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .\n?class sh:or/rdf:rest*/rdf:first/sh:property/sh:path ?p .\n}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1092": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1093" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1092", - "stable_id": "b--1060218973918938500", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1093": "Incompatible Medium. Case 2: A pure medium and an associated property with constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1093": "b-6798798490180349341" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case2: An entity with a pure medium and an associated property with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A pure medium and an associated property with constituents.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1093": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A pure medium and an associated property with constituents.\" ;\n sh:message \"s223: {$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m1 ?prop ?m2\nWHERE {\n$this s223:hasMedium ?m1 .\n$this ?p ?prop .\n?prop a/rdfs:subClassOf* s223:Property .\n?prop s223:ofMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b52": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b52", - "stable_id": "b-8412929501528402529", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Declare the inverse triples for relations that have defined inverse relations\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n?o ?invP $this .\n}\nWHERE {\n $this ?p ?o .\n ?p s223:inverseOf ?invP .\n}\n\t\t\t\"\"\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1098": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1098", - "stable_id": "b-6712782977554915690", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Add an rdfs:label if it is missing.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this rdfs:label ?newLabel .}\nWHERE {\nFILTER (NOT EXISTS {$this rdfs:label ?something}) .\nBIND(REPLACE(STR($this), \"^.*/([^/]*)$\", \"$1\") AS ?localNameWithoutHash)\nBIND(REPLACE(?localNameWithoutHash, \"^.*#(.*)$\", \"$1\") AS ?localName)\nBIND(REPLACE(?localName, \"-\", \" \", \"i\") AS ?newLabel)\n}\n\"\"\" ;\n sh:name \"AddLabelFromLocalName\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b132": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b132", - "stable_id": "b-4650241613260364886", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Declare the inverse triples for symmetric relations\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n?o ?p $this .\n}\nWHERE {\n $this ?p ?o .\n ?p a s223:SymmetricProperty .\n}\n\t\t\t\"\"\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1226": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1227" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1226", - "stable_id": "b--2036718790753359614", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1227": "Warning about a subClass of Equipment of type A containing something that is in the same subClass branch." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1227": "b-2544481410872847383" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Warning about a subClass of Equipment of type A containing something that is in the same subClass branch.\" ;\n sh:path ;\n sh:severity sh:Warning ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Warning about a subClass of Equipment of type A containing something that is in the same subClass branch.\" ;\n sh:message \"s223: {$this}, of type {?type1}, contains {?subEquip} of type {?type2}, that could result in double-counting items in the class hierarchy of {?type1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?subEquip ?type1 ?type2\nWHERE {\n FILTER NOT EXISTS {$this a s223:Equipment} .\n$this s223:contains+ ?subEquip .\n FILTER NOT EXISTS {?subEquip a s223:Equipment} .\n$this a ?type1 .\n?subEquip a ?type2 .\n{\n?type2 rdfs:subClassOf* ?type1 .\n}\nUNION\n{\n?type1 rdfs:subClassOf* ?type2 .\n}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1227": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Warning about a subClass of Equipment of type A containing something that is in the same subClass branch.\" ;\n sh:message \"s223: {$this}, of type {?type1}, contains {?subEquip} of type {?type2}, that could result in double-counting items in the class hierarchy of {?type1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?subEquip ?type1 ?type2\nWHERE {\n FILTER NOT EXISTS {$this a s223:Equipment} .\n$this s223:contains+ ?subEquip .\n FILTER NOT EXISTS {?subEquip a s223:Equipment} .\n$this a ?type1 .\n?subEquip a ?type2 .\n{\n?type2 rdfs:subClassOf* ?type1 .\n}\nUNION\n{\n?type1 rdfs:subClassOf* ?type2 .\n}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1222": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1223" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1222", - "stable_id": "b--6990033023974309885", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1223": "Disallow contained equipment from having external incoming connections." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1223": "b-51247465736622915" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Disallow contained equipment from having external incoming connections.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Disallow contained equipment from having external incoming connections.\" ;\n sh:message \"s223: {$this} should not have a connection from external equipment {?otherDev} because {?container} contains {$this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?container ?otherDev\nWHERE {\n$this s223:connectedFrom ?otherDev .\n$this ^s223:contains ?container .\n?container a/rdfs:subClassOf* s223:Equipment .\nFILTER NOT EXISTS {?container s223:contains ?otherDev .}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1223": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Disallow contained equipment from having external incoming connections.\" ;\n sh:message \"s223: {$this} should not have a connection from external equipment {?otherDev} because {?container} contains {$this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?container ?otherDev\nWHERE {\n$this s223:connectedFrom ?otherDev .\n$this ^s223:contains ?container .\n?container a/rdfs:subClassOf* s223:Equipment .\nFILTER NOT EXISTS {?container s223:contains ?otherDev .}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1224": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1225" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1224", - "stable_id": "b--5990483839120139770", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1225": "Disallow contained equipment from having external outgoing connections." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1225": "b-7006592651076939145" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Disallow contained equipment from having external outgoing connections.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Disallow contained equipment from having external outgoing connections.\" ;\n sh:message \"s223: {$this} should not have a connection to external equipment {?otherDev} because {?container} contains {$this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?container ?otherDev\nWHERE {\n$this s223:connectedTo ?otherDev .\n$this ^s223:contains ?container .\n?container a/rdfs:subClassOf* s223:Equipment .\nFILTER NOT EXISTS {?container s223:contains ?otherDev .}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1225": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Disallow contained equipment from having external outgoing connections.\" ;\n sh:message \"s223: {$this} should not have a connection to external equipment {?otherDev} because {?container} contains {$this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?container ?otherDev\nWHERE {\n$this s223:connectedTo ?otherDev .\n$this ^s223:contains ?container .\n?container a/rdfs:subClassOf* s223:Equipment .\nFILTER NOT EXISTS {?container s223:contains ?otherDev .}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1231": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1231", - "stable_id": "b-4044096279796676092", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"\"\"If the relation actuatedByProperty is present it must associate the Equipment with a ActuatableProperty.\nNote that any Equipment may use this relation, not just Actuator.\"\"\" ;\n sh:class ;\n sh:message \"\"\"If the relation actuatedByProperty is present it must associate the Equipment with a ActuatableProperty.\nNote that any Equipment may use this relation, not just Actuator.\"\"\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1232": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1232", - "stable_id": "b-8414079029119841745", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation contains is present it must associate the Equipment with either Equipment or Junction.\" ;\n sh:message \"s223: If the relation contains is present it must associate the Equipment with either Equipment or Junction.\" ;\n sh:name \"device contains shape\" ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1229": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1229", - "stable_id": "b-2324111919450694233", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation executes is present it must associate the Equipment with a Function.\" ;\n sh:class ;\n sh:message \"s223: If the relation executes is present it must associate the Equipment with a Function.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1228": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1228", - "stable_id": "b-2328314660233910330", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1230": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1230", - "stable_id": "b--5319091048354455396", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1238": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1238", - "stable_id": "b--7466649412517676457", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"For equipment contained within another piece of equipment use the mapsTo relation to infer a Medium from the containing equipment.\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n ?childCp s223:hasMedium ?medium .\n}\nWHERE {\n $this s223:hasConnectionPoint ?cp .\n ?childCp s223:mapsTo ?cp .\n ?cp s223:connectsThrough ?connection .\n ?cp s223:hasMedium ?medium .\n FILTER NOT EXISTS {?childCp s223:hasMedium ?something} .\n}\n\"\"\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1237": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1237", - "stable_id": "b--6014126819794897225", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"For equipment containing another piece of equipment, use the mapsTo relation to infer a Medium from the contained equipment.\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n ?parentCp s223:hasMedium ?medium .\n}\nWHERE {\n $this s223:hasConnectionPoint ?cp .\n ?cp s223:mapsTo ?parentCp .\n ?cp s223:connectsThrough ?connection .\n ?cp s223:hasMedium ?medium .\n FILTER NOT EXISTS {?parentCp s223:hasMedium ?something} .\n}\n\"\"\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1076": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1076", - "stable_id": "b--1195733099724597022", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Sensor must be associated with exactly one location using the relation hasObservationLocation.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: A Sensor must be associated with exactly one location using the relation hasObservationLocation.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#SensorReferenceLocationShape": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b131", - "nd65da433b8c64822b829e7f0030fcda9b123", - "nd65da433b8c64822b829e7f0030fcda9b125", - "nd65da433b8c64822b829e7f0030fcda9b127" - ], - "complex_constraints": [], - "rules": [], - "label": "Valve", - "stable_id": "ns3:SensorReferenceLocationShape", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b131": "A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.", - "nd65da433b8c64822b829e7f0030fcda9b123": "A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.", - "nd65da433b8c64822b829e7f0030fcda9b125": "A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.", - "nd65da433b8c64822b829e7f0030fcda9b127": "A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b131": "b-8362690270407393424", - "nd65da433b8c64822b829e7f0030fcda9b123": "b--8527099988904336562", - "nd65da433b8c64822b829e7f0030fcda9b125": "b--8957546754994173958", - "nd65da433b8c64822b829e7f0030fcda9b127": "b-2443833589923900198" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Valve\" ;\n rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:message \"s223: A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:class ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:class ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:class ;\n sh:path ] ] ) ;\n sh:property [ rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:maxCount 1 ;\n sh:path ] ;\n sh:targetClass .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b131": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:maxCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b123": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:class ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b125": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:class ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b127": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Sensor can be associated with a maximum of one Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:class ;\n sh:path .\n\n" - } - }, - "http://data.ashrae.org/standard223#SensorObservesShape": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b119", - "nd65da433b8c64822b829e7f0030fcda9b117" - ], - "complex_constraints": [], - "rules": [], - "label": "Valve", - "stable_id": "ns3:SensorObservesShape", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b119": "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.", - "nd65da433b8c64822b829e7f0030fcda9b117": "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b119": "b--1416733978725104063", - "nd65da433b8c64822b829e7f0030fcda9b117": "b--6626627828971386748" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Valve\" ;\n rdfs:comment \"A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.\" ;\n sh:message \"s223: A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.\" ;\n sh:targetClass ;\n sh:xone ( [ sh:property [ rdfs:comment \"A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ] ] ) .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b119": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b117": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1079": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1079", - "stable_id": "b-4788860271672778315", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"If a Sensor measures a differential property, it must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: If a Sensor measures a differential property, it must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasReferenceLocation.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1083": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1083", - "stable_id": "b--1030410791652363701", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasMeasurementResolution is present it must associate a Sensor with a QuantifiableProperty.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasMeasurementResolution is present it must associate a Sensor with a QuantifiableProperty.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#SensorObservationLocationShape": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b108", - "nd65da433b8c64822b829e7f0030fcda9b112", - "nd65da433b8c64822b829e7f0030fcda9b110" - ], - "complex_constraints": [], - "rules": [], - "label": "Valve", - "stable_id": "ns3:SensorObservationLocationShape", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b108": "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.", - "nd65da433b8c64822b829e7f0030fcda9b112": "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.", - "nd65da433b8c64822b829e7f0030fcda9b110": "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b108": "b--2995595582421594996", - "nd65da433b8c64822b829e7f0030fcda9b112": "b--4131400679197784435", - "nd65da433b8c64822b829e7f0030fcda9b110": "b-6284099792242437519" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Valve\" ;\n rdfs:comment \"A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:message \"s223: A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:targetClass ;\n sh:xone ( [ sh:property [ rdfs:comment \"A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ] ] ) .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b108": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b112": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b110": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1080": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1081" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1080", - "stable_id": "b-1804200885124740119", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1081": "s223: If the hasReferenceLocation relation exists, the observed Property must have isDeltaQuantity true." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1081": "b--2843683566087962308" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"s223: If the hasReferenceLocation relation exists, the observed Property must have isDeltaQuantity true.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"s223: If the hasReferenceLocation relation exists, the observed Property must have isDeltaQuantity true.\" ;\n sh:message \"s223: Sensor {$this} has a reference location, but its Property lacks isDeltaQuantity true.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this\n WHERE {\n$this s223:hasReferenceLocation ?y .\n$this s223:observes ?x .\n?x a/rdfs:subClassOf* s223:QuantifiableProperty .\nFILTER NOT EXISTS {$this s223:observes/qudt:isDeltaQuantity true}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1081": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"s223: If the hasReferenceLocation relation exists, the observed Property must have isDeltaQuantity true.\" ;\n sh:message \"s223: Sensor {$this} has a reference location, but its Property lacks isDeltaQuantity true.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this\n WHERE {\n$this s223:hasReferenceLocation ?y .\n$this s223:observes ?x .\n?x a/rdfs:subClassOf* s223:QuantifiableProperty .\nFILTER NOT EXISTS {$this s223:observes/qudt:isDeltaQuantity true}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1077": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1078" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1077", - "stable_id": "b--4085835159048700933", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1078": "s223: If the observed Property has isDeltaQuantity true, the Sensor must have a hasReferenceLocation relation." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1078": "b--6588831493582880687" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"s223: If the observed Property has isDeltaQuantity true, the Sensor must have a hasReferenceLocation relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"s223: If the observed Property has isDeltaQuantity true, the Sensor must have a hasReferenceLocation relation.\" ;\n sh:message \"s223: Sensor {$this} has Property {?x} with isDeltaQuantity true, but the Sensor lacks a reference location.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this ?x\n WHERE {\n$this s223:observes/qudt:isDeltaQuantity true .\n$this s223:observes ?x .\n?x a/rdfs:subClassOf* s223:QuantifiableProperty .\nFILTER NOT EXISTS {$this s223:hasReferenceLocation ?y}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1078": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"s223: If the observed Property has isDeltaQuantity true, the Sensor must have a hasReferenceLocation relation.\" ;\n sh:message \"s223: Sensor {$this} has Property {?x} with isDeltaQuantity true, but the Sensor lacks a reference location.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this ?x\n WHERE {\n$this s223:observes/qudt:isDeltaQuantity true .\n$this s223:observes ?x .\n?x a/rdfs:subClassOf* s223:QuantifiableProperty .\nFILTER NOT EXISTS {$this s223:hasReferenceLocation ?y}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1082": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1082", - "stable_id": "b--8710650585842587332", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Sensor must be associated with exactly one ObservableProperty using the relation observes.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Sensor must be associated with exactly one ObservableProperty using the relation observes.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1084": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1084", - "stable_id": "b--1343259597077992792", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the hasObservationLocation relation for a Sensor from the Property that it is observing, only if that property is associated with a single entity.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:hasObservationLocation ?something .}\nWHERE {\n{\nSELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this\nWHERE {\nFILTER (NOT EXISTS {$this s223:hasObservationLocation ?anything}) .\n$this s223:observes ?prop .\n?measurementLocation s223:hasProperty ?prop .\n}\nGROUP BY ?prop $this\n}\nFILTER (?count = 1) .\n?something s223:hasProperty ?prop .\n{?something a/rdfs:subClassOf* s223:Connectable}\nUNION\n{?something a/rdfs:subClassOf* s223:Connection}\nUNION\n{?something a/rdfs:subClassOf* s223:ConnectionPoint}\n}\n\"\"\" ;\n sh:name \"InferredMeasurementLocation\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b351": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b351", - "stable_id": "b--7061987052101463816", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A HumiditySensor must be defined in terms of the QuantityKind that is being measured, which must be either RelativeHumidity or AbsoluteHumidity.\" ;\n sh:class ;\n sh:message \"s223: A HumiditySensor must observe a QuantifiableObservableProperty that hasQuantityKind of either RelativeHumidity or AbsoluteHumidity.\" ;\n sh:node [ sh:property [ sh:or ( [ sh:hasValue ] [ sh:hasValue ] ) ;\n sh:path ] ] ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b333": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b333", - "stable_id": "b-8082724805098260184", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A GaugePressureSensor must always observe a Property that has a QuantityKind of GaugePressure.\" ;\n sh:message \"s223: A GaugePressureSensor must always observe a Property that has a QuantityKind of GaugePressure.\" ;\n sh:path ( ) ;\n sh:value .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b336": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b336", - "stable_id": "b-8459610115679974283", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A GaugePressureSensor must always observe a Property that has a value of true for qudt:isDeltaQuantity.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: A GaugePressureSensor must always observe a Property that has a value of true for qudt:isDeltaQuantity.\" ;\n sh:minCount 1 ;\n sh:path ( ) ;\n sh:value true .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b447": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b447", - "stable_id": "b-3112892999273997995", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A TemperatureSensor must always observe a Property that has a QuantityKind of Temperature.\" ;\n sh:message \"s223: A TemperatureSensor must always observe a Property that has a QuantityKind of Temperature.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b253": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b253", - "stable_id": "b--3798261216841287950", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A CorrelatedColorTemperatureSensor must always observe a Property that has a QuantityKind of ThermodynamicTemperature.\" ;\n sh:message \"s223: A CorrelatedColorTemperatureSensor must always observe a Property that has a QuantityKind of ThermodynamicTemperature.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b265": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b265", - "stable_id": "b-7273162190973941962", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A DuvSensor must always observe a Property that has a QuantityKind of Duv.\" ;\n sh:message \"s223: A DuvSensor must always observe a Property that has a QuantityKind of Duv.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b358": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b358", - "stable_id": "b-3655895364480634708", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An IlluminanceSensor will always observe a Property that has a QuantityKind of Illuminance.\" ;\n sh:message \"s223: An IlluminanceSensor will always observe a Property that has a QuantityKind of Illuminance.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b392": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b392", - "stable_id": "b--8418857472631187594", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation ofSubstance is present it must associate the ParticulateSensor with a Substance-Particulate.\" ;\n sh:class ;\n sh:message \"s223: If the relation ofSubstance is present it must associate the ParticulateSensor with a Substance-Particulate.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b382": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b382", - "stable_id": "b-602209714946061706", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An OccupantCounter must always observe a QuantifiableObservableProperty that has a QuantityKind of Population and a Unit of unit:NUM.\" ;\n sh:class ;\n sh:message \"s223: An OccupantCounter must always observe a QuantifiableObservableProperty that has a QuantityKind of Population and a Unit of unit:NUM.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:maxCount 1 ;\n sh:path ],\n [ sh:hasValue ;\n sh:maxCount 1 ;\n sh:path ] ] ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b386": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b386", - "stable_id": "b-3297599959038196011", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An OccupantMotionSensor must always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Motion.\" ;\n sh:class ;\n sh:message \"s223: An OccupantMotionSensor must always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Motion.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:maxCount 1 ;\n sh:path ] ] ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b389": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b389", - "stable_id": "b--8180071674246328967", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An OccupantPresenceSensor will always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Presence.\" ;\n sh:class ;\n sh:message \"s223: An OccupantPresenceSensor will always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Presence.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:maxCount 1 ;\n sh:path ] ] ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b189": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b189", - "stable_id": "b--962672780687379253", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation actuates is present it must associate the Actuator with a Equipment.\" ;\n sh:class ;\n sh:message \"s223: If the relation actuates is present it must associate the Actuator with a Equipment.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b190": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b190", - "stable_id": "b--3682341741987722209", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An Actuator must be associated with at least one ActuatableProperty using the relation actuatedByProperty.\" ;\n sh:class ;\n sh:message \"s223: An Actuator must be associated with at least one ActuatableProperty using the relation actuatedByProperty.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b241": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b241", - "stable_id": "b--8507859827527045233", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation executes is present it must associate the Controller with a Function.\" ;\n sh:class ;\n sh:message \"s223: If the relation executes is present it must associate the Controller with a Function.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b242": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b242", - "stable_id": "b--4594810951697356013", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasRole s223:Role-Controller relation for every instance of Controller\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b920": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b920", - "stable_id": "b--3322866090119698856", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasInput is present it must associate a Function with a Property.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasInput is present it must associate a Function with a Property.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b921": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b921", - "stable_id": "b-7139106720380519707", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasOutput is present it must associate a Function with a Property.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasOutput is present it must associate a Function with a Property.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#FunctionPropertyShape": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b36", - "nd65da433b8c64822b829e7f0030fcda9b34" - ], - "complex_constraints": [], - "rules": [], - "label": "Function Property Shape", - "stable_id": "ns3:FunctionPropertyShape", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b36": "A Function must be associated with at least one Property using either the relation hasInput or hasOutput.", - "nd65da433b8c64822b829e7f0030fcda9b34": "A Function must be associated with at least one Property using either the relation hasInput or hasOutput." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b36": "b-9006783582412870882", - "nd65da433b8c64822b829e7f0030fcda9b34": "b-5120481022476393835" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Function Property Shape\" ;\n rdfs:comment \"A Function must be associated with at least one Property using either the relation hasInput or hasOutput.\" ;\n sh:message \"s223: A Function must be associated with at least one Property using either the relation hasInput or hasOutput.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Function must be associated with at least one Property using either the relation hasInput or hasOutput.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path ] ] [ sh:property [ rdfs:comment \"A Function must be associated with at least one Property using either the relation hasInput or hasOutput.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path ] ] ) ;\n sh:severity sh:Warning ;\n sh:targetClass .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b36": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Function must be associated with at least one Property using either the relation hasInput or hasOutput.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b34": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Function must be associated with at least one Property using either the relation hasInput or hasOutput.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1044": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1044", - "stable_id": "b-6137782984694491682", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connected is present it must associate the Connectable with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connected is present it must associate the Connectable with a Connectable.\" ;\n sh:name \"SymmetricConnectableToConnectableShape\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1043": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1043", - "stable_id": "b--631454058115388077", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectedTo is present it must associate the Connectable with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectedTo is present it must associate the Connectable with a Connectable.\" ;\n sh:name \"ConnectableToConnectableShape\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1041": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1041", - "stable_id": "b--7776162266173325133", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:name \"EquipmentToConnectionPointShape\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1042": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1042", - "stable_id": "b--397005726422888153", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectedFrom is present it must associate the Connectable with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectedFrom is present it must associate the Connectable with a Connectable.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1040": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1040", - "stable_id": "b--5066621194690450568", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation cnx is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation cnx is present it must associate the Connectable with a ConnectionPoint.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1045": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1045", - "stable_id": "b-5593176467408625532", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectedThrough is present it must associate the Connectable with a Connection.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectedThrough is present it must associate the Connectable with a Connection.\" ;\n sh:name \"EquipmentToConnectionShape\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1038": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1039" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1038", - "stable_id": "b--4406074416368528723", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1039": "If a Connectable has s223:connected or s223:connectedTo (i.e. high-level connection specification), it must also have the supporting cnx relations (low-level connection specification)." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1039": "b-8864840590045460134" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If a Connectable has s223:connected or s223:connectedTo (i.e. high-level connection specification), it must also have the supporting cnx relations (low-level connection specification).\" ;\n sh:path ;\n sh:severity sh:Warning ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a Connectable has s223:connected or s223:connectedTo (i.e. high-level connection specification), it must also have the supporting cnx relations (low-level connection specification).\" ;\n sh:message \"s223: {$this} is s223:connected (high-level) to {?otherC} but not connected at the cnx-level.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?otherC\nWHERE {\n$this s223:connected ?otherC .\nFILTER NOT EXISTS {$this s223:cnx+ ?otherC}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1039": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"If a Connectable has s223:connected or s223:connectedTo (i.e. high-level connection specification), it must also have the supporting cnx relations (low-level connection specification).\" ;\n sh:message \"s223: {$this} is s223:connected (high-level) to {?otherC} but not connected at the cnx-level.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?otherC\nWHERE {\n$this s223:connected ?otherC .\nFILTER NOT EXISTS {$this s223:cnx+ ?otherC}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1053": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1053", - "stable_id": "b--6727215485620577630", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the connected relation using connectedTo\" ;\n sh:name \"InferredEquipmentToEquipmentPropertyfromconnectedTo\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1062": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1062", - "stable_id": "b--6031960831835867421", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the cnx relationship using hasConnectionPoint.\" ;\n sh:name \"InferredEquipmentToConnectionPointCnxProperty\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1046": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1046", - "stable_id": "b--4069320978483343162", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the connected relation for BiDirectional connections\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connected ?d2 .}\nWHERE {\n$this s223:connectedThrough/^s223:connectedThrough ?d2 .\nFILTER ($this != ?d2) .\nFILTER NOT EXISTS {$this s223:contains* ?d2} .\nFILTER NOT EXISTS {?d2 s223:contains* $this} .\n}\n\"\"\" ;\n sh:name \"InferredEquipmentToDownstreamEquipmentProperty\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1055": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1055", - "stable_id": "b-2511140884476280014", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the connectedThrough relation using hasConnectionPoint and connectsThrough\" ;\n sh:name \"InferredEquipmentToConnectionProperty\" ;\n sh:object [ sh:path ( ) ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1047": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1047", - "stable_id": "b-3692597824971550511", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the cnx relation using isConnectionPointOf.\" ;\n sh:name \"InferredEquipmentToConnectionPointCnxPropertyFromInverse\" ;\n sh:object [ sh:path [ sh:inversePath ] ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1051": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1051", - "stable_id": "b--7285524953082417679", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the connected relation using connectedFrom\" ;\n sh:name \"InferredEquipmentToEquipmentPropertyfromconnectedFrom\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1050": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1050", - "stable_id": "b-7303409819500700628", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectedTo relation using connectsThrough and connectsTo.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectedTo ?equipment .}\nWHERE {\n$this s223:hasConnectionPoint ?cp .\n?cp a s223:OutletConnectionPoint .\n?cp s223:connectsThrough/s223:connectsTo ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredEquipmentToDownstreamEquipmentProperty\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1059": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1059", - "stable_id": "b--7812616281306087819", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectedFrom relations using connectsThrough and connectsFrom.\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectedFrom ?equipment .}\nWHERE {\n$this s223:hasConnectionPoint ?cp .\n?cp a s223:InletConnectionPoint .\n?cp s223:connectsThrough/s223:connectsFrom ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredEquipmentToUpstreamEquipmentProperty\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1060": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1060", - "stable_id": "b-6929604896148495710", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasConnectionPoint relation using cnx\" ;\n sh:name \"InferredEquipmentToConnectionPointProperty\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1126": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1127" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1126", - "stable_id": "b--213706752558191166", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1127": "If a ConnectionPoint lacks a connectsThrough and mapsTo relation, and is not associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint probably needs an association with a Connection." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1127": "b--8887361790535861674" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, and is not associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint probably needs an association with a Connection.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, and is not associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint probably needs an association with a Connection.\" ;\n sh:message \"s223: ConnectionPoint {$this} probably needs an association with a Connection, or use of hasOptionalConnectionPoint or hasBoundaryConnectionPoint qualifiers.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this \n WHERE {\n FILTER NOT EXISTS {?sys1 s223:hasBoundaryConnectionPoint $this} .\n FILTER NOT EXISTS {?sys2 s223:hasOptionalConnectionPoint $this} .\n FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .\n FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .\n $this s223:isConnectionPointOf ?equipment .\n FILTER NOT EXISTS {?containerEquipment s223:contains ?equipment} .\n }\n \"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1127": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, and is not associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint probably needs an association with a Connection.\" ;\n sh:message \"s223: ConnectionPoint {$this} probably needs an association with a Connection, or use of hasOptionalConnectionPoint or hasBoundaryConnectionPoint qualifiers.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this \n WHERE {\n FILTER NOT EXISTS {?sys1 s223:hasBoundaryConnectionPoint $this} .\n FILTER NOT EXISTS {?sys2 s223:hasOptionalConnectionPoint $this} .\n FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .\n FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .\n $this s223:isConnectionPointOf ?equipment .\n FILTER NOT EXISTS {?containerEquipment s223:contains ?equipment} .\n }\n \"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1105": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1106" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1105", - "stable_id": "b-5321887354954946023", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1106": "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1106": "b-3686160931293096704" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation.\" ;\n sh:message \"s223: {$this} declares a Medium of {?a}, but the Medium of {?b} is declared by {?target} pointed to by the mapsTo+ relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?a ?b ?target\nWHERE {\n$this s223:hasMedium ?a .\n$this s223:mapsTo+ ?target .\n?target s223:hasMedium ?b .\n?a a/rdfs:subClassOf* s223:EnumerationKind-Medium .\n?b a/rdfs:subClassOf* s223:EnumerationKind-Medium .\nFILTER (?a != ?b ) .\nFILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .\nFILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1106": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation.\" ;\n sh:message \"s223: {$this} declares a Medium of {?a}, but the Medium of {?b} is declared by {?target} pointed to by the mapsTo+ relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?a ?b ?target\nWHERE {\n$this s223:hasMedium ?a .\n$this s223:mapsTo+ ?target .\n?target s223:hasMedium ?b .\n?a a/rdfs:subClassOf* s223:EnumerationKind-Medium .\n?b a/rdfs:subClassOf* s223:EnumerationKind-Medium .\nFILTER (?a != ?b ) .\nFILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .\nFILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1129": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1129", - "stable_id": "b-3308260649372864984", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf.\" ;\n sh:minCount 1 ;\n sh:name \"ConnectionPointToEquipmentShape\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1112": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1113" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1112", - "stable_id": "b-9133524360974797577", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1113": "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1113": "b--6689363037131183504" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation.\" ;\n sh:message \"s223: {?otherEquipment} should contain {?equipment} because ConnectionPoint {$this} has a mapsTo relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?equipment ?otherEquipment\nWHERE {\n$this s223:mapsTo ?otherCP .\n?equipment s223:hasConnectionPoint $this .\n?otherEquipment s223:hasConnectionPoint ?otherCP .\nFILTER NOT EXISTS {?otherEquipment s223:contains ?equipment}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1113": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation.\" ;\n sh:message \"s223: {?otherEquipment} should contain {?equipment} because ConnectionPoint {$this} has a mapsTo relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?equipment ?otherEquipment\nWHERE {\n$this s223:mapsTo ?otherCP .\n?equipment s223:hasConnectionPoint $this .\n?otherEquipment s223:hasConnectionPoint ?otherCP .\nFILTER NOT EXISTS {?otherEquipment s223:contains ?equipment}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1121": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1121", - "stable_id": "b-8861539858009766797", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint must be associated with at most one Connectable using the cnx relation.\" ;\n sh:message \"s223: A ConnectionPoint must be associated with at most one Connectable using the cnx relation.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1128": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1128", - "stable_id": "b-4030654326590023789", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:name \"ConnectionPoint medium\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1114": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1114", - "stable_id": "b-4905834861090331248", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo\" ;\n sh:path [ sh:inversePath ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1125": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1125", - "stable_id": "b-8130012999987005585", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1107": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1108" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1107", - "stable_id": "b-3932275111919091123", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1108": "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1108": "b-7439170716472456523" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A ConnectionPoint must not have both a mapsTo and a connectsThrough relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A ConnectionPoint must not have both a mapsTo and a connectsThrough relation.\" ;\n sh:message \"s223: {$this} cannot have both a mapsTo {?uppercp} and a connectsThrough {?connection}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?uppercp ?connection\nWHERE {\n$this s223:mapsTo ?uppercp .\n$this s223:connectsThrough ?connection .\n?connection a/rdfs:subClassOf* s223:Connection .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1108": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"A ConnectionPoint must not have both a mapsTo and a connectsThrough relation.\" ;\n sh:message \"s223: {$this} cannot have both a mapsTo {?uppercp} and a connectsThrough {?connection}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?uppercp ?connection\nWHERE {\n$this s223:mapsTo ?uppercp .\n$this s223:connectsThrough ?connection .\n?connection a/rdfs:subClassOf* s223:Connection .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1110": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1111" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1110", - "stable_id": "b--4596114285905755469", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1111": "If a ConnectionPoint lacks a connectsThrough and mapsTo relation, but is associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint might need a mapsTo relation to a ConnectionPoint of the containing Equipment." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1111": "b-4021661865767968336" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, but is associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint might need a mapsTo relation to a ConnectionPoint of the containing Equipment.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, but is associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint might need a mapsTo relation to a ConnectionPoint of the containing Equipment.\" ;\n sh:message \"s223: ConnectionPoint {$this} could be missing a mapsTo relation to a ConnectionPoint of {?containerEquipment} because it is associated with a Junction or Equipment that is contained by {?containerEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this ?containerEquipment\n WHERE {\n FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .\n FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .\n FILTER NOT EXISTS {?anything3 s223:hasBoundaryConnectionPoint $this} .\n $this s223:isConnectionPointOf ?equipment .\n ?containerEquipment s223:contains ?equipment .\n }\n \"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1111": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"If a ConnectionPoint lacks a connectsThrough and mapsTo relation, but is associated with a Junction or Equipment that is contained by an Equipment, then suggest that the ConnectionPoint might need a mapsTo relation to a ConnectionPoint of the containing Equipment.\" ;\n sh:message \"s223: ConnectionPoint {$this} could be missing a mapsTo relation to a ConnectionPoint of {?containerEquipment} because it is associated with a Junction or Equipment that is contained by {?containerEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this ?containerEquipment\n WHERE {\n FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .\n FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .\n FILTER NOT EXISTS {?anything3 s223:hasBoundaryConnectionPoint $this} .\n $this s223:isConnectionPointOf ?equipment .\n ?containerEquipment s223:contains ?equipment .\n }\n \"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1116": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1116", - "stable_id": "b--2019625251101829290", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasElectricalPhase is present it must associate the ConnectionPoint with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:message \"s223: If the relation hasElectricalPhase is present it must associate the ConnectionPoint with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1130": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1130", - "stable_id": "b-4520578483218058359", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint must be associated with at most one Connection using the relation connectsThrough.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: This ConnectionPoint must be associated with at most one Connection.\" ;\n sh:name \"ConnectionPointToConnectionShape\" ;\n sh:path ;\n sh:severity sh:Info .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1109": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1109", - "stable_id": "b-655492537263298232", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1123": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1123", - "stable_id": "b-132548496307108634", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ConnectionPoint must be associated with at most one Connection using the cnx relation\" ;\n sh:message \"s223: A ConnectionPoint must be associated with at most one Connection using the cnx relation\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1131": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1131", - "stable_id": "b-1028139837134813419", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation mapsTo is present it must associate the BidirectionalConnectionPoint with a BidirectionalConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation mapsTo is present it must associate the BidirectionalConnectionPoint with a BidirectionalConnectionPoint.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1216": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1217" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1216", - "stable_id": "b-5522513094048492108", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1217": "Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1217": "b--2124473688188128425" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:message \"s223: {$this} must have a mapsTo an InletConnectionPoint of {?parentEquipment} and not an external Connection from {?sourceEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?parentEquipment ?sourceEquipment\nWHERE {\n?equipment s223:hasConnectionPoint $this .\n?parentEquipment s223:contains ?equipment .\n$this s223:connectsThrough/s223:connectsFrom ?sourceEquipment .\nFILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} .\nFILTER NOT EXISTS {$this s223:mapsTo ?anything} .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1217": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:message \"s223: {$this} must have a mapsTo an InletConnectionPoint of {?parentEquipment} and not an external Connection from {?sourceEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?parentEquipment ?sourceEquipment\nWHERE {\n?equipment s223:hasConnectionPoint $this .\n?parentEquipment s223:contains ?equipment .\n$this s223:connectsThrough/s223:connectsFrom ?sourceEquipment .\nFILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} .\nFILTER NOT EXISTS {$this s223:mapsTo ?anything} .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1218": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1218", - "stable_id": "b--891371899681028860", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation pairedConnectionPoint is present it must associate the InletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation pairedConnectionPoint is present it must associate the InletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1219": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1219", - "stable_id": "b-8431004053425346108", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1214": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1214", - "stable_id": "b-7631345625525497512", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation pairedConnectionPoint is present it must associate the OutletConnectionPoint with an InletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation pairedConnectionPoint is present it must associate the OutletConnectionPoint with an InletConnectionPoint.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1215": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1215", - "stable_id": "b-4483246678651984451", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:class ;\n sh:message \"s223: If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1212": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1213" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1212", - "stable_id": "b-3138632794546678229", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1213": "Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1213": "b--6356434838852719680" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:message \"s223: {$this} must have a mapsTo an OutletConnectionPoint of {?parentEquipment} and not an external Connection to {?destinationEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?parentEquipment ?destinationEquipment\nWHERE {\n?equipment s223:hasConnectionPoint $this .\n?parentEquipment s223:contains ?equipment .\n$this s223:connectsThrough/s223:connectsTo ?destinationEquipment .\nFILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} .\nFILTER NOT EXISTS {$this s223:mapsTo ?anything} .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1213": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection\" ;\n sh:message \"s223: {$this} must have a mapsTo an OutletConnectionPoint of {?parentEquipment} and not an external Connection to {?destinationEquipment}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?parentEquipment ?destinationEquipment\nWHERE {\n?equipment s223:hasConnectionPoint $this .\n?parentEquipment s223:contains ?equipment .\n$this s223:connectsThrough/s223:connectsTo ?destinationEquipment .\nFILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} .\nFILTER NOT EXISTS {$this s223:mapsTo ?anything} .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1020": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1020", - "stable_id": "b--6993910137102285561", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Connection must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Connection must be associated with exactly one Substance-Medium using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:name \"Connection medium\" ;\n sh:path .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#ConnectionCnxShape": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b25", - "nd65da433b8c64822b829e7f0030fcda9b28", - "nd65da433b8c64822b829e7f0030fcda9b23" - ], - "complex_constraints": [], - "rules": [], - "label": "ConnectionCnxShape", - "stable_id": "ns3:ConnectionCnxShape", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b25": "A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection.", - "nd65da433b8c64822b829e7f0030fcda9b28": "A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection.", - "nd65da433b8c64822b829e7f0030fcda9b23": "A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b25": "b-2009380064531128676", - "nd65da433b8c64822b829e7f0030fcda9b28": "b--5281128668904195273", - "nd65da433b8c64822b829e7f0030fcda9b23": "b-6466181265160089631" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"ConnectionCnxShape\" ;\n rdfs:comment \"You need either an InletCP and an OutletCP, or at least one BidirectionalCP and another CP of any type.\" ;\n sh:message \"s223: You need either an InletCP and an OutletCP, or at least one BidirectionalCP and another CP of any type.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ;\n sh:severity sh:Warning ],\n [ rdfs:comment \"A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ;\n sh:severity sh:Warning ] ] [ sh:property [ rdfs:comment \"A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ;\n sh:severity sh:Warning ] ] ) ;\n sh:severity sh:Warning ;\n sh:targetClass .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b25": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ;\n sh:severity sh:Warning .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b28": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ;\n sh:severity sh:Warning .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b23": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Connection shall have at least two connectsAt relations allowing flow in and out of the Connection.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ;\n sh:severity sh:Warning .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1003": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1003", - "stable_id": "b-8091532279609764302", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectsFrom is present it must associate the Connection with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectsFrom is present it must associate the Connection with a Connectable.\" ;\n sh:name \"ConnectionToUpstreamConnectableShape\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1006": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1007" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1006", - "stable_id": "b-2928585040417703063", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1007": "A Connection must only have a cnx relation with a ConnectionPoint" - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1007": "b-5950515637585307647" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Connection must only have a cnx relation with a ConnectionPoint\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Connection must only have a cnx relation with a ConnectionPoint\" ;\n sh:message \"s223: {$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint.\" ;\n sh:prefixes ;\n sh:select \"\"\"SELECT $this ?something\nWHERE {\n$this s223:cnx ?something .\nFILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .\n}\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1007": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"A Connection must only have a cnx relation with a ConnectionPoint\" ;\n sh:message \"s223: {$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint.\" ;\n sh:prefixes ;\n sh:select \"\"\"SELECT $this ?something\nWHERE {\n$this s223:cnx ?something .\nFILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .\n}\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1014": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1015" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1014", - "stable_id": "b-7208487087496201305", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1015": "Incompatible Medium. Case 1: Two pure mediums." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1015": "b-5945894988621170358" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 1: A Connection with a pure medium and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1015": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1004": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1005" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1004", - "stable_id": "b--1451942766104312679", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1005": "Incompatible Medium. Case 4: A Connection with constituents and an associated ConnectionPoint with constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1005": "b-616237899126734533" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 4: A Connection with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: A Connection with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1005": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: A Connection with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1010": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1011" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1010", - "stable_id": "b--7744791830061562467", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1011": "Incompatible Medium. Case 3: Connection with a pure medium and an associated ConnectionPoint with constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1011": "b--982795199854612226" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 3: Connection with a pure medium and an associated ConnectionPoint with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Connection with a pure medium and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1011": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Connection with a pure medium and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1016": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1017" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1016", - "stable_id": "b-2369204552584308006", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1017": "Incompatible Medium. Case 6: A medium with constituents and a pure medium." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1017": "b--865842583615561128" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 6: Two ConnectionPoints, one with a medium with constituents and one with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 6: A medium with constituents and a pure medium.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1017": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 6: A medium with constituents and a pure medium.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1012": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1013" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1012", - "stable_id": "b-8124218857650840489", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1013": "Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1013": "b--5178220258430435782" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:message \"s223: {?cp1} with Medium {?m2} is incompatible with {?cp2} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m2 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m1 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1013": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:message \"s223: {?cp1} with Medium {?m2} is incompatible with {?cp2} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m2 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m1 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b999": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b999", - "stable_id": "b-757355547271343274", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectsTo is present it must associate the Connection with a Connectable.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectsTo is present it must associate the Connection with a Connectable.\" ;\n sh:name \"ConnectionToDownstreamConnectableShape\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1000": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1000", - "stable_id": "b-293568092618191148", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Connection must have two or more cnx relations to ConnectionPoints\" ;\n sh:class ;\n sh:message \"s223: A Connection must have two or more cnx relations to ConnectionPoints\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1008": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1009" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1008", - "stable_id": "b-1219562222569301874", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1009": "Incompatible Medium. Case 2: A Connection with constituents and an associated ConnectionPoint with a pure medium." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1009": "b--262367840913323094" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 2: A Connection with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A Connection with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1009": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A Connection with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:message \"s223: Connection {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1001": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1002" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1001", - "stable_id": "b--1080192607808499724", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1002": "Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1002": "b-7623351196818340390" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1002": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1019": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1019", - "stable_id": "b--2948011237506647051", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Connection must have two or more connectsAt relations to ConnectionPoints\" ;\n sh:class ;\n sh:message \"s223: A Connection must have two or more connectsAt relations to ConnectionPoints\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:severity sh:Warning .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1018": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1018", - "stable_id": "b-8615500482813062199", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1021": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1021", - "stable_id": "b--2721825458390765379", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"If the relation hasThermodynamicPhase is present it must associate the Connection with at most one EnumerationKind-Phase.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: If the relation hasThermodynamicPhase is present it must associate the Connection with at most one EnumerationKind-Phase.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1022": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1022", - "stable_id": "b--8495663903641232463", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectsTo relation using connectsAt\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectsTo ?equipment .}\nWHERE {\n$this s223:connectsAt ?cp .\n?cp a s223:InletConnectionPoint .\n?cp s223:isConnectionPointOf ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredConnectionToDownstreamEquipmentProperty\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1024": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1024", - "stable_id": "b--62463815483814187", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer cnx relation using connectsAt\",\n \"InferredConnectionToConnectionPointBaseProperty\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1028": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1028", - "stable_id": "b--1638101160907538536", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer cnx relation using connectsThrough\",\n \"InferredConnectionToConnectionPointBasePropertyFromInverse\" ;\n sh:object [ sh:path [ sh:inversePath ] ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1026": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1026", - "stable_id": "b-6599477281449606410", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the connectsAt relation using cnx\",\n \"InferredConnectionToConnectionPointProperty\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1023": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1023", - "stable_id": "b-3647174763250700686", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the connectsFrom relation using connectsAt\" ;\n sh:construct \"\"\"\nCONSTRUCT {$this s223:connectsFrom ?equipment .}\nWHERE {\n$this s223:connectsAt ?cp .\n?cp a s223:OutletConnectionPoint .\n?cp s223:isConnectionPointOf ?equipment .\n}\n\"\"\" ;\n sh:name \"InferredConnectionToUpstreamEquipmentProperty\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b238": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b238", - "stable_id": "b--5711512314121415110", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Conductor must be associated with exactly one Constituent-Electricity using the relation hasMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Conductor must be associated with exactly one Constituent-Electricity using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b233": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b233", - "stable_id": "b--1813432167319951666", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasElectricalPhase is present it must associate the Conductor with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:message \"s223: If the relation hasElectricalPhase is present it must associate the Conductor with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.\" ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#JunctionUsageWarning": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b63" - ], - "complex_constraints": [], - "rules": [], - "label": "JunctionUsageWarning", - "stable_id": "ns3:JunctionUsageWarning", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b63": "This Junction is not used to model significant details of a branching point in a connection, and may not be required." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b63": "b--3712268092645296212" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n a sh:NodeShape ;\n rdfs:label \"JunctionUsageWarning\" ;\n rdfs:comment \"This Junction is not used to model significant details of a branching point in a connection, and may not be required.\" ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This Junction is not used to model significant details of a branching point in a connection, and may not be required.\" ;\n sh:message \"This Junction {$this} is not used to model significant details of a branching point in a connection, and may not be required.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this\n WHERE {\n $this s223:hasConnectionPoint? | s223:connectedThrough? ?junc_cp_conn .\n\n FILTER NOT EXISTS {\n # Connection has a relation that is not in the structural or required relationships\n { ?junc_cp_conn ?p ?o . } UNION {?o ?p ?junc_cp_conn . }\n FILTER (?p NOT IN (\n s223:connected, s223:connectedTo, s223:connectedThrough, s223:hasConnectionPoint,\n s223:connectsAt, s223:isConnectionPointOf, s223:cnx, rdf:type, rdfs:label, rdfs:comment\n )) \n } .\n }\n \"\"\" ;\n sh:severity sh:Warning ] ;\n sh:targetClass .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b63": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This Junction is not used to model significant details of a branching point in a connection, and may not be required.\" ;\n sh:message \"This Junction {$this} is not used to model significant details of a branching point in a connection, and may not be required.\" ;\n sh:prefixes ;\n sh:select \"\"\"\n SELECT $this\n WHERE {\n $this s223:hasConnectionPoint? | s223:connectedThrough? ?junc_cp_conn .\n\n FILTER NOT EXISTS {\n # Connection has a relation that is not in the structural or required relationships\n { ?junc_cp_conn ?p ?o . } UNION {?o ?p ?junc_cp_conn . }\n FILTER (?p NOT IN (\n s223:connected, s223:connectedTo, s223:connectedThrough, s223:hasConnectionPoint,\n s223:connectsAt, s223:isConnectionPointOf, s223:cnx, rdf:type, rdfs:label, rdfs:comment\n )) \n } .\n }\n \"\"\" ;\n sh:severity sh:Warning .\n\n" - } - }, - "http://data.ashrae.org/standard223#JunctionCPShape": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b56", - "nd65da433b8c64822b829e7f0030fcda9b59", - "nd65da433b8c64822b829e7f0030fcda9b54" - ], - "complex_constraints": [], - "rules": [], - "label": "JunctionCPShape", - "stable_id": "ns3:JunctionCPShape", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b56": "A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.", - "nd65da433b8c64822b829e7f0030fcda9b59": "A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.", - "nd65da433b8c64822b829e7f0030fcda9b54": "A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b56": "b-5837971462577687783", - "nd65da433b8c64822b829e7f0030fcda9b59": "b-1346384038774459956", - "nd65da433b8c64822b829e7f0030fcda9b54": "b-4371210248591906551" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"JunctionCPShape\" ;\n rdfs:comment \"A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:message \"s223: A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ],\n [ rdfs:comment \"A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ] ] [ sh:property [ rdfs:comment \"A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ] ] ) ;\n sh:severity sh:Warning ;\n sh:targetClass .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b56": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b59": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b54": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Junction shall have at least two ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b843": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b844" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b843", - "stable_id": "b--4847209673362436694", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b844": "Incompatible Medium. Case 3: Junction with a pure medium and an associated ConnectionPoint with constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b844": "b-3794750237549025174" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Ensure compatibility - Case 3: Junction with a pure medium and an associated ConnectionPoint with constituents\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Junction with a pure medium and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m1} is incompatible with {?cp} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b844": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Junction with a pure medium and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m1} is incompatible with {?cp} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m2 .\n$this s223:hasMedium ?m1 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b837": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b838" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b837", - "stable_id": "b-8073773447253498923", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b838": "Incompatible Medium. Case 2: A Junction with constituents and an associated ConnectionPoint with a pure medium." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b838": "b-5870720699558932355" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 2: A Junction with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A Junction with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b838": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A Junction with constituents and an associated ConnectionPoint with a pure medium.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b849": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b850" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b849", - "stable_id": "b--3563849228155302933", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b850": "Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b850": "b--3749322094255158948" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b850": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 7: Two ConnectionPoints with mediums with constituents.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b851": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b851", - "stable_id": "b-632157756953811501", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b841": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b842" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b841", - "stable_id": "b-3363194133381004560", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b842": "Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b842": "b-51399917129091097" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case5: Two ConnectionPoints with pure mediums.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b842": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 5: Two ConnectionPoints with pure mediums.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2 ) .\n?cp2 s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b847": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b848" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b847", - "stable_id": "b--8512746395896813577", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b848": "Incompatible Medium. Case 6: Two ConnectionPoints with a medium with constituents and a pure medium." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b848": "b--8348165974511507226" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 6: Two ConnectionPoints, one with a medium with constituents and one a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 6: Two ConnectionPoints with a medium with constituents and a pure medium.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b848": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 6: Two ConnectionPoints with a medium with constituents and a pure medium.\" ;\n sh:message \"s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp1 ?m1 ?cp2 ?m2\nWHERE {\n$this s223:cnx ?cp1 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp1 s223:hasMedium ?m1 .\n$this s223:cnx ?cp2 .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 s223:hasMedium ?m2 .\n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b845": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b846" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b845", - "stable_id": "b-7127217801407285625", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b846": "Incompatible Medium. Case 4: Junction with constituents and an associated ConnectionPoint with constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b846": "b-6192380110530308186" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case4: Junction with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: Junction with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b846": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 4: Junction with constituents and an associated ConnectionPoint with constituents.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b839": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b840" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b839", - "stable_id": "b-6994900046813032603", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b840": "Incompatible Medium. Case 1: Two pure mediums." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b840": "b--7187349124481295217" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case1: A Junction with a pure medium and an associated ConnectionPoint with a pure medium.\" ;\n sh:name \"Test for compatible declared Medium\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b840": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: Junction {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?cp ?m1\nWHERE {\n$this s223:cnx ?cp .\n?cp a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp s223:hasMedium ?m1 .\n$this s223:hasMedium ?m2 .\nFILTER (?m1 != ?m2 ) .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b777": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b777", - "stable_id": "b--5422677659014671001", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasOptionalConnectionPoint relation is used to reference those connection points of its equipment that may not be connected, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:class ;\n sh:message \"s223: A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasOptionalConnectionPoint relation is used to reference those connection points of its equipment that may not be connected, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b778": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b778", - "stable_id": "b--7727850625305786725", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasBoundaryConnectionPoint relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the a model with the system by itself, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:class ;\n sh:message \"s223: A System may be defined with a number of ConnectionPoints that are the \\\"boundary\\\" of the equipment. The hasBoundaryConnectionPoint relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the a model with the system by itself, the \\\"dangling ConnectionPoint\\\" should not generate a validation error.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b780": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b780", - "stable_id": "b-327664179232371932", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"A System should be associated with at least one instance of Equipment or System using the relation hasMember.\" ;\n sh:message \"s223: A System must be associated with at least one instance of Equipment or System using the relation hasMember.\" ;\n sh:minCount 1 ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ;\n sh:severity sh:Warning .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b787": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b787", - "stable_id": "b-176784333464026861", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Ensure that the Boundary CPs of a System belong to only members of that System\" ;\n sh:message \"s223: System {$this} hasBoundaryConnectionPoint {?cp}, belonging to {?con} that is not a member of {?this}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cp ?con\nWHERE {\n$this s223:hasBoundaryConnectionPoint ?cp .\n?cp s223:isConnectionPointOf ?con .\nFILTER NOT EXISTS {$this s223:hasMember+ ?con}\n}\n\"\"\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b779": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b779", - "stable_id": "b-9210198386036716911", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasRole is present, it must associate the System with an EnumerationKind-Role.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasRole is present, it must associate the System with an EnumerationKind-Role.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b785": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b785", - "stable_id": "b-8516683745363918035", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasBoundaryConnectionPoint relation using hasOptionalConnectionPoint.\" ;\n sh:name \"InferredSystemToBoundaryConnectionPointFromOptional\" ;\n sh:object [ sh:path ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b862": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b862", - "stable_id": "b--1705138742313254430", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation encloses is present it must associate the PhysicalSpace with a DomainSpace.\" ;\n sh:class ;\n sh:message \"s223: If the relation encloses is present it must associate the PhysicalSpace with a DomainSpace.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b863": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b863", - "stable_id": "b-3410717178844446743", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation contains is present it must associate the PhysicalSpace with a PhysicalSpace.\" ;\n sh:class ;\n sh:message \"s223: If the relation contains is present it must associate the PhysicalSpace with a PhysicalSpace.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b803": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b803", - "stable_id": "b--211495708247232126", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A DomainSpace must be enclosed by a PhysicalSpace.\" ;\n sh:message \"s223: A DomainSpace must be enclosed by a PhysicalSpace.\" ;\n sh:minCount 1 ;\n sh:path [ sh:inversePath ] ;\n sh:severity sh:Info .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b802": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b802", - "stable_id": "b-3119617274133157637", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b805": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b805", - "stable_id": "b--9066206591946497105", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosing Zone to determine the domain.\" ;\n sh:object [ sh:path ( [ sh:inversePath ] ) ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b788": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b788", - "stable_id": "b-2083246138750218536", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace.\" ;\n sh:class ;\n sh:message \"s223: A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b789": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b789", - "stable_id": "b-1185045820440937019", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b790": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b791" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b790", - "stable_id": "b--6441789072585028936", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b791": "The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b791": "b-7579080113879526543" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same.\" ;\n sh:message \"s223: Zone {$this} has a Domain of {?domain}, but it contains a DomainSpace {?ds} which has a Domain of {?dsdomain}. These should be the same.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?domain ?ds ?dsdomain\nWHERE {\n$this a s223:Zone .\n$this s223:hasDomain ?domain .\n$this s223:contains ?ds .\n?ds s223:hasDomain ?dsdomain .\nFILTER (?domain != ?dsdomain)\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b791": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same.\" ;\n sh:message \"s223: Zone {$this} has a Domain of {?domain}, but it contains a DomainSpace {?ds} which has a Domain of {?dsdomain}. These should be the same.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT DISTINCT $this ?domain ?ds ?dsdomain\nWHERE {\n$this a s223:Zone .\n$this s223:hasDomain ?domain .\n$this s223:contains ?ds .\n?ds s223:hasDomain ?dsdomain .\nFILTER (?domain != ?dsdomain)\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b792": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b792", - "stable_id": "b-2722830742790454004", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosed DomainSpaces to determine the domain.\" ;\n sh:object [ sh:path ( ) ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b796": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b796", - "stable_id": "b-826603040393427510", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosing ZoneGroup to determine the domain.\" ;\n sh:object [ sh:path ( [ sh:inversePath ] ) ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b481": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b481", - "stable_id": "b-5666926929475776987", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ZoneGroup must be associated with at least one Zone using the relation hasZone.\" ;\n sh:class ;\n sh:message \"s223: A ZoneGroup must be associated with at least one Zone using the relation hasZone.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b482": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b482", - "stable_id": "b--1297992999080541986", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ZoneGroup must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A ZoneGroup must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b483": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b483", - "stable_id": "b--5974277523322322449", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer a hasDomain relation by checking any enclosed Zones to determine the domain.\" ;\n sh:object [ sh:path ( ) ] ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b987": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b987", - "stable_id": "b-9052638518771527526", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EnumerationKind-Numerical must be associated with at least one QuantityKind using the relation hasQuantityKind.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b985": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b985", - "stable_id": "b-4388520286044010230", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EnumerationKind-Numerical can be associated with a decimal value using the relation hasValue.\" ;\n sh:datatype xsd:decimal ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b986": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b986", - "stable_id": "b--2463039428704544121", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EnumerationKind-Numerical must be associated with at least one Unit using the relation hasUnit.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path ;\n sh:severity sh:Info .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b961": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b961", - "stable_id": "b--1381966443794211471", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A DC-Voltage must have a voltage\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b963": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b963", - "stable_id": "b--7000429469335995863", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Numerical-Frequency must have a Quantity Kind of Frequency\" ;\n sh:hasValue ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b962": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b962", - "stable_id": "b--424164823063561299", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Numerical-Frequency must have a unit of Hertz\" ;\n sh:hasValue ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1145": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1145", - "stable_id": "b--736239780424342467", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AC-Numerical-LineLineVoltage must have a voltage\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1146": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1146", - "stable_id": "b--2875251029636116269", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AC-Numerical-LineNeutralVoltage must have a voltage\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1221": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1221", - "stable_id": "b--9115467331894149206", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Numerical-Voltage must have a Quantity Kind of Voltage\" ;\n sh:hasValue ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1220": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1220", - "stable_id": "b-5515604686996601570", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Numerical-Voltage must have a unit of Volts\" ;\n sh:hasValue ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b958": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b958", - "stable_id": "b--5245745402393378989", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"\"\"If the relation composedOf is present, it must associate an EnumerationKind-Substance with one or more Properties that \nidentify and characterize its constituents. The Property identifies the constituent using the relation ofConstituent. If appropriate, a \nQuantifiableProperty may be used to also specify the amount of the constituent using the relations qudt:hasQuantityKind, qudt:hasUnit, and s223:hasValue. \nFor example, see `s223:GlycolSolution-15Percent`.\"\"\" ;\n sh:class ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b956": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b957" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b956", - "stable_id": "b-693360214633601692", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b957": "If a substance has a constituent, that constituent may not itself have constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b957": "b-7190142997122964463" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A substance may only have atomic constituents, it may not have a constituent that also composed ofs.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"If a substance has a constituent, that constituent may not itself have constituents.\" ;\n sh:message \"s223: This substance {$this} has a constituent {?constituent} that itself composed ofs {?nextConstituent}. Create new substance with only atomic constituents.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?constituent ?nextConstituent\nWHERE {\n$this s223:composedOf ?constituent .\n?constituent s223:ofConstituent/s223:composedOf ?nextConstituent .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b957": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"If a substance has a constituent, that constituent may not itself have constituents.\" ;\n sh:message \"s223: This substance {$this} has a constituent {?constituent} that itself composed ofs {?nextConstituent}. Create new substance with only atomic constituents.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?constituent ?nextConstituent\nWHERE {\n$this s223:composedOf ?constituent .\n?constituent s223:ofConstituent/s223:composedOf ?nextConstituent .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1257": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1257", - "stable_id": "b--4960903732084845207", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An electricity AC medium must have a frequency\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1258": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1258", - "stable_id": "b--4118923966556378597", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An electricity AC medium must have a voltage.\" ;\n sh:minCount 1 ;\n sh:or ( [ sh:class ] [ sh:class ] [ sh:class ] ) ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1265": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1265", - "stable_id": "b--6095190787538594019", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An electricity AC medium must have a number of electrical phases.\" ;\n sh:class ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1138": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1138", - "stable_id": "b--4063288366079221551", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An electricity DC medium must have two reference voltages.\" ;\n sh:minCount 1 ;\n sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b951": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b951", - "stable_id": "b-4929695656539410314", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasFreezingPoint is used, the object must be a QuantifiableProperty with a quantity kind of Temperature.\" ;\n sh:class ;\n sh:message \"The object must be a QuantifiableProperty with a quantity kind of Temperature.\" ;\n sh:node [ sh:property [ sh:hasValue ;\n sh:path ] ] ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b940": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b940", - "stable_id": "b-3503347899223522995", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"There must be at least two QuantifiableProperties that characterize the constituents of a Water-GlycolSolution.\" ;\n sh:class ;\n sh:minCount 2 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b946": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b946", - "stable_id": "b-7627906197443869020", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-H2O.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-H2O.\" ;\n sh:hasValue ;\n sh:path ],\n [ rdfs:comment \"The quantity kind of the constituent must be VolumeFraction.\" ;\n sh:hasValue ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b941": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b941", - "stable_id": "b--8074651608380368762", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-Glycol.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ rdfs:comment \"One of the constituents of a Water-GlycolSolution must be Constituent-Glycol.\" ;\n sh:hasValue ;\n sh:path ],\n [ rdfs:comment \"The quantity kind of the constituent must be VolumeFraction.\" ;\n sh:hasValue ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1149": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1150" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1149", - "stable_id": "b-7510095351903019200", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1150": "A Property must not have both a hasInternalReference and a hasValue relation." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1150": "b-1059726059738776568" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Property must not have both a hasInternalReference and a hasValue relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasInternalReference and a hasValue relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasInternalReference and a hasValue relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasInternalReference ?int .\n$this s223:hasValue ?val .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1150": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasInternalReference and a hasValue relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasInternalReference and a hasValue relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasInternalReference ?int .\n$this s223:hasValue ?val .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1160": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1160", - "stable_id": "b-2641823024707213378", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1161": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1161", - "stable_id": "b-4341246249961427708", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1151": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1152" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1151", - "stable_id": "b-1474103145669279398", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1152": "A Property must not have both a hasExternalReference and a hasValue relation." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1152": "b--2573810599529645261" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Property must not have both a hasExternalReference and a hasValue relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasExternalReference and a hasValue relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasExternalReference and a hasValue relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasExternalReference ?ext .\n$this s223:hasValue ?val .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1152": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasExternalReference and a hasValue relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasExternalReference and a hasValue relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasExternalReference ?ext .\n$this s223:hasValue ?val .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1147": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1148" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1147", - "stable_id": "b-9087253009322732104", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1148": "A Property must not have both a hasInternalReference and a hasExternalReference relation." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1148": "b-8898749719240746252" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A Property must not have both a hasInternalReference and a hasExternalReference relation.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasInternalReference and a hasExternalReference relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasInternalReference and a hasExternalReference relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasInternalReference ?int .\n$this s223:hasExternalReference ?ext .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1148": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"A Property must not have both a hasInternalReference and a hasExternalReference relation.\" ;\n sh:message \"s223: {$this} cannot have both a hasInternalReference and a hasExternalReference relation.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this s223:hasInternalReference ?int .\n$this s223:hasExternalReference ?ext .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1162": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1162", - "stable_id": "b-8488835325298382924", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasAspect is present, it must associate the Property with an EnumerationKind.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasAspect is present, it must associate the Property with an EnumerationKind.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1163": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1163", - "stable_id": "b--1385193714751069966", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Property can be associated with at most one Function using the inverse relation hasOutput.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can be associated with at most one Function using the inverse relation hasOutput.\" ;\n sh:path [ sh:inversePath ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1153": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1153", - "stable_id": "b-592443257214529172", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasInternalReference is present it must associate the Property with another Property.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasInternalReference is present it must associate the Property with another Property.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1157": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1157", - "stable_id": "b-707407058724692185", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation hasExternalReference is present it must associate the Property with an ExternalReference.\" ;\n sh:class ;\n sh:message \"s223: If the relation hasExternalReference is present it must associate the Property with an ExternalReference.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1165": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1165", - "stable_id": "b--1570925251840062437", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"A Property instance cannot be declared an instance of both an ActuatableProperty and an ObservableProperty.\" ;\n sh:message \"s223: {$this} cannot be declared an instance of both an ActuatableProperty and an ObservableProperty.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\nWHERE {\n$this a/rdfs:subClassOf* s223:ActuatableProperty .\n$this a/rdfs:subClassOf* s223:ObservableProperty .\n}\n\"\"\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1154": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1154", - "stable_id": "b--985211096103520932", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An instance of s223:Property must not be observed (set) by more than one entity.\" ;\n sh:maxCount 1 ;\n sh:message \"s223: An instance of s223:Property must not be observed (set) by more than one entity.\" ;\n sh:path [ sh:inversePath ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1159": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1159", - "stable_id": "b--3133013573688986499", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"If an incoming relation composedOf exists, then the Property must have a declared substance using the relation ofConstituent.\" ;\n sh:message \"s223: Property {$this} is referred to by {?something} with s223:composedOf, but the Property has no value for s223:ofConstituent.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?something\nWHERE {\n?something s223:composedOf $this .\nFILTER NOT EXISTS {$this s223:ofConstituent ?someSubstance} .\n}\n\"\"\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1156": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1156", - "stable_id": "b-583987989728608606", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Property can use at most one relation hasValue if it is required to provide a static value in the model. It is not meant for real-time value (see `s223:hasExternalReference`).\" ;\n sh:maxCount 1 ;\n sh:message \"s223: A Property can use at most one relation hasValue if it is required to provide a static value in the model. It is not meant for real-time value (see `s223:hasExternalReference`).\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b867": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b867", - "stable_id": "b-4396975964306916108", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ActuatableProperty normally is referred to by Equipment using the relation s223:actuatedByProperty.\" ;\n sh:class ;\n sh:message \"s223: An ActuatableProperty normally is referred to by Equipment using the relation s223:actuatedByProperty.\" ;\n sh:minCount 1 ;\n sh:path [ sh:inversePath ] ;\n sh:severity sh:Warning .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b857": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b857", - "stable_id": "b-4555969101884888215", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ObservableProperty normally is referred to by a Sensor using the relation s223:observes.\" ;\n sh:class ;\n sh:message \"s223: An ObservableProperty normally is referred to by a Sensor using the relation s223:observes.\" ;\n sh:minCount 1 ;\n sh:path [ sh:inversePath ] ;\n sh:severity sh:Warning .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b811": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b812" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b811", - "stable_id": "b--5345367346018648581", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b812": "Checks for valid enumeration value consistent with the stated EnumerationKind." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b812": "b--5019750232489090129" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Checks for valid enumeration value consistent with the stated EnumerationKind.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Checks for valid enumeration value consistent with the stated EnumerationKind.\" ;\n sh:message \"s223: {$this} has an enumeration value of {?value} which is not a valid {?kind}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?value ?kind\nWHERE {\n$this s223:hasValue ?value .\n$this s223:hasEnumerationKind ?kind .\nFILTER (NOT EXISTS {?value a/rdfs:subClassOf* ?kind}) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b812": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Checks for valid enumeration value consistent with the stated EnumerationKind.\" ;\n sh:message \"s223: {$this} has an enumeration value of {?value} which is not a valid {?kind}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?value ?kind\nWHERE {\n$this s223:hasValue ?value .\n$this s223:hasEnumerationKind ?kind .\nFILTER (NOT EXISTS {?value a/rdfs:subClassOf* ?kind}) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b813": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b813", - "stable_id": "b--8431113389483725122", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EnumerableProperty must be associated with exactly one EnumerationKind using the relation hasEnumerationKind.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: An EnumerableProperty must be associated with exactly one EnumerationKind using the relation hasEnumerationKind.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1172": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1173" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1172", - "stable_id": "b-5334090407939031041", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1173": "This QuantifiableProperty and the associated threshold use non-commensurate Units." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1173": "b-3691033283322402016" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the associated threshold use non-commensurate Units.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated threshold use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while threshold {?threshold} uses Unit {?tunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?punit ?tunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasUnit ?tunit .\n?punit qudt:hasDimensionVector ?pdv .\n?tunit qudt:hasDimensionVector ?tdv .\nFILTER (?punit != ?tunit) .\nFILTER (?pdv != ?tdv) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1173": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated threshold use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while threshold {?threshold} uses Unit {?tunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?punit ?tunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasUnit ?tunit .\n?punit qudt:hasDimensionVector ?pdv .\n?tunit qudt:hasDimensionVector ?tdv .\nFILTER (?punit != ?tunit) .\nFILTER (?pdv != ?tdv) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1195": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1196" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1195", - "stable_id": "b-8685350831099571844", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1196": "This QuantifiableProperty and the associated setpoint use non-commensurate Units." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1196": "b-4846926471069129561" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the associated setpoint use non-commensurate Units.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated setpoint use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while setpoint {?setpoint} uses Unit {?sunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?punit ?sunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasUnit ?sunit .\n?punit qudt:hasDimensionVector ?pdv .\n?sunit qudt:hasDimensionVector ?sdv .\nFILTER (?punit != ?sunit) .\nFILTER (?pdv != ?sdv) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1196": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated setpoint use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while setpoint {?setpoint} uses Unit {?sunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?punit ?sunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasUnit ?sunit .\n?punit qudt:hasDimensionVector ?pdv .\n?sunit qudt:hasDimensionVector ?sdv .\nFILTER (?punit != ?sunit) .\nFILTER (?pdv != ?sdv) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1175": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1176" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1175", - "stable_id": "b--3149511741337559223", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1176": "This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1176": "b--6745088460403583447" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while Setpoint {?setpoint} uses QuantityKind {?sqk} with DimensionVector {?sdv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?pqk ?sqk ?pdv ?sdv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasQuantityKind ?sqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?sqk qudt:hasDimensionVector ?sdv .\nFILTER (?pqk != ?sqk) .\nFILTER (?pdv != ?sdv) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1176": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while Setpoint {?setpoint} uses QuantityKind {?sqk} with DimensionVector {?sdv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?pqk ?sqk ?pdv ?sdv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasQuantityKind ?sqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?sqk qudt:hasDimensionVector ?sdv .\nFILTER (?pqk != ?sqk) .\nFILTER (?pdv != ?sdv) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1169": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1170" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1169", - "stable_id": "b--1674408642287236535", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1170": "This QuantifiableProperty and the associated Deadband use non-commensurate Units." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1170": "b-7563517505429455819" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the associated Deadband use non-commensurate Units.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated Deadband use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while Deadband {?deadband} uses Unit {?dunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?punit ?dunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasUnit ?dunit .\n?punit qudt:hasDimensionVector ?pdv .\n?dunit qudt:hasDimensionVector ?ddv .\nFILTER (?punit != ?dunit) .\nFILTER (?pdv != ?ddv) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1170": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the associated Deadband use non-commensurate Units.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while Deadband {?deadband} uses Unit {?dunit}. These are non-commensurate.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?punit ?dunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasUnit ?dunit .\n?punit qudt:hasDimensionVector ?pdv .\n?dunit qudt:hasDimensionVector ?ddv .\nFILTER (?punit != ?dunit) .\nFILTER (?pdv != ?ddv) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1192": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1192", - "stable_id": "b--5078607006481656822", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A QuantifiableProperty can be associated with at most one Unit using the relation hasUnit.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A QuantifiableProperty can be associated with at most one Unit using the relation hasUnit.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1189": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1190" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1189", - "stable_id": "b-2288914822425939798", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1190": "This QuantifiableProperty cannot have a value without a Unit." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1190": "b--2139833084211772664" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:message \"s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a Unit.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?v ?subject\nWHERE {\n$this s223:hasValue ?v .\nFILTER NOT EXISTS {$this qudt:hasUnit ?u} .\n?subject ?p $this .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1190": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:message \"s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a Unit.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?v ?subject\nWHERE {\n$this s223:hasValue ?v .\nFILTER NOT EXISTS {$this qudt:hasUnit ?u} .\n?subject ?p $this .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1193": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1193", - "stable_id": "b-5125826405875468761", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A QuantifiableProperty must be associated with a QuantityKind using the relation hasQuantityKind.\" ;\n sh:class ;\n sh:maxCount 1 ;\n sh:message \"s223: A QuantifiableProperty must be associated with a QuantityKind using the relation hasQuantityKind.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1183": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1184" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1183", - "stable_id": "b-7403191130401950047", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1184": "This QuantifiableProperty uses a different Unit than the setpoint associated with it." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1184": "b--1623120915728837001" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty uses a different Unit than the setpoint associated with it.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the setpoint associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while setpoint {?setpoint} uses Unit {?sunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?punit ?sunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasUnit ?sunit .\n?punit qudt:hasDimensionVector ?pdv .\n?sunit qudt:hasDimensionVector ?sdv .\nFILTER (?punit != ?sunit) .\nFILTER (?pdv = ?sdv) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1184": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the setpoint associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while setpoint {?setpoint} uses Unit {?sunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?setpoint ?punit ?sunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasSetpoint ?setpoint .\n?setpoint qudt:hasUnit ?sunit .\n?punit qudt:hasDimensionVector ?pdv .\n?sunit qudt:hasDimensionVector ?sdv .\nFILTER (?punit != ?sunit) .\nFILTER (?pdv = ?sdv) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1181": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1182" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1181", - "stable_id": "b--2062485502337390471", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1182": "This QuantifiableProperty uses a different Unit than the threshold associated with it." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1182": "b--4981084184277949333" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty uses a different Unit than the threshold associated with it.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the threshold associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while threshold {?threshold} uses Unit {?tunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?punit ?tunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasUnit ?tunit .\n?punit qudt:hasDimensionVector ?pdv .\n?tunit qudt:hasDimensionVector ?tdv .\nFILTER (?punit != ?tunit) .\nFILTER (?pdv = ?tdv) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1182": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the threshold associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while threshold {?threshold} uses Unit {?tunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?punit ?tunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasUnit ?tunit .\n?punit qudt:hasDimensionVector ?pdv .\n?tunit qudt:hasDimensionVector ?tdv .\nFILTER (?punit != ?tunit) .\nFILTER (?pdv = ?tdv) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1177": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1178" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1177", - "stable_id": "b-6419510896172148770", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1178": "This QuantifiableProperty cannot have a value without a Unit." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1178": "b-717103096703521872" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:message \"s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a Unit.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?v ?subject\nWHERE {\n$this s223:hasValue ?v .\nFILTER NOT EXISTS {$this qudt:hasUnit ?u} .\n?subject ?p $this .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1178": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty cannot have a value without a Unit.\" ;\n sh:message \"s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a Unit.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?v ?subject\nWHERE {\n$this s223:hasValue ?v .\nFILTER NOT EXISTS {$this qudt:hasUnit ?u} .\n?subject ?p $this .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1179": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1180" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1179", - "stable_id": "b-171828482011295075", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1180": "This QuantifiableProperty and the threshold associated with it have non-commensurate QuantityKinds." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1180": "b--6950322614778320701" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the threshold associated with it have non-commensurate QuantityKinds.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the threshold associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while threshold {?threshold} uses QuantityKind {?tqk} with DimensionVector {?tdv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?pqk ?sqk ?pdv ?sdv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasQuantityKind ?tqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?tqk qudt:hasDimensionVector ?tdv .\nFILTER (?pqk != ?tqk) .\nFILTER (?pdv != ?tdv) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1180": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the threshold associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while threshold {?threshold} uses QuantityKind {?tqk} with DimensionVector {?tdv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?threshold ?pqk ?sqk ?pdv ?sdv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasThreshold ?threshold .\n?threshold qudt:hasQuantityKind ?tqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?tqk qudt:hasDimensionVector ?tdv .\nFILTER (?pqk != ?tqk) .\nFILTER (?pdv != ?tdv) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1198": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1198", - "stable_id": "b--9060384331635559384", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Checks for consistent dimension vectors for a QuantityKind and the Unit\" ;\n sh:message \"s223: Inconsistent dimensionalities among the Property's Unit and Property's Quantity Kind\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this\n WHERE \n{\n $this qudt:hasQuantityKind/qudt:hasDimensionVector ?qkdv1 .\n $this qudt:hasUnit/qudt:hasDimensionVector ?qkdv2 .\nFILTER (?qkdv1 != ?qkdv2) .\n}\n\"\"\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1171": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1171", - "stable_id": "b--7387632322490156246", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"\"\"A QuantifiableProperty can be associated with an optional Boolean flag using the relation isDeltaQuantity. \nIf the relation isDeltaQuantity has a value of true, the associated value should be interpreted as a difference reading, such as a \ntemperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which\naffects unit conversion calculations.\"\"\" ;\n sh:datatype xsd:boolean ;\n sh:maxCount 1 ;\n sh:message \"\"\"A QuantifiableProperty can be associated with an optional Boolean flag using the relation isDeltaQuantity. \nIf the relation isDeltaQuantity has a value of true, the associated value should be interpreted as a difference reading, such as a \ntemperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which\naffects unit conversion calculations.\"\"\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1174": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1174", - "stable_id": "b-563214012530415022", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:maxCount 0 ;\n sh:message \"s223: A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1187": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1188" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1187", - "stable_id": "b-3189938286958689454", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1188": "This QuantifiableProperty uses a different Unit than the Deadband associated with it." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1188": "b-5316674277084953881" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty uses a different Unit than the Deadband associated with it.\" ;\n sh:path ;\n sh:severity sh:Info ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the Deadband associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while Deadband {?deadband} uses Unit {?dunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?punit ?dunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasUnit ?dunit .\n?punit qudt:hasDimensionVector ?pdv .\n?dunit qudt:hasDimensionVector ?ddv .\nFILTER (?punit != ?dunit) .\nFILTER (?pdv = ?ddv) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1188": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty uses a different Unit than the Deadband associated with it.\" ;\n sh:message \"s223: {$this} uses Unit {?punit}, while Deadband {?deadband} uses Unit {?dunit}. Be careful.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?punit ?dunit\nWHERE {\n$this qudt:hasUnit ?punit .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasUnit ?dunit .\n?punit qudt:hasDimensionVector ?pdv .\n?dunit qudt:hasDimensionVector ?ddv .\nFILTER (?punit != ?dunit) .\nFILTER (?pdv = ?ddv) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1191": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1191", - "stable_id": "b--6712039732620128079", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:maxCount 0 ;\n sh:message \"s223: A QuantifiableProperty should use s223:hasValue instead of qudt:value.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1185": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b1186" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1185", - "stable_id": "b-8578714869186507829", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b1186": "This QuantifiableProperty and the Deadband associated with it have non-commensurate QuantityKinds." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b1186": "b--8800765119623306299" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"This QuantifiableProperty and the Deadband associated with it have non-commensurate QuantityKinds.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the Deadband associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while Deadband {?deadband} uses QuantityKind {?dqk} with DimensionVector {?ddv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?pqk ?dqk ?pdv ?ddv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasQuantityKind ?dqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?dqk qudt:hasDimensionVector ?ddv .\nFILTER (?pqk != ?dqk) .\nFILTER (?pdv != ?ddv) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b1186": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"This QuantifiableProperty and the Deadband associated with it have non-commensurate QuantityKinds.\" ;\n sh:message \"s223: {$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while Deadband {?deadband} uses QuantityKind {?dqk} with DimensionVector {?ddv}. These are non-commensurate\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?deadband ?pqk ?dqk ?pdv ?ddv\nWHERE {\n$this qudt:hasQuantityKind ?pqk .\n$this s223:hasDeadband ?deadband .\n?deadband qudt:hasQuantityKind ?dqk .\n?pqk qudt:hasDimensionVector ?pdv .\n?dqk qudt:hasDimensionVector ?ddv .\nFILTER (?pqk != ?dqk) .\nFILTER (?pdv != ?ddv) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b1194": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1194", - "stable_id": "b--9002814440245179143", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"\"\"Normally, a QuantifiableProperty is associated with a static decimal value using s223:hasValue, along with a single \nunit and quantity kind. However, in some cases, a QuantifiableProperty may instead be associated with a qudt:QuantityValue using the relation \nqudt:quantityValue. This allows the qudt:QuantityValue to express multiple equivalent combinations of unit and value.\"\"\" ;\n sh:class ;\n sh:message \"\"\"Normally, a QuantifiableProperty is associated with a static decimal value using s223:hasValue, along with a single \nunit and quantity kind. However, in some cases, a QuantifiableProperty may instead be associated with a qudt:QuantityValue using the relation \nqudt:quantityValue. This allows the qudt:QuantityValue to express multiple equivalent combinations of unit and value.\"\"\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b1197": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b1197", - "stable_id": "b--3720620548049086299", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLRule ;\n rdfs:comment \"Infer the hasQuantityKind relation if it is unambiguous.\" ;\n sh:construct \"\"\"\nCONSTRUCT {\n$this qudt:hasQuantityKind ?uniqueqk\n}\nWHERE {\n{\nSELECT $this (COUNT (DISTINCT (?qk)) AS ?count)\nWHERE {\nFILTER (NOT EXISTS {$this qudt:hasQuantityKind ?something}) .\n$this qudt:hasUnit/qudt:hasQuantityKind ?qk .\n}\nGROUP BY $this\n}\nFILTER (?count = 1)\n$this qudt:hasUnit/qudt:hasQuantityKind ?uniqueqk .\n}\n\"\"\" ;\n sh:prefixes .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b864": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b864", - "stable_id": "b-1071117328236173977", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"A QuantifiableObservableProperty can be associated with zero or more QuantifiableProperty(s) indicating the desired value(s) which the control process is trying to maintain using the relation hasSetpoint.\" ;\n sh:class ;\n sh:message \"s223: A QuantifiableObservableProperty can be associated with zero or more QuantifiableProperty(s) indicating the desired value(s) which the control process is trying to maintain using the relation hasSetpoint.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b207": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b207", - "stable_id": "b-7118279097546669817", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation priority-for-writing is present it provides the priority for writing values to the object.\" ;\n sh:datatype xsd:nonNegativeInteger ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b206": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b206", - "stable_id": "b-7879460828826109718", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation property-array-index is present it provides the index for reading items from a property that is an array.\" ;\n sh:datatype xsd:nonNegativeInteger ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b208": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b208", - "stable_id": "b-5315321118728483591", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation object-name is present it associates the external reference with the BACnet object having the specific object name.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b212": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b212", - "stable_id": "b--6371507169408595720", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation device-identifier is present it associates the external reference with a BACnet device having the specific device identifier.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path ;\n sh:pattern \"^[A-Za-z0-9-]+,[1-9][0-9]*$\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b210": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b210", - "stable_id": "b--3070624307886610391", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation device-name is present it associates the external reference with a BACnet device having the specific device name.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b211": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b211", - "stable_id": "b-1009446132447840620", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation object-identifier is present it associates the external reference with the BACnet object having the specific object identifier.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path ;\n sh:pattern \"^[A-Za-z0-9-]+,[1-9][0-9]*$\" .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b209": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b209", - "stable_id": "b--5599534591264178258", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] a sh:PropertyShape ;\n rdfs:comment \"If the relation property-identifier is present it is either a decimal number or exactly equal to the ASHRAE 135-2020 Clause 21 identifier text of BACnetPropertyIdentifier. If it is omitted, it defaults to \\\"present-value\\\" except for BACnet File objects, where absence of property-identifier refers to the entire content of the file accessed with Stream Access.\" ;\n sh:datatype xsd:string ;\n sh:maxCount 1 ;\n sh:minCount 0 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b195": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b195", - "stable_id": "b-4467308637209757146", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AirHandlingUnit shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: An AirHandlingUnit shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b191": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b191", - "stable_id": "b--4680504492496736070", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AirHandlingUnit shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: An AirHandlingUnit shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b686": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b686", - "stable_id": "b-1300475715338414305", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AirHeatExchanger shall have at least two air outlets, each paired with an inlet.\" ;\n sh:message \"s223: An AirHeatExchanger shall have at least two air outlets, each paired with an inlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:minCount 1 ;\n sh:path ],\n [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b684": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b684", - "stable_id": "b-6976040087990447572", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AirHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:message \"s223: An AirHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:path ;\n sh:qualifiedValueShape [ sh:class ;\n sh:message \"s223: An AirHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:qualifiedMaxCount 0 ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b691": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b691", - "stable_id": "b--2163954104886342012", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An AirHeatExchanger shall have at least two air inlets, each paired with an outlet.\" ;\n sh:message \"s223: An AirHeatExchanger shall have at least two air inlets, each paired with an outlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:minCount 1 ;\n sh:path ],\n [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b51": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b51", - "stable_id": "b--9193754548666424738", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Infer the hasRole s223:Role-HeatTransfer relation for every instance of the listed targetClass values.\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#BatteryCPShape": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b10", - "nd65da433b8c64822b829e7f0030fcda9b15" - ], - "complex_constraints": [], - "rules": [], - "label": "Battery CP Shape", - "stable_id": "ns3:BatteryCPShape", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b10": "A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.", - "nd65da433b8c64822b829e7f0030fcda9b15": "A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b10": "b--3628781439585684781", - "nd65da433b8c64822b829e7f0030fcda9b15": "b--2062799178291102844" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Battery CP Shape\" ;\n rdfs:comment \"A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.\" ;\n sh:message \"s223: A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ] [ sh:property [ rdfs:comment \"A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ] ) ;\n sh:severity sh:Warning ;\n sh:targetClass .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b10": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b15": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b217": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b217", - "stable_id": "b-269612854047760040", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Boiler shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A Boiler shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b213": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b213", - "stable_id": "b-3432308850854808866", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Boiler shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A Boiler shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b706": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b706", - "stable_id": "b-7896977128097324601", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ChilledBeam shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A ChilledBeam shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b696": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b696", - "stable_id": "b-4402686111615085729", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ChilledBeam shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A ChilledBeam shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b704": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b704", - "stable_id": "b-2152659488756709715", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ChilledBeam must be associated with the Role-Cooling using the relation hasRole\" ;\n sh:message \"s223: A ChilledBeam must be associated with the Role-Cooling using the relation hasRole\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b700": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b700", - "stable_id": "b-5702882748105091663", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ChilledBeam shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:message \"s223: A ChilledBeam shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b710": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b710", - "stable_id": "b-5758768354885436646", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"A Chilled Beam will always have the role Role-Cooling\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b225": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b225", - "stable_id": "b--3790613723695927582", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Chiller shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A Chiller shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b221": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b221", - "stable_id": "b-1735827757829376797", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Chiller shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A Chiller shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b897": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b897", - "stable_id": "b-423070624303163938", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 2: A Coil shall have one or two bidirectionals using the medium Fluid or ThermalContact.\" ;\n sh:path ;\n sh:qualifiedMaxCount 2 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b906": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b906", - "stable_id": "b--4033661844132032568", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 3: A Coil shall have three bidirectionals using the medium Fluid or ThermalContact.\" ;\n sh:path ;\n sh:qualifiedMaxCount 3 ;\n sh:qualifiedMinCount 3 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b889": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b889", - "stable_id": "b--3084697264358312343", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 2: A Coil shall have one outlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b876": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b876", - "stable_id": "b--7188646233882351703", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 1: For one of the two outlets the Fluid is Air.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b893": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b893", - "stable_id": "b-9017329354020262446", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 2: A Coil shall have one inlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b880": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b880", - "stable_id": "b-8336214973672379922", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 1: A Coil shall have two outlets using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 2 ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b872": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b872", - "stable_id": "b-4015427524505980147", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 1: For one of the two inlets the Fluid is Air.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b884": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b884", - "stable_id": "b--7067401400303405638", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 1: A Coil shall have two inlets using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 2 ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b243": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b243", - "stable_id": "b--5627478068724517708", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A cooling coil must be related to the role 'Role-Cooling' using the relation 'hasRole'.\" ;\n sh:hasValue ;\n sh:message \"s223: A cooling coil must be related to the role 'Role-Cooling' using the relation 'hasRole'.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b244": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b244", - "stable_id": "b--7453880826435306020", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Cooling coils will always have the role Role-Cooling\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b349": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b349", - "stable_id": "b-1701469547968526165", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A heating coil must be related to the role 'Role-Heating' using the relation 'hasRole'.\" ;\n sh:hasValue ;\n sh:message \"s223: A heating coil must be related to the role 'Role-Heating' using the relation 'hasRole'.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b350": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b350", - "stable_id": "b--5420058839216547919", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:TripleRule ;\n rdfs:comment \"Heating coils will always have the role Role-Heating\" ;\n sh:object ;\n sh:predicate ;\n sh:subject sh:this .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b229": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b229", - "stable_id": "b-5994187961949410786", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Compressor shall have at least one inlet.\" ;\n sh:message \"s223: A Compressor shall have at least one inlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b231": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b231", - "stable_id": "b--3339832089557673347", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Compressor shall have at least one outlet.\" ;\n sh:message \"s223: A Compressor shall have at least one outlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b249": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b249", - "stable_id": "b-402367081112006907", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A CoolingTower shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A CoolingTower shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b245": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b245", - "stable_id": "b--1214241636178680673", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A CoolingTower shall have at least one inlet using the medium Water.\" ;\n sh:message \"s223: A CoolingTower shall have at least one inlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b715": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b715", - "stable_id": "b--9147862091600571276", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Damper shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A Damper shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b711": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b711", - "stable_id": "b-9153996150013643511", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Damper shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A Damper shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b257": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b257", - "stable_id": "b--2204484886146557723", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Door shall have at least two bidirectional connection points using the medium Air.\" ;\n sh:message \"s223: A Door shall have at least two bidirectional connection points using the medium Air.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b269": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b269", - "stable_id": "b-4243325573904626745", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricBreaker shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricBreaker shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b277": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b277", - "stable_id": "b--3459773598490436527", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricOutlet shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricOutlet shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b273": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b273", - "stable_id": "b-533479152004746690", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricOutlet shall have exactly one inlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricOutlet shall have exactly one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b723": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b723", - "stable_id": "b--206322792144343166", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricResistanceElement shall have the role Role-Heating.\" ;\n sh:message \"s223: An ElectricResistanceElement shall have the role Role-Heating.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b719": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b719", - "stable_id": "b-3825351671199831107", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricResistanceElement shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricResistanceElement shall have at least one inlet using the medium Electricity.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b731": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b731", - "stable_id": "b--3383818089482001116", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 2: An ElectricResistanceElement shall have one inlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b726": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b726", - "stable_id": "b--3677731865640931322", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 1: An ElectricResistanceElement shall have exactly one Bidirectional ConnectionPoint using the medium Fluid.\" ;\n sh:message \"s223: Pattern 1: An ElectricResistanceElement requires exactly one BidirectionalConnectionPoint using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b735": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b735", - "stable_id": "b--7703829743987285431", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Pattern 2: An ElectricResistanceElement shall have one outlet using the medium Fluid.\" ;\n sh:path ;\n sh:qualifiedMaxCount 1 ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b281": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b281", - "stable_id": "b-4618455357046225104", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricTransformer shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricTransformer shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b285": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b285", - "stable_id": "b--1199006348410911777", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An ElectricTransformer shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: An ElectricTransformer shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b742": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b742", - "stable_id": "b-8662042924558729432", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: An EthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b746": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b746", - "stable_id": "b--8218477079318284609", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An EthernetSwitch shall have at least two BidirectionalConnectionPoints using the medium Signal-Ethernet.\" ;\n sh:message \"s223: An EthernetSwitch shall have at least two BidirectionalConnectionPoints using the medium Signal-Ethernet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b405": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b405", - "stable_id": "b-9157142303647419210", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A PowerOverEthernetSwitch shall have at least one BidirectionalConnectionPoint using the medium PowerAndSignal-PoE.\" ;\n sh:message \"s223: A PowerOverEthernetSwitch shall have at least one BidirectionalConnectionPoint using the medium PowerAndSignal-PoE.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b401": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b401", - "stable_id": "b-6326364045955928191", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A PowerOverEthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A PowerOverEthernetSwitch shall have at least one inlet using the medium Electricity.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b819": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b819", - "stable_id": "b-8733057386064115114", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Fan shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A Fan shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b815": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b815", - "stable_id": "b--8254649877426905964", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Fan shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A Fan shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b303": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b303", - "stable_id": "b--1278925699712019820", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanCoilUnit must be associated with at least 1 Coil using the relation contains.\" ;\n sh:message \"s223: A FanCoilUnit must be associated with at least 1 Coil using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b289": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b289", - "stable_id": "b-4921072272961868694", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanCoilUnit must at least have the role Role-Heating or Role-Cooling.\" ;\n sh:message \"s223: A FanCoilUnit must at least have the role Role-Heating or Role-Cooling.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:in ( ) ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b293": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b293", - "stable_id": "b-3342657086038222855", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanCoilUnit must be associated with at least 1 Fan using the relation contains.\" ;\n sh:message \"s223: A FanCoilUnit must be associated with at least 1 Fan using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b299": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b299", - "stable_id": "b--1190863398647602372", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanCoilUnit shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A FanCoilUnit shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b295": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b295", - "stable_id": "b-5989894574328970348", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanCoilUnit shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A FanCoilUnit shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b309": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b310" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b309", - "stable_id": "b-1782534338434260033", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b310": "Incompatible Medium. Case 1: Two pure mediums." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b310": "b-8386799234123647303" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 1: Associated ConnectionPoints with two pure mediums.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: {$this} with inlet medium {?m2} is incompatible with outlet medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?m1\nWHERE {\n$this s223:cnx ?cp1, ?cp2 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2) .\n?cp1 s223:hasMedium ?m1 .\n?cp2 s223:hasMedium ?m2 . \nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b310": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 1: Two pure mediums.\" ;\n sh:message \"s223: {$this} with inlet medium {?m2} is incompatible with outlet medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?m1\nWHERE {\n$this s223:cnx ?cp1, ?cp2 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2) .\n?cp1 s223:hasMedium ?m1 .\n?cp2 s223:hasMedium ?m2 . \nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {?m2 s223:composedOf ?c2}\nFILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .\nFILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b313": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b314" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b313", - "stable_id": "b--8033459191705976059", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b314": "Incompatible Medium. Case 2: A medium with constituents and a pure medium." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b314": "b-3106404166805516083" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 2: Associated ConnectionPoints, one with a pure medium and one with a medium having constituents..\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A medium with constituents and a pure medium.\" ;\n sh:message \"s223: {$this} has an incompatible medium {?m1} with any constituent of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?m1\nWHERE {\n$this s223:cnx ?cp1, ?cp2 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2) .\n?cp1 s223:hasMedium ?m1 .\n?cp2 s223:hasMedium ?m2 . \n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b314": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 2: A medium with constituents and a pure medium.\" ;\n sh:message \"s223: {$this} has an incompatible medium {?m1} with any constituent of {?m2}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?m2 ?m1\nWHERE {\n$this s223:cnx ?cp1, ?cp2 .\n?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\nFILTER (?cp1 != ?cp2) .\n?cp1 s223:hasMedium ?m1 .\n?cp2 s223:hasMedium ?m2 . \n?m2 s223:composedOf/s223:ofConstituent ?s2 .\nFILTER NOT EXISTS {?m1 s223:composedOf ?c1} .\nFILTER NOT EXISTS {\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .\n}\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b315": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b315", - "stable_id": "b--1448506458751511003", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Filter shall have at least one inlet ConnectionPoint.\" ;\n sh:message \"s223: A Filter shall have at least one inlet ConnectionPoint.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b311": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b311", - "stable_id": "b-2242486316041729690", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Filter shall have at least one outlet.\" ;\n sh:message \"s223: A Filter shall have at least one outlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b307": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b308" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b307", - "stable_id": "b--5291823719233072133", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b308": "Incompatible Medium. Case 3: Two mediums with constituents." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b308": "b--1460192526086596394" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"Incompatible Medium. Case 3: Associated ConnectionPoints with mediums having constituents.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Two mediums with constituents.\" ;\n sh:message \"s223: For Filter {$this} there is no compatible substance between medium {?m2} and medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT ?this ?m2 ?m1\nWHERE {\n ?this s223:cnx ?cp1, ?cp2 .\n ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n FILTER (?cp1 != ?cp2) .\n ?cp1 s223:hasMedium ?m1 .\n ?cp2 s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b308": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"Incompatible Medium. Case 3: Two mediums with constituents.\" ;\n sh:message \"s223: For Filter {$this} there is no compatible substance between medium {?m2} and medium {?m1}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT ?this ?m2 ?m1\nWHERE {\n ?this s223:cnx ?cp1, ?cp2 .\n ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .\n ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .\n FILTER (?cp1 != ?cp2) .\n ?cp1 s223:hasMedium ?m1 .\n ?cp2 s223:hasMedium ?m2 .\n ?m1 s223:composedOf/s223:ofConstituent ?s1 .\n ?m2 s223:composedOf/s223:ofConstituent ?s2 .\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s11 .\n ?m2 s223:composedOf/s223:ofConstituent ?s12 .\n FILTER (?s11 = ?s12) .\n }\n FILTER NOT EXISTS {\n ?m1 s223:composedOf/s223:ofConstituent ?s21 .\n ?m2 s223:composedOf/s223:ofConstituent ?s22 .\n {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .\n }\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b321": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b321", - "stable_id": "b--6874441127488451621", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FumeHood shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A FumeHood shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b317": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b317", - "stable_id": "b-1645300876506443373", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FumeHood shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A FumeHood shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b325": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b325", - "stable_id": "b-7761334501423224372", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Furnace shall have at least one outlet using the medium Air.\" ;\n sh:message \"s223: A Furnace shall have at least one outlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b329": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b329", - "stable_id": "b--3484890169084796953", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Furnace shall have at least one inlet using the medium Air.\" ;\n sh:message \"s223: A Furnace shall have at least one inlet using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b339": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b339", - "stable_id": "b--4262676012622607942", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Generator must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:message \"s223: A Generator must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b340": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b340", - "stable_id": "b--3582883337952282317", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Generator shall have at least one outlet using the medium Electricity.\" ;\n sh:class ;\n sh:message \"s223: A Generator shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b757": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b757", - "stable_id": "b-4591038990490635625", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A HydronicHeatExchanger shall have no ConnectionPoints using the medium Air.\" ;\n sh:class ;\n sh:message \"s223: A HydronicHeatExchanger shall have no ConnectionPoints using the medium Air.\" ;\n sh:path ;\n sh:qualifiedMaxCount 0 ;\n sh:qualifiedValueShape [ sh:property [ sh:class ;\n sh:path ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b750": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b750", - "stable_id": "b-6665867247102004938", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A HydronicHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:message \"s223: A HydronicHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:path ;\n sh:qualifiedValueShape [ sh:class ;\n sh:message \"s223: A HydronicHeatExchanger shall have no BidirectionalConnectionPoints.\" ;\n sh:qualifiedMaxCount 0 ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b760": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b760", - "stable_id": "b--4812985221401600629", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A HydronicHeatExchanger shall have at least two liquid outlets, each paired with an inlet.\" ;\n sh:message \"s223: A HydronicHeatExchanger shall have at least two liquid outlets, each paired with an inlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ],\n [ sh:class ;\n sh:minCount 1 ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b752": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b752", - "stable_id": "b--453979510938855196", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A HydronicHeatExchanger shall have at least two liquid inlets, each paired with an outlet.\" ;\n sh:message \"s223: A HydronicHeatExchanger shall have at least two liquid inlets, each paired with an outlet.\" ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:minCount 1 ;\n sh:path ],\n [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b366": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b366", - "stable_id": "b-3077148000538511654", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An Inverter shall have at least one inlet using the medium Electricity-DC.\" ;\n sh:message \"s223: An Inverter shall have at least one inlet using the medium Electricity-DC.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b362": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b362", - "stable_id": "b-6380662320650660559", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An Inverter shall have at least one outlet using the medium Electricity-AC.\" ;\n sh:message \"s223: An Inverter shall have at least one outlet using the medium Electricity-AC.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b378": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b378", - "stable_id": "b--6757049947176410059", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Motor shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A Motor shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b370": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b370", - "stable_id": "b-6590867479336627875", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Luminaire shall have at least one outlet using the medium EM-Light.\" ;\n sh:message \"s223: A Luminaire shall have at least one outlet using the medium EM-Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b374": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b374", - "stable_id": "b--6758519178929386572", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Luminaire shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A Luminaire shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b393": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b393", - "stable_id": "b--6797407418769164951", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An PhotovoltaicModule shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: An PhotovoltaicModule shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b397": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b397", - "stable_id": "b--5222978669710839953", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"An PhotovoltaicModule must have at least one inlet using the medium EM-Light.\" ;\n sh:message \"s223: An PhotovoltaicModule must have at least one inlet using the medium EM-Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b411": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b411", - "stable_id": "b--1124248738530551814", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ rdfs:comment \"A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.\" ;\n sh:or ( [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] ) ;\n sh:severity sh:Warning ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b409": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b410" - ], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b409", - "stable_id": "b-3242281583874563500", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b410": "The non-electrical ConnectionPoints of a Pump must have compatible Media." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b410": "b-2142603527960321719" - }, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"The non-electrical ConnectionPoints of a Pump must have compatible Media.\" ;\n sh:path ;\n sh:sparql [ a sh:SPARQLConstraint ;\n rdfs:comment \"The non-electrical ConnectionPoints of a Pump must have compatible Media.\" ;\n sh:message \"s223: {?cpa} and {?cpb} on the Pump {$this} have incompatible Media {$mediuma} and {$mediumb}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cpa ?cpb ?mediuma ?mediumb\nWHERE {\n $this s223:hasConnectionPoint ?cpa .\n $this s223:hasConnectionPoint ?cpb .\n FILTER (?cpa != ?cpb) .\n ?cpa s223:hasMedium ?mediuma .\n FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* s223:Constituent-Electricity}) .\n ?cpb s223:hasMedium ?mediumb .\n FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* s223:Constituent-Electricity}) .\n FILTER (?mediuma != ?mediumb) .\n FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* ?mediuma}) .\n FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* ?mediumb}) .\n}\n\"\"\" ] .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b410": "@prefix rdfs: .\n@prefix sh: .\n\n[] a sh:SPARQLConstraint ;\n rdfs:comment \"The non-electrical ConnectionPoints of a Pump must have compatible Media.\" ;\n sh:message \"s223: {?cpa} and {?cpb} on the Pump {$this} have incompatible Media {$mediuma} and {$mediumb}.\" ;\n sh:prefixes ;\n sh:select \"\"\"\nSELECT $this ?cpa ?cpb ?mediuma ?mediumb\nWHERE {\n $this s223:hasConnectionPoint ?cpa .\n $this s223:hasConnectionPoint ?cpb .\n FILTER (?cpa != ?cpb) .\n ?cpa s223:hasMedium ?mediuma .\n FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* s223:Constituent-Electricity}) .\n ?cpb s223:hasMedium ?mediumb .\n FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* s223:Constituent-Electricity}) .\n FILTER (?mediuma != ?mediumb) .\n FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* ?mediuma}) .\n FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* ?mediumb}) .\n}\n\"\"\" .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b423": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b423", - "stable_id": "b-5064008606994796119", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ rdfs:comment \"A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:message \"s223: A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.\" ;\n sh:or ( [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] [ sh:property [ sh:class ;\n sh:path ] ] ) ;\n sh:severity sh:Warning ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b823": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b823", - "stable_id": "b--7270743454632178853", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A radiant heater must hasRole Role-Heating.\" ;\n sh:message \"s223: A radiant heater must hasRole Role-Heating.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b825": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b825", - "stable_id": "b--8855106083611524308", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A RadiantHeater shall have at least one outlet connection point using the medium Infrared.\" ;\n sh:message \"s223: A RadiantHeater shall have at least one outlet connection point using the medium Infrared.\" ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#RadiantHeaterInletShape": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b78", - "nd65da433b8c64822b829e7f0030fcda9b65", - "nd65da433b8c64822b829e7f0030fcda9b74" - ], - "complex_constraints": [], - "rules": [], - "label": "Radiant heater inlet shape", - "stable_id": "ns3:RadiantHeaterInletShape", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b78": "A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.", - "nd65da433b8c64822b829e7f0030fcda9b65": "A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.", - "nd65da433b8c64822b829e7f0030fcda9b74": "A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b78": "b--1297930210824207032", - "nd65da433b8c64822b829e7f0030fcda9b65": "b--7185724228486602646", - "nd65da433b8c64822b829e7f0030fcda9b74": "b-1987626740175423118" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Radiant heater inlet shape\" ;\n rdfs:comment \"A radiant heater shall have exactly one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:message \"s223: A radiant heater shall have exactly one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:severity sh:Warning ;\n sh:targetClass ;\n sh:xone ( [ sh:property [ rdfs:comment \"A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ] ] ] ] ] [ sh:property [ rdfs:comment \"A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ] ) .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b78": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b65": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:or ( [ sh:class ] [ sh:class ] ) ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b74": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A radiant heater shall have at least one inlet using the medium Electricity, NaturalGas, or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b829": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b829", - "stable_id": "b-3662874634464046065", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Radiator shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:message \"s223: A Radiator shall have at least one bidirectional connection point using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b833": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b833", - "stable_id": "b-3740894189131438419", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"Radiators must have the role Role-Heating.\" ;\n sh:message \"s223: Radiators must have the role Role-Heating.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#RadiatorInletShape": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b94", - "nd65da433b8c64822b829e7f0030fcda9b90", - "nd65da433b8c64822b829e7f0030fcda9b85" - ], - "complex_constraints": [], - "rules": [], - "label": "Radiator", - "stable_id": "ns3:RadiatorInletShape", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b94": "A Radiator shall have at least one outlet using the medium Water.", - "nd65da433b8c64822b829e7f0030fcda9b90": "A Radiator shall have at least one inlet using the medium Electricity or Water.", - "nd65da433b8c64822b829e7f0030fcda9b85": "A Radiator shall have at least one inlet using the medium Electricity or inlet and outlet of Water." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b94": "b--3354939384093881224", - "nd65da433b8c64822b829e7f0030fcda9b90": "b-2399914074486904028", - "nd65da433b8c64822b829e7f0030fcda9b85": "b--7926404985024187284" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Radiator\" ;\n rdfs:comment \"A Radiator shall have at least one inlet using the medium Electricity or inlet and outlet of Water.\" ;\n sh:message \"s223: A Radiator shall have at least one inlet using the medium Electricity or inlet and outlet of Water.\" ;\n sh:severity sh:Warning ;\n sh:targetClass ;\n sh:xone ( [ sh:property [ rdfs:comment \"A Radiator shall have at least one inlet using the medium Electricity or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ] [ sh:property [ rdfs:comment \"A Radiator shall have at least one inlet using the medium Electricity or Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ],\n [ rdfs:comment \"A Radiator shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ] ] ) .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b94": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Radiator shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b90": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Radiator shall have at least one inlet using the medium Electricity or Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b85": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Radiator shall have at least one inlet using the medium Electricity or inlet and outlet of Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b443": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b443", - "stable_id": "b--8480241038266866127", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A SolarThermalCollector shall have at least one outlet using the medium Water.\" ;\n sh:message \"s223: A SolarThermalCollector shall have at least one outlet using the medium Water.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b439": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b439", - "stable_id": "b-4470443097948296133", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A SolarThermalCollector shall have at least one inlet using the medium EM-Light.\" ;\n sh:message \"s223: A SolarThermalCollector shall have at least one inlet using the medium EM-Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b928": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b928", - "stable_id": "b-6608341412505158064", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A TerminalUnit shall have at least one inlet ConnectionPoint using the medium Air.\" ;\n sh:message \"s223: A TerminalUnit shall have at least one inlet ConnectionPoint using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b932": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b932", - "stable_id": "b-9009832538114050291", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A TerminalUnit shall have at least one outlet ConnectionPoint using the medium Air.\" ;\n sh:message \"s223: A TerminalUnit shall have at least one outlet ConnectionPoint using the medium Air.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b261": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b261", - "stable_id": "b-1738769397012659265", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A DualDuctTerminal shall have at least two inlets using the medium Air.\" ;\n sh:message \"s223: A DualDuctTerminal shall have at least two inlets using the medium Air.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b305": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b305", - "stable_id": "b--3931251549988540419", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A FanPoweredTerminal must be associated with at least one Fan by using the relation contains.\" ;\n sh:message \"s223: A FanPoweredTerminal must be associated with at least one Fan by using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b437": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b437", - "stable_id": "b--4005634928989984292", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A SingleDuctTerminal must be associated with at least one Damper using the relation contains.\" ;\n sh:message \"s223: A SingleDuctTerminal must be associated with at least one Damper using the relation contains.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b451": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b451", - "stable_id": "b--8791266105453098119", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Thermal Energy Storage Unit must have at least two connection points.\" ;\n sh:class ;\n sh:message \"s223: A Thermal Energy Storage Unit must have at least two connection points.\" ;\n sh:minCount 2 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b454": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b454", - "stable_id": "b-5067214465715913901", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Turbine shall have at least one outlet using the medium Electricity.\" ;\n sh:class ;\n sh:message \"s223: A Turbine shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b453": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b453", - "stable_id": "b--4535848938494678650", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Turbine must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:message \"s223: A Turbine must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.\" ;\n sh:minCount 1 ;\n sh:path .\n\n", - "cbds": {} - }, - "http://data.ashrae.org/standard223#ValveCPShape": { - "simple_constraints": [ - "nd65da433b8c64822b829e7f0030fcda9b136", - "nd65da433b8c64822b829e7f0030fcda9b139", - "nd65da433b8c64822b829e7f0030fcda9b134" - ], - "complex_constraints": [], - "rules": [], - "label": "Valve", - "stable_id": "ns3:ValveCPShape", - "labels": { - "nd65da433b8c64822b829e7f0030fcda9b136": "A Valve shall have at least one inlet and one outlet or two bidirectional connection points.", - "nd65da433b8c64822b829e7f0030fcda9b139": "A Valve shall have at least one inlet and one outlet or two bidirectional connection points.", - "nd65da433b8c64822b829e7f0030fcda9b134": "A Valve shall have at least one inlet and one outlet or two bidirectional connection points." - }, - "stable_ids": { - "nd65da433b8c64822b829e7f0030fcda9b136": "b-5607340615972431626", - "nd65da433b8c64822b829e7f0030fcda9b139": "b--1553921592593154310", - "nd65da433b8c64822b829e7f0030fcda9b134": "b--3861880461491219283" - }, - "cbd": "@prefix rdf: .\n@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n a sh:NodeShape ;\n rdfs:label \"Valve\" ;\n rdfs:comment \"A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:message \"s223: A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:or ( [ sh:property [ rdfs:comment \"A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ],\n [ rdfs:comment \"A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ] ] [ sh:property [ rdfs:comment \"A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true ] ] ) ;\n sh:severity sh:Warning ;\n sh:targetClass .\n\n", - "cbds": { - "nd65da433b8c64822b829e7f0030fcda9b136": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b139": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:minCount 2 ;\n sh:path ;\n sh:qualifiedMinCount 2 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n", - "nd65da433b8c64822b829e7f0030fcda9b134": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Valve shall have at least one inlet and one outlet or two bidirectional connection points.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] ;\n sh:qualifiedValueShapesDisjoint true .\n\n" - } - }, - "nd65da433b8c64822b829e7f0030fcda9b452": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b452", - "stable_id": "b--327121902104586336", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A ThreeWayValve must have at least three ConnectionPoints using the relation hasConnectionPoint.\" ;\n sh:message \"s223: A ThreeWayValve must have at least three ConnectionPoints using the relation hasConnectionPoint.\" ;\n sh:minCount 3 ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b459": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b459", - "stable_id": "b--4956510155844777431", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A TwoWayValve shall have at least one outlet.\" ;\n sh:message \"s223: A TwoWayValve shall have at least one outlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b457": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b457", - "stable_id": "b--3073427355163767834", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A TwoWayValve shall have at least one inlet.\" ;\n sh:message \"s223: A TwoWayValve shall have at least one inlet.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b461": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b461", - "stable_id": "b-3804280212797000800", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n\n[] rdfs:comment \"If the relation connectedTo is present it must associate the VariableFrequencyDrive with a Equipment.\" ;\n sh:class ;\n sh:message \"s223: If the relation connectedTo is present it must associate the VariableFrequencyDrive with a Equipment.\" ;\n sh:path .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b462": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b462", - "stable_id": "b-1063081336169333705", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A VariableFrequencyDrive shall have at least one outlet using the medium Electricity.\" ;\n sh:message \"s223: A VariableFrequencyDrive shall have at least one outlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b466": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b466", - "stable_id": "b--4550206442849905572", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A VariableFrequencyDrive shall have at least one inlet using the medium Electricity.\" ;\n sh:message \"s223: A VariableFrequencyDrive shall have at least one inlet using the medium Electricity.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] ;\n sh:severity sh:Warning .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b477": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b477", - "stable_id": "b-7136284089091529313", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Window shall have at least one outlet using the medium Light.\" ;\n sh:message \"s223: A Window shall have at least one outlet using the medium Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - }, - "nd65da433b8c64822b829e7f0030fcda9b473": { - "simple_constraints": [], - "complex_constraints": [], - "rules": [], - "label": "nd65da433b8c64822b829e7f0030fcda9b473", - "stable_id": "b--3428856133069607363", - "labels": {}, - "stable_ids": {}, - "cbd": "@prefix rdfs: .\n@prefix sh: .\n@prefix xsd: .\n\n[] rdfs:comment \"A Window shall have at least one inlet using the medium Light.\" ;\n sh:message \"s223: A Window shall have at least one inlet using the medium Light.\" ;\n sh:minCount 1 ;\n sh:path ;\n sh:qualifiedMinCount 1 ;\n sh:qualifiedValueShape [ sh:class ;\n sh:node [ sh:property [ sh:class ;\n sh:path ] ] ] .\n\n", - "cbds": {} - } -} \ No newline at end of file