Ganymede (Sustainable Food)

I’ve begun a new non-profit foundation in the Nordics focused on sustainable food production, A core component is an open and distributed semantic data store for guaranteed traceability.

The rather uninformative site (at this stage) can be found here.

The data store enables large-scale machine learning / AI services to understand the complexities of the food supply chain and propose optimizations, whilst reducing risks and supporting producers.

The data store should fundamentally support RDF and JSON-LD and many of the other components already do (some of the early work was based on the Solid Project and work at W3C).

The underlying infrastructure is self-sovereign, and is intended to run on commodity hardware, local to the data source, or cloud infrastructure of the source’s choosing, so we’re also building infrastructure to make this easy (read non-technical).

Historically we’ve been using Apache Jena / Fuseki, and still plan to for some parts, backed with Minio for data versioning. The goal is to expand work with TerminusDB to replace much of Fuseki if practical, and negate the need for versioning to happen at a separate ingestion layer.

That sounds great Fillip! We have another ecological sustainability graph project which might be in the works on TerminusDB as well. If you’re interested in chatting about approach, we’re happy to talk. Just drop in to our discord server.

1 Like

Hey Gavin, thanks for the response. Would love to discuss at some point.

I’ll refrain from joining the Discord though as there’s a lot of noise and accounts from the amount of Discord / Slack channels I’ve been involved in over the past couple of years, so I’m sticking to open federated channels these days (e.g. Matrix) so I can manage the noise easier.

We’ve been going over 10-years now (started in 2011) and have worked with a variety of companies (most notably Amazon, Google, IBM, Microsoft, and NVIDIA) on substantial data science projects.

The new foundation and the change in some of the underlying components is a move to create a more open and cooperative ecosystem. Self-sovereignty and decentralisation are core facets of enabling that, along with open and ethical licensing of the key components (over 103 at last count).

Always open to discussing the landscape in more detail in an effort to support ethically-focused projects in making an impact.

1 Like

Well feel free to ask any questions you might have about the use of TerminusDB here then.

Much appreciated @gavin. :pray:

The biggest issue I’m dealing with right now is the changes in version 10. I’m mostly focused on simplifying (automating) the deployment (with Docker) for each organisation. Other issues are lower down on my list.

I’m having to infer what best practice is for setting up an organisation on an instance based on issues, comments, and code, as the docs seem to be missing that key part, so any advice or guidance on what we should be looking for there would be good.

The docs cover changing organisation names, adding users to organisations, etc. Adding an organisation and authenticating / role management is less clear.

My understanding is that this has to be done with the default user (admin) in the first instance, currently using authentication through the bearer token; I have a OIDC / OAuth2 solution for long-term, but that’s outside of the scope of the experiments we’re currently running against it.

Hi @Fillip!

It’s great to hear that you’re interested in user and organization management on TerminusDB. We currently do this better on TerminusX, our hosted TerminusDB platform, but we do plan to revitalize it for TerminusDB the not-too-distant future. Our current thoughts are being worked out here. We welcome your feedback there or here.

2 Likes

Hi @Fillip
I’m documenting how the Access Control works in terminusX (team, user, roles).
I think this should help you.

2 Likes

Thanks @sean. Unfortunately the components we’re using have to enable self-sovereignty, meaning self-hosting is a key criteria and encompassed in the articles of the foundation. Therefore TerminusX is not suitable for our needs, hence I’m working on evaluating the suitability of TerminusDB at this stage.

We’ve taken into account the fact many open source projects have a hosted version and this can often be a fundamental source of revenue to sustain the development of the open source (non-hosted) version. Therefore the foundation has provisions to contribute funding (approximately 20% of net revenue) to those projects that it relies on.

We see healthy open source as symbiotic and want to ensure the tools we use can continue to evolve.

Please let me know how we can help.

@Francesca_b Thanks Francesca, unfortunately due to the above TerminusX is not an option for us, but I look forward to reading the documentation. I work on large-scale AI projects where I can see it being a useful tool.

No problem! We’ll be updating issue #771 as we move forward on the user and organization management API.

1 Like

The outline that Francesca has on how we are managing organizations and users will apply also to deploys using TerminusDB as that’s what we’re using to manage users in TerminusX!

1 Like

Hi @Fillip (great name by the way!).

I’m happy to hear about your journey, especially since our journey is about equipping changemakers to make impact (see more on dfrnt.se).

We’re using TerminusDB as the backend database to a SaaS tool for changemakers. For the identity architecture, we focused on getting JWT authentication working end to end for local TerminusDB databases in dev and test systems.

