Spin Off Mettalog for Mainstream Knowledge Graphs

chevron-icon
RFP Proposals
Top
chevron-icon
project-presentation-img
user-profile-img
Archbold
Project Owner

Spin Off Mettalog for Mainstream Knowledge Graphs

Expert Rating

n/a

Overview

One way to improve many aspects of knowledge graphs built using MeTTa is to increase mainstream AI development of knowledge graphs using Mettalog, a MeTTa interpreter and transpiler in Prolog. Presently MeTTa is a niche language, not widely known. It currently lacks a straightforward means to run production scale programs doubling as knowledge graphs. The basic goal of this proposal is to make it easier for developers to integrate MeTTa programs into mainstream production AI on the grounds that knowledge graph innovation is likely to occur within deployed systems, based on real needs. At the core of this proposal is Mettalog, a relatively fast and maturing implementation of MeTTa.

RFP Guidelines

Advanced knowledge graph tooling for AGI systems

Complete & Awarded
  • Type SingularityNET RFP
  • Total RFP Funding $350,000 USD
  • Proposals 39
  • Awarded Projects 5
author-img
SingularityNET
Apr. 16, 2025

This RFP seeks the development of advanced tools and techniques for interfacing with, refining, and evaluating knowledge graphs that support reasoning in AGI systems. Projects may target any part of the graph lifecycle — from extraction to refinement to benchmarking — and should optionally support symbolic reasoning within the OpenCog Hyperon framework, including compatibility with the MeTTa language and MORK knowledge graph. Bids are expected to range from $10,000 - $200,000.

Proposal Description

Our Team

1) Mike Archbold, from recent Mettalog team, will do mostly high level programming (eg., MeTTa, Python), system tests, and documentation.

2) Douglas Miles, Principal Mettalog architect and leader of the Mettalog team. Prolog expert and low-level programming expert.

3) TDB, likely combined tech evangelist, project manager

 

Company Name (if applicable)

MeTTaWam or possibly MeTTaJam or even MeTTaWamJam

Project details

This proposal is designed to improve SNET’s advanced tools and techniques for interfacing with, refining, and evaluating knowledge graphs that support reasoning in AGI systems by enabling and promoting mainstream AI adoption of MeTTa. We believe that a great way to improve the quality of knowledge graphs built using MeTTa is to increase developer usage in live commercial projects, emphasizing the phrase “MeTTa as a knowledge graph” – thus crowdsourcing knowledge graph improvements that might otherwise be difficult or time consuming to achieve by incremental in-house development and intermittent RFPs. In addition, a fast and reliable MeTTa platform is needed to facilitate internal SNET research. Thus the goal is to create an easier means of running MeTTa programs faster for everybody.

Presently MeTTa is a niche AI/AGI language that is not widely known. It currently lacks a straightforward means to run production scale programs which can double as knowledge graphs. The basic goal of this proposal is to make it easier for developers to integrate MeTTa programs into mainstream production AI. MeTTa-as-a-KG will be evangelized in an attempt to make the MeTTa language a contender for mainstream knowledge graph applications, potentially enabling the continual evolution of better graphing. At the core of this proposal is Mettalog, a relatively fast and stable implementation of MeTTa.

Whereas the longer term goal of SNET is MORK, it is still possible to gain near term exposure to MeTTa and its use in contemporary augmented retrieval via Mettalog. Mettalog seems not far from being production ready. It is anticipated that the mainstream spinoff of MeTTa would not support the full MeTTa semantics (see "The MeTTa calculus," L.G. Meredith) yet support mono-domain pattern-matching with unification, inference, updating etc. The strategy will be to simplify the presentation of MeTTa to the extent reasonable and possible while still retaining its core, essential qualities in such a way that the average developer can dive in and be productive. Although, it should be noted that Mettalog's functionality copies very closely that in Hyperon Experimental. The point is that evangelizing and promoting Mettalog will concentrate on promoting some of the simpler concepts at the forefront (the full functionality is still available). We don't plan to overwhelm developers with complexity up front.

