SkillAgentSearch skills...

Comunica

📬 A knowledge graph querying framework for JavaScript

Install / Use

/learn @comunica/Comunica

README

<p align="center"> <a href="https://comunica.dev/"> <img alt="Comunica" src="https://comunica.dev/img/comunica_red.svg" width="200"> </a> </p> <p align="center"> <strong>A knowledge graph querying framework for JavaScript</strong> <br /> <i>Flexible SPARQL and GraphQL over decentralized RDF on the Web.</i> </p> <p align="center"> <a href="https://github.com/comunica/comunica/actions/workflows/ci.yml"><img src="https://github.com/comunica/comunica/actions/workflows/ci.yml/badge.svg?branch=master" alt="Build Status"></a> <a href="https://coveralls.io/github/comunica/comunica?branch=master"><img src="https://coveralls.io/repos/github/comunica/comunica/badge.svg?branch=master" alt="Coverage Status"></a> <a href="https://zenodo.org/badge/latestdoi/107345960"><img src="https://zenodo.org/badge/107345960.svg" alt="DOI"></a> <a href="https://gitter.im/comunica/Lobby"><img src="https://img.shields.io/gitter/room/comunica/Lobby.svg?label=Lobby-Chat" alt="Gitter Lobby chat"></a> <a href="https://gitter.im/comunica/core-dev"><img src="https://img.shields.io/gitter/room/comunica/Lobby.svg?label=Dev-Chat" alt="Gitter Dev chat"></a> </p> <p align="center"> <a href="https://comunica.github.io/comunica/"><img src="https://img.shields.io/badge/doc-code_documentation-blueviolet"/></a> </p>

Learn more about Comunica on our website.

Comunica is an open-source project that is used by many other projects, and is being maintained by a group of volunteers. If you would like to support this project, you may consider:

Supported by

Comunica is a community-driven project, sustained by the Comunica Association. If you are using Comunica, becoming a sponsor or member is a way to make Comunica sustainable in the long-term.

Our top sponsors are shown below!

<a href="https://opencollective.com/comunica-association/sponsor/0/website" target="_blank"><img src="https://opencollective.com/comunica-association/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/comunica-association/sponsor/1/website" target="_blank"><img src="https://opencollective.com/comunica-association/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/comunica-association/sponsor/2/website" target="_blank"><img src="https://opencollective.com/comunica-association/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/comunica-association/sponsor/3/website" target="_blank"><img src="https://opencollective.com/comunica-association/sponsor/3/avatar.svg"></a>

Query with Comunica

Read one of our guides to get started with querying:

Or jump right into one of the available query engines:

Modify or Extend Comunica

Read one of our guides to get started with modifying Comunica, or have a look at some examples:

Contribute

Interested in contributing? Have a look at our contribution guide.

Development Setup

(JSDoc: https://comunica.github.io/comunica/)

This repository should be used by Comunica module developers as it contains multiple Comunica modules that can be composed. This repository is managed as a monorepo using Lerna.

If you want to develop new features or use the (potentially unstable) in-development version, you can set up a development environment for Comunica.

Comunica requires Node.JS and the Yarn package manager (only when using this repo). Comunica is tested on OSX, Linux and Windows.

This project can be setup by cloning and installing it as follows:

$ git clone https://github.com/comunica/comunica.git
$ cd comunica
$ yarn install

Note: npm install is not supported at the moment, as this project makes use of Yarn's workspaces functionality

This will install the dependencies of all modules, and bootstrap the Lerna monorepo. After that, all Comunica packages are available in the packages/ folder, and the Comunica engines are available in the engines/ folder. These can be used in a development environment, such as querying with Comunica SPARQL (@comunica/query-sparql).

Furthermore, this will add pre-commit hooks using husky to build, lint and test. These hooks can temporarily be disabled at your own risk by adding the -n flag to the commit command.

Benchmarking

If you want to do benchmarking with Comunica in Node.js, make sure to run Node.js in production mode as follows:

> NODE_ENV=production node packages/some-package/bin/some-bin.js

Read more about benchmarking on our website.

Cite

If you are using or extending

View on GitHub
GitHub Stars548
CategoryDevelopment
Updated3d ago
Forks94

Languages

TypeScript

Security Score

85/100

Audited on Mar 26, 2026

No findings