Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 1643Tools index

Previous survey · No. 1649 ·

Pricing
Open Source
Type
TOOL
Builder
knadh
GitHub
14 stars
Latest release
v0.1.0
Date

About

Simple, performant ConceptNet CLI and server in Rust, backed by SQLite — fast local access to the ConceptNet knowledge graph.

What it does

rconceptnet turns downloaded ConceptNet assertions into a self-contained database you can search from a terminal or expose over HTTP. Queries accept a concept, language, relation filter, and result limit. Terminal output supports tables, relation-grouped trees, or JSON.

Why it's ranked here

The project has a narrow, convincing design: one binary imports compressed assertions, builds indexes, and serves weighted relationships without a separate database service. Its strongest case is operational simplicity. The main caution is that its usefulness remains bounded by an upstream corpus the README says has stalled.

What's good

Imports can filter one or more languages, read compressed input directly, and commit edges in large batches. Queries search both ends of each relationship, order matches by weight, and support relation filtering. Human output handles Unicode display widths, while JSON preserves labels, URIs, weights, and optional surface text.

Tradeoffs

The importer refuses to update an existing database, so refreshing data means creating another file. The HTTP server offers one GET endpoint, allows any origin, and silently converts database query failures into empty results. Published build targets cover Linux on two processor architectures. The underlying corpus has not been updated since 2019, according to the README.

How to use it well

Use it for local exploration, scripts, prototypes, or internal services that need read-only ConceptNet lookups with little infrastructure. Import only required languages to constrain the dataset, then choose JSON for automation and tree output for inspection. It does not provide corpus updates, incremental database refreshes, authentication, or a broader application framework.

Technical notes+

src/main.rs defines the import, query, and serve CLI surface through clap. src/import.rs streams gzip or plain input, caches concept and relation IDs in memory, commits every 50,000 imported edges, then creates indexes. src/db.rs opens query connections read-only with NO_MUTEX, applies cache and mmap pragmas, builds parameterized edge queries, and embeds src/queries.sql through yesqlr. src/serve.rs runs tiny_http over one SQLite connection, parses GET query parameters, adds wildcard CORS, and maps query errors to empty arrays. Cargo.toml enables bundled SQLite, release LTO, and optimization level 3. .goreleaser.yaml packages musl binaries for x86_64 and aarch64 Linux.

Observed

License
MIT License
Primary language
Rust
Packaging
Cargo project with downloadable precompiled release archives
Interfaces
Command-line importer and query tool, plus a JSON HTTP server
Database
SQLite is bundled through rusqlite
Platform support
Release configuration targets x86_64 and aarch64 Linux with musl
Input formats
Importer accepts gzip-compressed assertions or plain tab-separated input

Read from README.md, Makefile, Cargo.toml, src/main.rs, src/db.rs, src/model.rs, src/serve.rs, src/import.rs, src/display.rs, LICENSE, .goreleaser.yaml, src/queries.sql, .github/workflows/release.yml.

What it can do

  • Query ConceptNet knowledge graph locally

    ConceptNet query parametersKnowledge graph relationships and concepts

  • Serve ConceptNet data via HTTP API

    HTTP requests with concept queriesJSON responses with semantic relationships

  • Search for semantic relationships between concepts

    Two or more concept termsRelationship paths and connection types

  • Retrieve concept definitions and properties

    Concept name or identifierConcept metadata and associated information

  • Access ConceptNet data without internet connection

    Local SQLite database queriesOffline semantic knowledge results

Tags

conceptnetrustknowledge-graphcli

Tech Stack

Rust

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.