To this end, the developer will have the means to input raw data and output a starting MeTTa knowledge graph. Rejuve.bio has developed a data import tool. This important no-code tool enables importing of a set of CSV or JSON files for the creation of a custom knowledge graph (the tool is also known as an "atomspace builder"). Once the KG is created MeTTa code in the form of a directed knowledge graph can be generated. This code can be then modified and extended as needed for customization and fine tuning of the domain application.

The following snippet is an example of the atomspace-centric part of MeTTa code which the data import tool generates. Developers would likely want to create their own rewrite rules of the form (= (pattern) (result) ). However the ability to start with a formatted atomspace will help a lot. 

(person 1)
(name (person 1) Some_Person_1)
(job (person 1) VP_Product_Management)
(email (person 1) someperson1@home.com)
(person_id (person 1) 1)
(person 2)
(name (person 2) Some_person_2)
(job (person 2) Desktop_Support_Technician)
(email (person 2) someperson2@tech.com)
(person_id (person 2) 2)
(person 3)........

Mettalog has both an interpreter and a transpiler. The transpiler inputs MeTTa code and outputs Prolog code. The generated Prolog code runs the developer's application. That means that one can run Prolog programs without learning Prolog, which is generally regarded as a difficult language to master. The power of Prolog is potency over high combinatorial explosion grade search. The core advantage of using Mettalog is then to code in MeTTa yet gain the power and speed of Prolog without its complexities.

Mettalog can clearly provide some of the infrastructure for the "advanced tools, algorithms, and/or frameworks for interfacing with, refining, augmentating, and evaluating knowledge graphs that support reasoning and symbolic processes within AGI systems" called for in this RFP, and provide an "on ramp" for more sophisticated cognitive architectures connected to the internet.

It is hoped that upon completion of the deliverables in this project, a longer term startup will emerge to provide consulting and support for MeTTa use in production. 

Please see this RFP's "milestone" section for detailed steps. 

Open Source Licensing

LGPL - Lesser General Public License

Background & Experience

The intention is for the technical team to be composed primarily of present and former members on the Mettalog team over approximately the last year. It is expected that a multifaceted manager, evangelist, and analyst will be found to join the team.

Links and references

Try your MeTTa programs on a recent version of Mettalog on Docker with these commands (Docker required). 

docker pull jazzbox35/mettalog:latest
docker run -it --rm jazzbox35/mettalog

mettalog

 

This chess MeTTa program demonstrates the capacity of Mettalog to handle combinatorial explosions.

mettalog examples/games/GreedyChess.metta

Please note:  by default you run the interpreter, however the upcoming transpiler seems to speed up execution  by a factor of approximately 10. 

Github Mettalog Source Code

Describe the particulars.

The main motivation is really that with the explosion of LLM-based AI, it is necessary to provide stability in the form of augmented generation with KGs, and SNET has potential to spin off Mettalog.

Proposal Video

Not Avaliable Yet

Check back later during the Feedback & Selection period for the RFP that is proposal is applied to.

  • Total Milestones

    5

  • Total Budget

    $75,000 USD

  • Last Updated

    27 May 2025

Milestone 1 - Assemble Team

Description

The team will be composed of experienced MeTTa and Prolog programmers having wide ranging experience and core Mettalog knowledge. We need to add a multifaceted manager-visionary-evangelist.

Deliverables

Recruit manager/evangelist.

Budget

$1 USD

Success Criterion

Arguably this is the most important step. We need a team ready to really push Mettalog into mainstream. Without a synergy here we shouldn't proceed. We must have a shared, clear vision of this goal.

Milestone 2 - Enable Mettalog network requests

Description

Deliver new server functionality and clear documentation to enable MeTTa programs running on Mettalog to respond to network requests.

Deliverables

