sssom-py icon indicating copy to clipboard operation
sssom-py copied to clipboard

New method: apply-chain-rules

Open matentzn opened this issue 2 years ago • 4 comments

Despite some overlap with boomer, I would like to have a function that basically implements https://mapping-commons.github.io/sssom/chaining_rules/ after all.

Basically, the method should work just like invert, but create new mappings by applying the chaining rules above - once. For example, if we have (:A)-[predicate_id]->(:B)-[predicate_id]->(:C), we should infer: (:A)-[predicate_id]->(:C).

Chris will be against this adding all these methods here, but they are needed for our vision of mapping commons.

matentzn avatar Apr 09 '23 17:04 matentzn

I would tend towards keeping the core sssom py light on logic and focus on access, logic in oak

On Sun, Apr 9, 2023 at 10:24 AM Nico Matentzoglu @.***> wrote:

Despite some overlap with boomer, I would like to have a function that basically implements https://mapping-commons.github.io/sssom/chaining_rules/ after all.

Basically, the method should work just like invert, but create new mappings by applying the chaining rules above - once. For example, if we have (:A)-[predicate_id]->(:B)-[predicate_id]->(:C), we should infer: (:A)-[predicate_id]->(:C).

Chris will be against this adding all these methods here, but they are needed for our vision of mapping commons.

— Reply to this email directly, view it on GitHub https://github.com/mapping-commons/sssom-py/issues/365, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMMOIVGAEMINZJTLA3IKTXALWEDANCNFSM6AAAAAAWYHI2DM . You are receiving this because you are subscribed to this thread.Message ID: @.***>

cmungall avatar Apr 10 '23 15:04 cmungall

I've implemented these functionalities in semra. I will be giving Nico a walkthrough next week.

cthoyt avatar May 12 '23 15:05 cthoyt

I'm OK with implementing in sssom-py. If it's not urgent then we could wait til whelk.rs is ready and avoid writing our own reasoner

cmungall avatar Sep 06 '23 20:09 cmungall

Ok, thanks. I would suggest not to call simple rule execution reasoning to avoid mistaking it for Tableau or CBR; I would suggest we keep the scope down to a few well defined rules: https://mapping-commons.github.io/sssom/chaining_rules/

matentzn avatar Sep 07 '23 07:09 matentzn