Skip to content

Commit

Permalink
Merge branch 'main' into AmnaKRDB-patch-2
Browse files Browse the repository at this point in the history
  • Loading branch information
EdliraK authored Nov 2, 2023
2 parents 0a81fe4 + 1ea6f65 commit a71c7b0
Show file tree
Hide file tree
Showing 22 changed files with 8,924 additions and 104 deletions.
12 changes: 10 additions & 2 deletions .acimov/publish.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import subprocess
import rdflib
from rdflib import Graph, URIRef, Literal, BNode
from rdflib.namespace import RDF, OWL, DCTERMS, XSD, RDFS
from rdflib.namespace import RDF, OWL, DCTERMS, XSD, RDFS, SKOS
import pylode
import mistune
import yaml, json
Expand Down Expand Up @@ -163,7 +163,15 @@ def process_turtle_file(input_file_path:str, dest_path:str):
definedTerms = []
for definedTerm in g.subjects(RDFS.isDefinedBy, ontology):
localName = str(definedTerm)[len(base):]
f.write(f""" {localName}: aec3po:{localName}\n""")
if (definedTerm, RDF.type, OWL.ObjectProperty) in g:
f.write(f""" {localName}: {{'@id': aec3po:{localName}, '@type': '@id'}}\n""")
for alias in g.objects(definedTerm, SKOS.hiddenLabel):
f.write(f""" {alias}: {{'@id': aec3po:{localName}, '@type': '@id'}}\n""")
else:
f.write(f""" {localName}: aec3po:{localName}\n""")
for alias in g.objects(definedTerm, SKOS.hiddenLabel):
f.write(f""" {alias}: aec3po:{localName}\n""")



def process(input_file_path):
Expand Down
28 changes: 18 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ AEC3PO has been developed in order to capture all aspects of building compliance

- building codes, regulations, and standards
- compliance and permitting processes and documentation
- compliance and permitting actors
- compliance and permitting actorsACC

The ontology requirements are essentially derived from the rule formalisation methodology that aims to semantise regulations and provide an open format for machine-readable rules.

Expand Down Expand Up @@ -85,31 +85,39 @@ Below is an overview of each module and its sub-components:
- Properties: _hasFormat_, _forDocument_, _etc_.

5. **Module 5: CheckMethod**: This module describes pieces of information that operationalize check statements in documents.
- Classes: _CheckMethod_, _BooleanCheckMethod_, _ComponentCheckMethod_, _SHACLCheckMethod_, _ACCORDCheckMethod_, _FuncionCheckMethod_, etc.
- Classes: _CheckMethod_, _BooleanCheckMethod_, _ComponentCheckMethod_, _SHACLCheckMethod_, _CompositeCheckMethod_, _FuncionCheckMethod_, etc.
- Properties: _hasUnit_, _hasTarget_, _operationalizes_, _operationalizedBy_, _etc_.

6. **Module 6: FeatureOfInterest**: This module describes objects whose conformance against checks is verified, and those aspects of a feature of interest that are intrinsic to and cannot exist without the feature of interest, that must be checked for conformance.
- Classes: _FeatureOfInterest_, _Property_, _PropertyKind_, _QuantityKind_
- Properties: _hasProperty_, _hasQuantityKind_, _hasPropertyKind_, _hasDesign_, _hasContext_, _etc_.

7. **CheckingAct**: This AEC3PO module describes the act of checking some entities for something and generating a conformance report.
7. **CheckingAct**: This AEC3PO module describes the act of checking some entities for something and generating a compliance verification report.
- Classes: _CheckingAct_, _ProcessVerifier_, _etc_.
- Properties: _usedMethod_, _madeBy_, _hasReport_, _checks_, _etc_.

