full-text-search

Integrate BM25 full-text search into SPARQL queries using sparq-text.

8|1|Updated Jun 7, 2026
One-click install
npx skills add https://github.com/sparq-org/sparq --skill full-text-search
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: full-text-search
Source: https://github.com/sparq-org/sparq/tree/main/skills/full-text-search
Command: npx skills add https://github.com/sparq-org/sparq --skill full-text-search

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires sparq-text, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill allows for full-text search within SPARQL queries, enhancing the ability to search for text within RDF graphs using the sparq-text library.

Core Features & Use Cases

  • Full-Text Search: Search for text within RDF graph strings using SPARQL's text: magic predicates.
  • Indexing: Build and manage BM25 inverted indexes for efficient text search.
  • Use Case: Imagine you have a large RDF graph containing bibliographic data. Use this Skill to search for occurrences of a specific book title or author within the graph.

Quick Start

Build a TextIndex for your graph and run a SPARQL query with the text:matches predicate to search for text within literals.

Frequently Asked Questions about full-text-search

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I perform full-text search within RDF graphs using SPARQL?

Full-text search within RDF graphs is performed by integrating a BM25 inverted index and querying with SPARQL's text:matches magic predicate to find specific text within literals.

Do I need to build an index before running text-based queries on RDF data?

Yes, you must build a BM25 inverted index using the sparq-text library before executing text-based queries against your RDF graph to ensure efficient search retrieval.

What is the best way to search for specific strings in a large bibliographic RDF graph?

The best way to search for strings in large RDF graphs is to construct a BM25 inverted index and apply SPARQL text:matches predicates to search for occurrences of titles or authors.

Can I use standard SPARQL syntax to query text indexes directly?

You use SPARQL's text: magic predicates, rather than standard syntax, to query against the BM25 inverted index and retrieve matching text from your graph literals.

How does a BM25 inverted index improve SPARQL text search?

A BM25 inverted index improves SPARQL text search by structuring RDF graph strings for efficient retrieval, enabling fast text-based queries without scanning the entire dataset.

When should I use full-text search predicates instead of standard SPARQL filters?

Use full-text search predicates when standard SPARQL filters are too slow for matching text within large RDF graphs, as BM25 indexing provides optimized text retrieval capabilities.