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

Read any TTL file and convert it to BHoM custom objects #47

Open DiellzaElshani opened 2 years ago

DiellzaElshani commented 2 years ago

The conversion from ttl graph (even edited one) to BHoM objects works well at the moment. However, reading any graph (e.g. BOT ontology data) and converting it to custom BHoM objects should also be part of our tool. In this case we increase the usability of the tool.

I will workshop some ideas on this topic; if @alelom you have something in mind, please share.

Description:

alelom commented 2 years ago

I already started a prototyping branch to support this feature: experiment-ExtendToNonBHoMObjects. In theory it is not that complex, but in practice there are tricky things that I am struggling to support, like Lists. I will keep working to see what we can do.

DiellzaElshani commented 2 years ago

Example ttl file: https://github.com/LBDserver/resources/blob/main/duplex/duplex.ttl

alelom commented 2 years ago

Good, we need some very simple and streamlined TTL example files. Something with just one object and as few classes and prefixes as possible.

danielhz commented 2 years ago

How are you implementing this feature? I imagine two ways:

  1. Parsing BOT ontologies and translating resources described them into BHoM objects using custom code.
  2. Applying a conversion using some tools in the Semantic Web stack. The idea is to input RDF that describes resources with the BOT concepts, and output RDF that describes resources using BHoM concepts. The RDF graph resulting from this conversion can be consumed by BHoM because uses BHoM concepts.

In the first way, the data flow is: RDF data with BOT Concepts -> runtime BHoM objects

In the second way, the data flow is: RDF data with BOT Concepts -> RDF data with BHoM concepts -> runtime BHoM objects

I found the second way more interesting because it can work at the level of the ontologies.

alelom commented 2 years ago

@danielhz interesting, I think I understand what you mean, but to make sure, could you make an example? Maybe we could discuss this in a chat, or if you could write down an example with a BHoM object that has a correspondence in BOT here?

danielhz commented 2 years ago

To my knowledge, we haven't defined an equivalence between BOT and BHoM concepts yet. @DiellzaElshani said she will work on the alignment of both ontologies, and this is a use case. If the alignment is defined, then you can use it to make the transformation.