8. **ConformanceReport**: This AEC3PO module describes results of some `aec3po:ProcesVerifier` checking some entity via a `aec3po:CheckingAct`. Entities may be validated or repudiated.
- Classes: _ConformanceReport_, _result_, _ValidationResult_,_Severity_, _etc_.
- Properties: _conforms_, _focus_, _resultMessage_, _resultSeverity_, _Info_, _Violation_, _Severity_,_etc._
8. **Compliance Verification Report**: This AEC3PO module describes results of some `aec3po:ProcesVerifier` checking some entity via a `aec3po:CheckingAct`. Entities may be validated or repudiated.
- Classes: _ComplianceVerificationReport_, _result_, _ValidationResult_,_Severity_, _etc_.
- Properties: _conforms_, _focus_, _resultMessage_, _resultSeverity_,_etc._

9. **Design**: This AEC3PO module describes descriptions of some design of features of interest, in terms of structure, geometry, and function.
- Classes: _Design_, _PropertyDesign_.
- Properties: _hasDesign_.

10. **Legal Verifier**: This AEC3PO module defines state and private verifiers.
- Classes: _LegalVerifier_, _PrivateVerifier_, _StateVerifier_.
- Properties: _hasDesign_.

9. **Model**: This AEC3PO module describes BIM models.
11. **Model**: This AEC3PO module describes BIM models.
- Classes: _Model_, _Phase_, _Element_, _Classification_, _etc_.
- Properties: _name_, _description_, _location_, _locationCoverage_, _material_, _hasBuildingPhase_, _hasDimensions_, _hasElementPhase_, _hasClassification_, _etc._

10. **Table**: This AEC3PO module describes tables as representations of data in rows and columns. Tables are described by captions.
12. **Table**: This AEC3PO module describes tables as representations of data in rows and columns. Tables are described by captions.
- Classes: _Container_, _Table_, _Column_, _Row_, _Cell_.
- Properties: _contains_, _isContainedIn_, _caption_.

Each module encompasses classes that represent specific entities or concepts in the construction domain. For example, the **_Document_** module deals with different types of statements, evidence, and related properties. The **_CheckMethod_** module focuses on different types of check methods, such as procedural, declarative, boolean, component, SHACL and ACCORD checks.
Similarly, the **_Design_** module includes classes representing design-related concepts, while the **_FeatureOfInterest_** module deals with features like building components and spaces. The **_CheckingAct_** module represents different verifier roles, their associated methods, and the **_ConformanceReport_** stores the outcomes of the check, their validation results and the corresponding messages.
Each module encompasses classes that represent specific entities or concepts in the construction domain. For example, the **_Document_** module deals with different types of statements, evidence, and related properties. The **_CheckMethod_** module focuses on different types of check methods, such as procedural, declarative, boolean, component, SHACL and composite checks.
Similarly, the **_Design_** module includes classes representing design-related concepts, while the **_FeatureOfInterest_** module deals with features like building components and spaces. The **_CheckingAct_** module represents different verifier roles, their associated methods, and the **_ComplianceVerificationReport_** stores the outcomes of the check, their validation results and the corresponding messages.

### AEC3PO Alignments <a name="alignments"></a>
AEC3PO contains five modules, each of them imports an external ontology, and specifies a set of alignment axioms to connect the terms of the imported ontologies with each other. The figure below illustrates the alignment of the AEC3PO ontology with various other ontologies, showcasing how different domains and concepts interconnect for a comprehensive representation of compliance and permitting in the AEC industry.
Expand Down
10 changes: 5 additions & 5 deletions examples/Finland/FI-accessibility-AEC3PO.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ ex:ramp_numericalCheckMethod_Width aec3po:forDesign ex:design_rampWidth .
ex:ramp_numericalCheckMethod_LandingLength aec3po:forDesign ex:design_rampPropertyLandingLength .
ex:ramp_CheckMethod_Gradient aec3po:forDesign ex:design_rampPropertyGradient .

# Conduct the checking act and generate a conformance report.
# Conduct the checking act and generate a compliance verification report.
ex:ramp_checkingAct a aec3po:CheckingAct , owl:NamedIndividual .

# Link the checkingAct to all the CheckMethods using usedMethod property
Expand All @@ -396,9 +396,9 @@ ex:ramp_checkingAct aec3po:usedMethod
ex:ramp_numericalCheckMethod_LandingLength ,
ex:ramp_CheckMethod_Gradient .

# Instantiate the conformance report
ex:ramp_ConformanceReport a aec3po:ConformanceReport , owl:NamedIndividual ;
# Instantiate the compliance verification report
ex:ramp_ComplianceVerificationReport a aec3po:ComplianceVerification , owl:NamedIndividual ;
aec3po:conforms true .

# Link the checkingAct to the conformance report using hasReport property
ex:ramp_checkingAct aec3po:hasReport ex:ramp_ConformanceReport .
# Link the checkingAct to the compliance verification report using hasReport property
ex:ramp_checkingAct aec3po:hasReport ex:ramp_ComplianceVerificationReport .
12 changes: 6 additions & 6 deletions examples/Finland/FI3-CO2_Emission-AEC3PO.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
@prefix dct: <http://purl.org/dc/terms/> .
@prefix dul: <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#> .
@prefix eli: <http://data.europa.eu/eli/ontology#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
Expand Down Expand Up @@ -1019,7 +1019,7 @@ ex:FI3_categoryCheckMethod_CarbonAssessmentResult aec3po:forDesign ex:FI3_buildi
ex:FI3_categoryCheckMethod_CarbonFootprintResult aec3po:forDesign ex:FI3_building_CarbonFootprintResultPropertyDesign .


# Conduct the checking act and generate a conformance report.
# Conduct the checking act and generate a compliance verification report.
ex:FI3_CO2Emission_checkingAct a aec3po:CheckingAct .

# Link the checkingAct to all the CheckMethods using usedMethod property
Expand All @@ -1029,9 +1029,9 @@ ex:FI3_CO2Emission_checkingAct aec3po:usedMethod
ex:FI3_categoryCheckMethod_CarbonAssessmentResult ,
ex:FI3_categoryCheckMethod_CarbonFootprintResult .

# Instantiate the conformance report
ex:FI3_CO2Emission_ConformanceReport a aec3po:ConformanceReport ;
# Instantiate the compliance verification report
ex:FI3_CO2Emission_ComplianceVerificationReport a aec3po:ComplianceVerificationReport ;
aec3po:conforms false . ## Building Site results are not provided.

# Link the checkingAct to the conformance report using hasReport property
ex:FI3_CO2Emission_checkingAct aec3po:hasReport ex:FI3_CO2Emission_ConformanceReport .
# Link the checkingAct to the compliance verification report using hasReport property
ex:FI3_CO2Emission_checkingAct aec3po:hasReport ex:FI3_CO2Emission_ComplianceVerificationReport .
10 changes: 5 additions & 5 deletions examples/Spain/Spanish_Example.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -165,18 +165,18 @@ ex:cantiliver_numericalCheckMethod_partywall_distance aec3po:forDesign ex:design
ex:cultural-center a aec3po:aec3po:BuildingUsage-curltural ;
aec3po:forBuildingUsage ex:design_streeBaseOffset , ex:design_othersBaseOffset , ex:design_partywall_distance .

# Conduct the checking act and generate a conformance report.
# Conduct the checking act and generate a compliance verification report.
ex:cantiliver_checkingAct a aec3po:CheckingAct .

# Link the checkingAct to all the CheckMethods using usedMethod property
ex:cantiliver_checkingAct aec3po:usedMethod ex:cantiliver_numericalCheckMethod_streetBaseOffset , ex:cantiliver_numericalCheckMethod_otherBaseOffset , ex:cantiliver_numericalCheckMethod_partywall_distance .

# Instantiate the conformance report
ex:cantiliver_ConformanceReport a aec3po:ConformanceReport ;
# Instantiate the ompliance verification report
ex:cantiliver_ComplianceVerificationReport a aec3po:ComplianceVerificationReport ;
aec3po:conforms true .