Our end goal is to use TerminusX as the SaaS backend and make development easier by leveraging container images in dev and qa environments. As this allow us to manage the cadence of breaking changes in the TerminusX API between docker versions and early consumption of new features. This would tie in well with what you are aiming for.

The overall setup is shared with the TerminusDB team to document, and some findings are shared in issue #728 on github. Using the tuscli tool we released publically you could automate the process to setup system users once you expect to start testing OIDC/Oauth2. We did identify a few things that requires specific care for the JWT authentication with open source IDPs such as Keycloak and Dex that may be a challenge given the current state of the TerminusDB JWT backend.

You’re welcome to reach out to me to hearing more, easiest is on discord or twitter for a conversation - hoijnet. We could perhaps setup a meeting together at some point to enable the TerminusDB team to make notes and help others on similar journeys in the future as part of the documentation.

Looking forward to hearing more about where you are doing and where you are heading! //Philippe

hi Fillip, and Philippe! we are also working towards similar ends at Common Action. roughly, we’re looking to connect people, companies, resources, and problems into a giant ontology behind a linkedin-for-climate-like platform, and build a community for innovators to connect and consolidate resources, wisdom, strength, etc.

we are now organizing a working group (or several) to start an ontology of the SDGs–there’s one in existence but seems to be abandoned/incomplete. we’ve connected with a few academics and will reach out to more – including, if you’re familiar, Damion Dooley who led in the FOODON ontology. we are also thinking about using TerminusDB for this work, sort of desigend for the ideal use case (lot s of academics collaborating around complex data). would love to chat about your plans and see if there’s synergy between our goals or some way I can help :slight_smile:

all goes for you also Phillippe, and thank you for reaching out already!

1 Like

Building up an open data ontology around the SDGs could help so many initiatives get started on their impact journeys. Especially since with TerminusDB the data lock-in is removed, with a full open source toolchain to build around (thanks TerminusDB!!), enabling many to build tooling around a common way of expression. Looking forward to being in touch Ellie!

A sidenote that might be interesting is that I’m a cofounder of AIDITTO where we built tooling in two grant-funded projects in collaboration with a number of Swedish public actors, where we built tooling for societal communications around needs, between the private and public sector in times of crisis. It was our outcome of the Swedish Hack the Crisis and our participation in EUvsVirus where we were amongst the winners. The research we did during the project drew us in the direction of societal boundary objects and the meaning and function of them in times of crisis.

1 Like

This is very interesting indeed! The communications layer is precisely what I am most focused on; indeed, the primary challenge of organizing action efforts is the difficulty of communicating 1) at scale and 2) across trust networks. I’ve just discovered a framework which mirrors my thinking: https://strategicdoing.net/ and would love to hear about your approach and experiences.

I would also appreciate to better understand the tooling capability of TerminusDB! I am not technical, unfortunately, so my analysis is fairly simplistic; it provides an actual UI that can be accessed by multiple contributors, and of course, the versioning structure supports the project goals implicitly. We do somehow need/pla to merge this with traditional OWL modeling, as we have some ontological frameworks to start from (which rely on inferencing …) so not entirely sure how these things relate. Anyway, if you’ve time to lend some perspective, please do feel free to ping me on Twitter or linkedin! https://www.linkedin.com/in/sellieyoung/

Thanks @ellie-commonaction and @hoijnet. Super interesting work.

As far as ontologies go, and specifically for SDGs, I’ve been working in this space (ontologies) for a long-time and definitely would be keen to see where this goes. I’m working on ontologies that applies some of these (social goals, footprint) elements to agriculture and food, so there’s a definite cross-over.

For OWL support, you can use JSON-LD to OWL conversion to support that. Our goals are similar: we need to support JSON-LD and RDF and have several tools in play already to facilitate this. Distributed data querying and exchange is an important facet of our architecture.

The scale of what we’ve built historically is rather large scale, and we’re about to launch a(nother) foundation specifically focused on the cloud infrastructure and data science pipelines from the common tasks we’re solving, as this has included work from years of working with teams from major cloud providers. If we can support these other efforts then let me know.

I’d also be happy to jump on a call to see where we can help.

1 Like

At the current stage, we have built out the schema and data editor part of the equation, and are soon launching a private beta of it. Subscribe at DFRNT® | Made for changemakers to make it easier for me to send you an onboarding link when we are getting ready in the next couple of weeks!

In this first edition, the main focus is the ontology building part, and would help you get started with TerminusDB and the modelling part, in addition to what is of course possible though TerminusX!

1 Like