Research project of the Cluster of Excellence "Integrative Computational Design and Construction for Architecture" (IntCDC) https://www.intcdc.uni-stuttgart.de/ **Project Name**: Knowledge Representation for Multi-Disciplinary Co-Design of Buildings. https://www.intcdc.uni-stuttgart.de/research/research-projects/rp-20/
GNU Lesser General Public License v3.0
9
stars
4
forks
source link
RDF_Engine: Class Relations (Object/Data Properties) to have a Domain Type that is the basemost type which defines the relation #118
This PR changes the mechanism that builds the Ontology, so that Class Relations (Object Properties and Data Properties) have a Domain Type that is the basemost type which defines the relation. To make an example:
for the class BH.oM.Architecture.Elements.Room, the property (class relation) called Perimiter is defined with a Domain Type that is BH.oM.Analytical.Elements.IRegion. Previously, the Domain Type would have been BH.oM.Architecture.Elements.Room. See #49.
This change has several positive side effects:
Class Relations (Object Properties and Data Properties) are only reported once per relation in an exported ontology (e.g. TTL). To make an example, previously if you exported a base BHoMObject you would have found two mention of the property BHoM_Guid: once for the base class BHoMObject, and once for the base interface IBHoMObject. Now, you only find the mention for the basemost type, which is IBHoMObject (basically fixing #49).
Similarly, if you export (e.g. using TTL) objects as individuals, you will only find one mention per relation in the individual's Data/Object properties (basically fixing #109).
This PR only changes the behaviour of the mechanism that builds the Ontology (no changes to TTL_Adapter or other adapters).
Test files
Please make sure that:
you understand what this PR does (see #49 and #109)
you run ALL the Visual Studio Unit tests
you test this PR thoroughly with any grasshopper script you may think of, including those included in #109.
Changelog
Changed the mechanism that builds the Ontology so that Class Relations (Object/Data Properties) have a Domain Type that is the basemost type which defines the property.
Issues addressed by this PR
Closes #49 Closes #109
This PR changes the mechanism that builds the Ontology, so that Class Relations (Object Properties and Data Properties) have a Domain Type that is the basemost type which defines the relation. To make an example:
This change has several positive side effects:
BHoM_Guid
: once for the base class BHoMObject, and once for the base interface IBHoMObject. Now, you only find the mention for the basemost type, which isIBHoMObject
(basically fixing #49).This PR only changes the behaviour of the mechanism that builds the Ontology (no changes to TTL_Adapter or other adapters).
Test files
Please make sure that:
Changelog