BHoM / BHoM/RDF_Prototypes

Prefix issue:: ":" is used for both bhom native and non-native objects with different URIs

Open
#56 4 comments 0 reactions 3 assignees Claimed by @DiellzaElshani View on GitHub
type:bug
Dominant language
C#
Stars
10
Forks
5
PR merge metrics
No merged PRs in 30d

Description

#### Description:

In bhOWL for each class or property we use its github URI.

for example:
- a bar is: https://github.com/BHoM/BHoM/blob/main/Structure_oM/Elements/Bar.cs
- a room is: https://github.com/BHoM/BHoM/blob/main/Architecture_oM/Elements/Room.cs

In the ttl we define @ prefix : .
which means. whenever we see a colon ":" a bhom.org can be placed before the colon, and this would form a URI that pinpoints to the URI of the class.

which is wrong in two ways:

1. we use : in front of custom classes too, which concatenated with bhom.org would give invalid URI, and it is inconsistent with the link above.
![image](https://user-images.githubusercontent.com/50298535/204770539-38b09d26-d0fc-465f-87e8-c5f2c6b61a86.png)

2. Also BHoM native objects have a wrong URI, because adding bhom.org in front of :BH.oM.Architecture.Elements.Room also does not give us (https://github.com/BHoM/BHoM/blob/main/Architecture_oM/Elements/Room.cs).
And using something like: _Architecture_oM/Elements/Room.cs_ to name the class woulnd work, becuase of RDF syntax using /.

![image](https://user-images.githubusercontent.com/50298535/204771230-ec68678d-5836-433c-81d2-c3d4bb0c8916.png)

#### Steps to reproduce:


I have two suggestions:
1) We use a unique URI for both, bhom classes and custom objects, so we don't have to differentiate between the prefix. We then add one more input to Tbox settings, to define a prefix for it.
![image](https://user-images.githubusercontent.com/50298535/204772416-f3e0ee8d-ca6c-422b-a55e-52e894f87c3f.png)

Eventually in future we can also publish have a way to publish a page with this ontology (like rdf https://www.w3.org/1999/02/22-rdf-syntax-ns# or bot https://w3c-lbd-cg.github.io/bot/ ). Which does not have to be public, but accessible from the ones who use the ontology.

2) We create a static page with bhom ontology, and we use bhom: prefix in front of each bhom native object. But for the Custom ones, we define this imaginary URI, which we can publish and share internally with the ones who will use the ontology. In this case we would use ":" only in front of NON-BHoM native objects.

**I think the second option is a better solution.**


#### Expected behaviour:

#### Test file(s):

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.