# Link the checkingAct to the conformance report using hasReport property
ex:cantiliver_checkingAct aec3po:hasReport ex:cantiliver_ConformanceReport .
# Link the checkingAct to the compliance verification report using hasReport property
ex:cantiliver_checkingAct aec3po:hasReport ex:cantiliver_ComplianceVerificationReport .



10 changes: 5 additions & 5 deletions examples/UK/UK-Timber Structure.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -151,15 +151,15 @@ ex:UK_Eurocode5_Timber_design aec3po:hasProperty
# Link the timber design to the respective CheckMethod using forDesign property
ex:UK_Eurocode5_NumericalCheckMethod_Timber_CompressionParallel aec3po:forDesign ex:UK_Eurocode5_Timber_design .

# Conduct the checking act and generate a conformance report.
# Conduct the checking act and generate a compliance verification report.
ex:UK_Eurocode5_Timber_checkingAct a aec3po:CheckingAct .

# Link the checkingAct to all the CheckMethod using usedMethod property
ex:UK_Eurocode5_Timber_checkingAct aec3po:usedMethod ex:UK_Eurocode5_NumericalCheckMethod_Timber_CompressionParallel .

# Instantiate the conformance report
ex:UK_Eurocode5_Timber_ConformanceReport a aec3po:ConformanceReport ;
# Instantiate the compliance verification report
ex:UK_Eurocode5_Timber_ComplianceVerificationReport a aec3po:ComplianceVerificationReport ;
aec3po:conforms true .

# Link the checkingAct to the conformance report using hasReport property
ex:UK_Eurocode5_Timber_checkingAct aec3po:hasReport ex:UK_Eurocode5_Timber_ConformanceReport .
# Link the checkingAct to the compliance verification report using hasReport property
ex:UK_Eurocode5_Timber_checkingAct aec3po:hasReport ex:UK_Eurocode5_Timber_ComplianceVerificationReport .
8,791 changes: 8,790 additions & 1 deletion src/aec3po.drawio

Large diffs are not rendered by default.

16 changes: 14 additions & 2 deletions src/aec3po.overview.html
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,22 @@
8. **Module 8: ComplianceVerificationReport**: An automatically generated report that checks if all the assigned compliance requirements (typically Checks) have been met.
- Classes: _ComplianceVerificationReport_, _result_, _ValidationResult_,_Severity_, _etc_.
- Properties: _conforms_, _focus_, _resultMessage_, _resultSeverity_, _Info_, _Violation_, _Severity_,_etc._

9. **Module 9: Model**: A model representing part or the entirety of a site, building, or piece of infrastructure.

9. **Module 9: Design**: This AEC3PO module describes descriptions of some design of features of interest, in terms of structure, geometry, and function.
- Classes: _Design_, _PropertyDesign_.
- Properties: _hasDesign_.

10. **Module 10: Legal Verifier**: This AEC3PO module defines state and private verifiers.
- Classes: _LegalVerifier_, _PrivateVerifier_, _StateVerifier_.
- Properties: _hasDesign_.

11. **Module 11: Model**: A model representing part or the entirety of a site, building, or piece of infrastructure.
- Classes: _Model_, _Phase_, _Element_, _Classification_ etc.
- Properties: _name_, _description_, _location_, _locationCoverage_, _material_, _hasBuildingPhase_, _hasDimensions_, _hasElementPhase_, _hasClassification_, _etc._

12. **Module 12: Table**: This AEC3PO module describes tables as representations of data in rows and columns. Tables are described by captions.
- Classes: _Container_, _Table_, _Column_, _Row_, _Cell_.
- Properties: _contains_, _isContainedIn_, _caption_.


### AEC3PO Alignments <a name="alignments"></a>
Expand Down
Loading

0 comments on commit a71c7b0

Please sign in to comment.