Stardog Saturday

(zachary.whitley) #1

It's time for Stardog Saturday! The boring Monday through Friday enterprise drudgery is over and it is time to think big with Stardog. Bug reports and specific questions are great and all but I'm really interested in hearing what people are doing with Stardog. I want to see the sculptures not hear about the clay.

Today I'm exploring supporting writing Stardog user defined functions in javascript. I threw a little proof of concept together a while ago using the Java Nashorn interpreter. The goals are to make it really easy to write simple functions. The current process is fairly easy and I wrote a maven archetype to make it somewhat easier which isn't too bad for more involved functions but it seems to be a bit much especially for trivial but useful functions and rapid prototyping. It would also be nice to be able to add functions without having to restart the database and to be able to package functions individually. A collection of functions might have some sensible reason to be packaged together but there are rarely any actual dependencies and it would nice to be able to install them on an individual basis. Packaging each function as individual jars quickly becomes tiresome. I tried.

Nashorn seems to be deprecated and what I really want is Node so I'm now looking at J2V8. Security is a big issue and I don't see anyway of being able to allow arbitrary code execution. It would be interesting if you could use something like Stardog BITES to import the packages and use named graph security to limit access.

It would be really nice to be able to allow users to install and run functions without having to ask for permission from the admin which might be possible to a limited extent with something like code signing. I was also looking into possibly of something like what was explored in the paper Toward the Web of Functions which might be possible with a custom service implementation now that you can send initial bindings.

Anyway, that's what I'm up to. Please feel free to jump on this thread and let me know what you're up do or any feedback. I'm just scratching an itch so if it's something you think you might like using feel free to make suggestions on where you'd like to see it go.

Have a great Stardog Saturday.

(Ian Roberts) #2

Hi Zachary, we love Stardog! It's the db of choice in our cyber security product, DarkLight (https://www.darklight.ai). We currently use it to store and query triples in multiple databases, and reason over graphs to pull out extra information from the ontologies. One of our teams is exploring the relational database access feature, and another is writing custom functions to perform math and geo operations. Looking forward to many great years with Stardog to come!

(zachary.whitley) #3

Awesome. I see DarkLight has some relationship to PNNL. I was out there a while ago from APL to talk about IN-SPIRE. They're doing some really cool stuff. Cyber is an area that could really use some linked data for integrating logs, metrics, threat reporting.

(Ian Roberts) #4

Small world! Several of us were on the team that built IN-SPIRE. It's a great tool.