Discussion Forum

Released the Grakn

Hi all, just wanted to share a project I’ve been working on with Grakn. I’ve noticed a few other members on this forum have used Grakn with storing source code data so I think it may be of interest to some people here.

The project I’m referring to is called GitDetective and you can check it out here:

Website: https://gitdetective.io
Source Code: https://github.com/Codebrig/GitDetective

GitDetective’s goal is ultimately to track source code reference trends. Source code references being function/file A refers to/uses/calls/invokes function B. I thought it would be cool not only to track this data at the method level (instead of just to the project level like mvnrepository) but also to track the trends in this data. Imagine being able to monitor the usage patterns of other developers that use your software. Do developers use function A or function A2 more? What’s the date of the first/last time someone used function B? Etc. I think this could lead to more informed decisions when deciding when and what to deprecate and change in your publicly available source code.

The current scale I have GitDetective scaled at is pretty small. I’m currently averaging a few projects a minute. I believe the performance improvements coming to Grakn soon will really help but I know the current design I have can be improved. I’m still trying to find the right balance of caching information retrieved from Grakn and querying Grakn directly. I quickly learned that you can’t have a periodically compute count in function; query executing and expect Grakn to remain standing. This lead to caching entity counts which lead to caching Grakn’s entity V ids. Feels like I’m starting to duplicate exactly what a graph database does so I know something is wrong there. Happy to say that besides a bit of slowness (most likely coming from my code!) Grakn performs the task of linking and querying this source code reference data beautifully. Very excited to see what Grakn becomes.

If you want to know anything about GitDetective or my experiences uses Grakn please let me know :). Any contributions will be greatly appreciated.

Hi @BFergerson,

Congratulations from all of us in the @GRAKN team! :slight_smile: It always lightens up the day (and week, and month) for us to hear success stories on Grakn. :slight_smile:

And thank you for bearing with us through the journey in growing Grakn. Indeed, we’re currently working on performance optimisation of Grakn and Graql. There should be a lot you can expect over the coming months this year. But at the same time, if there are specific things bottlenecking on your plate that you’d love to pick up, we’d be happy to collaborate with you if you want to contribute to the codebase and speed up the development. Let us know!

Again, well done, Brandon! GitDetective sounds like something I’d like to use at some point. (ps: I tried visiting your website and can’t seem to reach it).

@haikal doh! Website’s firewall settings were too high. That’s what happens when you release something at 3/4am :joy:. Please try again whenever you can.

Checking it right now, looks really cool @BFergerson !