What is the philosophy of handling instance level entities merging? #15
|
BioCypher is able to handle class level (ontological classes) merging but I don't quite see any note regarding instance level merging. If there are multiple datasets describing the same entity in different aspects and one would like to include both informations into their KG, how could this be done using BioCypher? In actual test, BioCypher will simply reject the seen entities that have the same ID, despite that they come from different sources carrying different labels and sets of properties. I checked the existing products of BioCypher and it seems that they either avoided this problem or handled this strangely in my opinion. For instance, CrossBar includes both ChemBL and DrugBank. It prefers DrugBank for a substance that could be found in both databases and a ChemBL record is used to connect that DrugBank entity to the targeted gene. If you search for the substance using its ChemBL ID, you get a result that is not easy to work with. An actual example would be drug This doesn't seem to be a problem for CrossBar as it seems to me that it is more like an index that focuses on relationships then an actual data source. But for Open Targets KG, I suppose it would also functions as a data source and I'd like to make the graph extensible. One may want to combine my KG with other data that extends what is not covered by Open Targets but it seems that there is no established philosophy on this matter? |
Replies: 0 comments 7 replies
|
Hi @kpto, However, this is an important problem and on the radar, so if you think it should take priority, I am happy to dedicate some work towards it. It would certainly be good to enter an exchange with @jdreo and the other Pasteur engineers, as the fusion algorithm they developed in the ontoweaver project tackles this exact problem as well. Establishing a philosophy for this is very challenging; maybe we should start more pragmatically with an acute issue to solve. Side note: the legacy |
Hi @kpto,
this is a good question and your estimation is largely correct. The merging in "pure biocypher" has been so far deferred to processing at the adapter level (using a secondary adapter to merge primary adapters, if complexity demands it). It is a very fragile problem because different project requirements can result in different merging strategies, and we didn't have priority so far to tackle this at a general level.
However, this is an important problem and on the radar, so if you think it should take priority, I am happy to dedicate some work towards it. It would certainly be good to enter an exchange with @jdreo and the other Pasteur engineers, as the fusion algorithm they deve…