I've already accomplished this with the SWRLBuiltInBridge component of the SWRLAPI: https://github.com/protegeproject/swrlapi/wiki/SWRLBuiltInBridge
However, in my Java code I also use the Pellet Reasoner with the OWLAPI. Whenever I use the reasoner it generates a warning when it finds a SWRL rule with an unknown built-in. I know I could disable the rule checking in the reasoner and use the SWRLAPI whenever I want to run the rules.
But that seems nonpractical... Because I would have to run the rules after every ontology modification before I use the reasoner.
I've seen a blog page which delves into this question, but might be outdated: https://semwebguy.wordpress.com/2011/01/04/how-to-extend-pellet2-2-2s-swrl-built-in-support-with-your-custom-built-in/
Furthermore, the way of creating a built-in (accordingly to the blog) is different when compared with the SWRLAPI (the Abox object is an argument for example).
Is there another approach to do this? Or is it possible to connect Pellet with the SWRLBuiltInBridge?