Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Different URI naming strategies ? #55

Open
maximelefrancois86 opened this issue Jun 15, 2023 · 1 comment
Open

Different URI naming strategies ? #55

maximelefrancois86 opened this issue Jun 15, 2023 · 1 comment

Comments

@maximelefrancois86
Copy link
Collaborator

IRIs were all under the same inst: namespace, their local name is made of a type name and a UUID.

For modular knowledge graphs like the one described in Isaac Fatokun, Arun Raveendran Nair, Thamer Mecharnia, Maxime Lefrançois, Victor Charpenay, Fabien Badeig and Antoine Zimmermann, (2023) "Modular Knowledge integration for Smart Building Digital Twins", LDAC 2023

We like to have IRIs named with a different strategy. For example, we establish a more natural IRI structure that reflects the organisation of the building. For example <{building}>, <{building}/{storey}>, <{building}/{storey}/{space}>, <{building}/{storey}/{space}/{knx_device_in_space}>.

This is implemented in https://github.com/maximelefrancois86/databat-kgc-revit/blob/main/scripts/4_renameObjects.py

Any idea about how to offer different naming strategies to the user would be great.

@jyrkioraskari
Copy link
Owner

I have been testing this. The current optional output is like this:

https://www.ugent.be/myAwesomeFirstBIMProject#building_7b7032cc-b822-417b-9aea-642906a29bd4/Level_2/B204
bot:adjacentElement inst:covering_e586c31c-dfb6-463e-aee7-a2dffc98515e ;
bot:adjacentElement inst:wall_9808fd7f-dc48-478e-9217-628e833d548e ;
bot:adjacentElement inst:wall_64b7f7d3-8cfc-4277-ba33-8de2e6533e77 ;
bot:adjacentElement inst:slab_982f59b0-f2e1-485f-8ce1-c9f6117b70a9 ;
rdf:type bot:Space ;
props:globalIdIfcRoot_attribute_simple "0BTBFw6f90Nfh9rP1dl_3C" ;
props:longNameIfcSpatialStructureElement_attribute_simple "Bathroom 2" ;
bot:adjacentElement inst:door_982f59b0-f2e1-485f-8ce1-c9f6117b96c4 ;
bot:adjacentElement inst:door_64b7f7d3-8cfc-4277-ba33-8de2e6533fec ;
bot:adjacentElement inst:wall_9808fd7f-dc48-478e-9217-628e833d55b5 ;
bot:containsElement inst:furniture_aa6e13ea-b5bc-4245-93bf-8b2355840c33 ;
bot:adjacentElement inst:slab_6b61ce71-1a7a-473c-8f87-4262e0bdbd1e ;
bot:adjacentElement inst:wall_27ece05c-f06c-4dd2-9ccd-945e52597fa3 ;
rdfs:label "B204" ;
bot:containsElement inst:furniture_aa6e13ea-b5bc-4245-93bf-8b2355840d02 .

A separate consideration is needed for the device/element level as there are some models that are missing the building topology. Perhaps a post-processing step could fix it.

Here the building had no name:
#36=IFCBUILDING('1xS3BCk291UvhgP2a6eflK',#33,$,$,$,#25,$,$,.ELEMENT.,$,$,#35);

Otherwise, there would be the name of the building as a part of the URI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants