Best way for many-to-many links in ontology manager?

I’m wondering what the best practice is for many-to-many links in ontology manager. I know 3 different ways, but pretty sure there are some pros/cons. Could you give your opinion on this?

  1. String → Array[String] “simple” link.
    image

  2. Many to Many with a dataset backing it providing all the relationships

  3. This ‘relationships’ dataset is created as an object type and is linked to each of the 2 obj types i want to link. + in its capabilities, these 2 links are informed in the “Search around” section.

Hi Boriss,

(I added the images to your original question and hid your other replies. I’m not sure why you weren’t able to upload multiple images, but I’ll investigate.)

By default, I recommend a many-to-many backing dataset (option 2). Using an array (option 1) can be done, but there are two drawbacks. First is that not many users are experienced in array manipulation in general, so this may not be as widely understood by future colleagues who need to work with this link type. Second is that there aren’t as many affordances in the front-end (e.g. Workshop) for array manipulation as there are for traversing links. Again, this is general guidance. Arrays can be a good choice if you need them.

The situation in which I recommend using a dedicated object type to back the link (option 3) is when you need to add metadata to the link. For example, if you needed to encode a parent/child relationship and you wanted to make sure that the directionality was explicit, you could do that with an object type whose only purpose was to represent that information. Then you would use the Capbilities tab in Ontology Manager to make using this intermediary object type more ergonomic.

In sum, I suggest this order in general: option 2, option 3, option 1

OK thanks a lot for this rich answer!!

I will go for option 2 in priority and keep option 3 in mind for data like a Bill of Materials where we want to know the quantity for each component to build our finished product. That’s a kind of metadata to keep.

thanks again!

1 Like

Also @Boriss I fixed the image upload limit. New users can now upload up to 8 images in posts.

1 Like