MeTTa programs will load once upon initial invocation persist in memory and serve multiple users concurrently. With Python as the main control language developers will be able to use standard web servers like Apache and nginx as well as cloud services such as AWS EC2. Integration with popular libraries such as LangChain will allow MeTTa to be used as part of larger pipelines that combine symbolic reasoning with language model output. The system will support communication through the Model Context Protocol (MCP) enabling external language models (e.g. Claude ChatGPT) to send queries and receive structured responses from MeTTa programs.

Budget

$20,000 USD

Success Criterion

This step is successful if the described functionality has been thoroughly exercised with documentation. Mettalog needs to reliably handle these scenarios.

Milestone 3 - Support Concurrent Requests

Description

New built in command(s) to enable the MeTTa knowledge graph to be a system of record supporting concurrent users not just read-only analytics.

Deliverables

Presently there is a “get-atom” MeTTa method. This will be extended to a new “get-atom-lock” method to prevent potential asynchronous update problems. Other methods will be introduced if necessary. Thus the deliverable is source code enhancements for above as well as test cases documented.

Budget

$20,000 USD

Success Criterion

This step is successful if tests are passed and documentation produced.

Milestone 4 - Evangelize and Facilitate MeTTa as a KG

Description

The MeTTa language is a unique language with a variety of potential uses but it is arguable that MeTTa lacks a determinate identity. Is it a knowledge graph? Is it LISP? Is it an alternative to a procedural language? Why does it insist on giving you all possible results? This makes it problematic to appeal to mainstream developers who in the age of LLMs do fundamentally need the stability of knowledge graphs for augmented generation and could potentially benefit. Some of the essential features of MeTTa are: * Reminds one of a network type database can be updated like a database (CRUD) * Capable of Turing completeness * Processes/returns all possible paths and results of a call by default while providing means of managing such an explosion (eg. the "collapse" statement) * Suited for general ontologies while also able to act as narrow AI * Poised to be anti-hallucinogenic stabilizer vis a vis generative AI * Could act in a RAG type role that is as a KNOWLEDGE GRAPH

Deliverables

This deliverable will concentrate on clear examples of MeTTa based applications in a symbolic Turing complete knowledge graph role and how this can support mainstream use (eg. LLMs). While examples are good it's not enough. The developer will have the means to input raw data and output a starting MeTTa knowledge graph. Rejuve.bio has developed a data import tool. This important no-code tool enables importing of a set of CSV or JSON files for the creation of a custom knowledge graph (the tool is also known as an "atomspace builder"). Once the KG is created MeTTa code in the form of a directed knowledge graph can be generated. This code can be then modified and extended as needed for customization and fine tuning of the domain application.

Budget

$30,000 USD

Success Criterion

This is probably the most challenging step of the project. The step will be successful if a completely coherent message can be made to mainstream AI developers supporting MeTTa's role in neurosymbolic architectures taking the form of an LLM front end and MeTTa back end. The user must be able to clearly see -- with minimized complexity -- the progression from their input raw data files (eg., CSVs) into MeTTa code doubling as knowledge graphs.

Milestone 5 - Shore Up Mettalog

Description

Mettalog is a maturing fast MeTTa interpreter and transpiler based upon Prolog. Although largely complete some additional shoring up may be needed if not covered under other funding or otherwise incomplete.

Deliverables

1) Enable the easy installation of mettalog by apt docker and similar means without complexity or any suspense whatsoever regarding whether or not it works. It will work. 2) A highly reliable LSP server for programmer assistance (gives help while coding). 3) A largely functioning transpiler. If the transpiler is incomplete we must have a "fall through" for the interpreter. There is a working interpreter now still reasonably fast but it is slower than the transpiler which generates Prolog code directly. This is a crucial requirement as developers will really be running their MeTTa code as fast Prolog programs. As of this writing the transpiler is very close to being complete.

Budget

$4,999 USD

Success Criterion

All of the above work reliably.

Join the Discussion (0)

Expert Ratings

Reviews & Ratings

    No Reviews Avaliable

    Check back later by refreshing the page.

Welcome to our website!

Nice to meet you! If you have any question about our services, feel free to contact us.