BHoM / RDF_Prototypes

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

Remove duplicates from "FromTTL" by GUID does not work for CustomBHoM objects #85

Open DiellzaElshani opened 1 year ago

DiellzaElshani commented 1 year ago

Description:

When uploading the graph to a graph database and running a reasoner, (in this case GraphDB) the graph includes also inferred knowledge in the graph and returns more facts than the initial fact. For example if an individual X isA rdf:type :BH.oM.Architecture.Room, and :BH.oM.Architecture.Room isA rdf:SubClassOf :BH.oM.Base.Object, GrapDB returns a graph including a triple like: x rdf:type :BH.oM.Architecture.Room, :BH.oM.Base.Object. (which means X is type of both).

When converting this back to BHoM it was identified as two objects. While the PR: RDF_Engine: remove duplicated from the individuals by GUID type:feature fixed the issue for Native BHoM objects, this does not work for Custom BHoM objects. Evenmore, it returns unique GUIDs that were not even the initial GUID of the custom Object.

image

The problem is that for BHoM object we return a triple:

http://schema.org/9cb88cb0-b339-49a0-80df-26b65a4b2f96 :BH.oM.Base.BHoMObject.BHoM_Guid "9cb88cb0-b339-49a0-80df-26b65a4b2f96"^^xsd:string .

image

But we don't return this triple for CustomBHoM objects. Which makes it impossible to find the GUID and select distinct by GUID.

Steps to reproduce:

Expected behaviour:

Test file(s):