All Projects → dajobe → Rasqal

dajobe / Rasqal

Licence: other
Redland Rasqal RDF Query Library

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Rasqal

AskNowNQS
A question answering system for RDF knowledge graphs.
Stars: ✭ 32 (-43.86%)
Mutual labels:  sparql, rdf
Sparql Engine
🚂 A framework for building SPARQL query engines in Javascript/Typescript
Stars: ✭ 39 (-31.58%)
Mutual labels:  rdf, sparql
Sparql.js
A parser for the SPARQL query language in JavaScript
Stars: ✭ 271 (+375.44%)
Mutual labels:  rdf, sparql
Askomics
DEPRECATED. See askomics/flaskomics
Stars: ✭ 22 (-61.4%)
Mutual labels:  rdf, sparql
Trifid
Lightweight Linked Data Server and Proxy
Stars: ✭ 51 (-10.53%)
Mutual labels:  rdf, sparql
IGUANA
IGUANA is a benchmark execution framework for querying HTTP endpoints and CLI Applications such as Triple Stores. Contact: [email protected]
Stars: ✭ 22 (-61.4%)
Mutual labels:  sparql, rdf
Jena
Apache Jena
Stars: ✭ 700 (+1128.07%)
Mutual labels:  rdf, sparql
sparql-micro-service
SPARQL micro-services: A lightweight approach to query Web APIs with SPARQL
Stars: ✭ 22 (-61.4%)
Mutual labels:  sparql, rdf
Web Karma
Information Integration Tool
Stars: ✭ 489 (+757.89%)
Mutual labels:  rdf, sparql
Brightstardb
This is the core development repository for BrightstarDB.
Stars: ✭ 420 (+636.84%)
Mutual labels:  rdf, sparql
LinkedDataHub
The Knowledge Graph notebook. Apache license.
Stars: ✭ 150 (+163.16%)
Mutual labels:  sparql, rdf
Database
Blazegraph High Performance Graph Database
Stars: ✭ 568 (+896.49%)
Mutual labels:  rdf, sparql
LSQ
Linked SPARQL Queries (LSQ): Framework for RDFizing triple store (web) logs and performing SPARQL query extraction, analysis and benchmarking in order to produce datasets of Linked SPARQL Queries
Stars: ✭ 23 (-59.65%)
Mutual labels:  sparql, rdf
jarql
SPARQL for JSON: Turn JSON into RDF using SPARQL syntax
Stars: ✭ 19 (-66.67%)
Mutual labels:  sparql, rdf
Sessel
Document RDFizer for CouchDB
Stars: ✭ 22 (-61.4%)
Mutual labels:  sparql, rdf
Semanticmediawiki
🔗 Semantic MediaWiki turns MediaWiki into a knowledge management platform with query and export capabilities
Stars: ✭ 359 (+529.82%)
Mutual labels:  rdf, sparql
stardog-language-servers
Language Servers for Stardog Languages
Stars: ✭ 19 (-66.67%)
Mutual labels:  sparql, rdf
CSV2RDF
Streaming, transforming, SPARQL-based CSV to RDF converter. Apache license.
Stars: ✭ 48 (-15.79%)
Mutual labels:  sparql, rdf
Sparqlwrapper
A wrapper for a remote SPARQL endpoint
Stars: ✭ 365 (+540.35%)
Mutual labels:  rdf, sparql
Easyrdf
EasyRdf is a PHP library designed to make it easy to consume and produce RDF.
Stars: ✭ 546 (+857.89%)
Mutual labels:  rdf, sparql

<title>Rasqal RDF Query Library</title>

Rasqal RDF Query Library

Dave Beckett

Overview

Rasqal is a free software / Open Source C library that handles Resource Description Framework (RDF) query language syntaxes, query construction and execution of queries returning results as bindings, boolean, RDF graphs/triples or syntaxes. The supported query languages are SPARQL Query 1.0, SPARQL Query 1.1, SPARQL Update 1.1 (no executing) and the Experimental SPARQL extensions (LAQRS). Rasqal can write binding query results in the SPARQL XML, SPARQL JSON, CSV, TSV, HTML, ASCII tables, RDF/XML and Turtle / N3 and read them in SPARQL XML, CSV, TSV, RDF/XML and Turtle / N3.

Rasqal was designed to work closely with the Redland RDF library and the Raptor RDF Syntax Library but is entirely separate from both.

This is a beta quality library - the code is mature, the API is mostly stable but changing slowly. Rasqal supports all of SPARQL 1.0 query and most of SPARQL 1.1 query. It is a portable library and has been tested on multiple POSIX systems and architectures. Rasqal has no known memory leaks.

A summary of the changes can be found in the NEWS file and detailed API changes in the release notes.

Rasqal provides:

  • An RDF query construction and access API.
  • Query language support for SPARQL 1.0 Query.
  • Query language support for most of SPARQL 1.1 Query.
  • A query execution engine executing sub-queries, aggregate expressions and grouping.
  • The complete SPARQL 1.1 (draft) built-in function and operator library
  • A query result binding API.
  • Query result bindings formatting into SPARQL XML, SPARQL JSON, CSV, TSV, HTML, ASCII tables, RDF/XML, Turtle / N3 and from SPARQL XML, RDF/XML and Turtle / N3.
  • Triple store querying APIs to support running over external RDF graphs.
  • No memory leaks.
  • roqet standalone command line RDF query utility program

Known bugs and issues are recorded in the Redland issue tracker.

Rasqal does not provide an RDF API or triple store, but relies on external libraries implementing the triple store API providing matched RDF data originally from a specified content URI. Rasqal ships with a triple store implementation using the output of an RDF parser from Raptor. This can be called using the standalone command line roqet query utility giving a query language identifier (default sparql), the query string and optionally the data to use unless it is declared in the query string.

Rasqal is used inside Redland to provide support for query languages, a query API and a result bindings API over graphs stored in indexed Redland triple stores. Since this can index the triples it will be faster than the default rasqal triple store of reading the triples from Raptor into memory when the queries are complex.

Supported Query Languages

SPARQL Query Language for RDF

Rasqal provides complete support for the W3C SPARQL Query Language 1.0 developed by the W3C RDF Data Access Working Group, as defined in SPARQL Query Language for RDF (1.0), W3C Recommendation 15 January 2008.

Rasqal implements most of the SPARQL 1.1 Query Language and SPARQL 1.1 Update W3C Recommendations 21 March 2013 including aggregates, subqueries, expression in SELECT, assignment, short form for CONSTRUCT and all the new set of builtin functions and operators.

Unimplemented parts of SPARQL 1.1:

  • BIND scope
  • VALUES: part of federated query
  • Decimal and double canonical format details
  • EXISTS / NOT EXISTS
  • JSON result format reading
  • MINUS
  • Property Paths: These are likely never be supported since it is a lot of work (estimate: 3 months full time) and might need multiple new APIs to talk to the storage layer.
  • SERVICE: Part of federated query

Out of scope parts of SPARQL 1.1:

  • Entailment and inference: Rasqal is not an inference engine
  • SPARQL Federated Query
  • SPARQL Update (also called SPARQL Protocol): The Update syntax is parsed with parser name 'sparql-update' but nothing is executed inside Rasqal. Supporting SPARQL Update requires a protocol server that responds to requests to perform operations on a graph store. Rasqal is a query library and does not have an event loop or triple store. Redstore is a system supporting SPARQL Update and Service Description built with Rasqal by using Redland librdf for graph storage and query.

The details on the Rasqal support for SPARQL 1.1 can be found at the rasqal testing SPARQL 1.1 page which shows the SPARQL 1.1 tests that fail and any diagnosis.

LAQRS Adds to Querying RDF in SPARQL (LAQRS)

LAQRS is an experimental set of syntax extensions for SPARQL. The syntax and features may change at any time. At present Rasqal provides parsing and API support for alternate update syntaxes, the EXPLAIN keyword, plus executing a few experimental extension functions: NOW() / CURRENT_DATETIME(), FROM_UNIXTIME() and TO_UNIXTIME().

Installation and Documentation

The public API is described in the API reference. It is demonstrated in the roqet utility program which shows how to call the query engine and operate over the query results. When Rasqal is used inside Redland, the Redland documentation explains how to call the query engine and contains several example programs.

To build and install Rasqal from sources see the Installation document.

Sources

The packaged sources are available from http://download.librdf.org/source/. The development GIT sources can also be browsed on GitHub or checked out at git://github.com/dajobe/rasqal.git

Rasqal requires Raptor 2.0.7 or newer to build and run, which can be downloaded from the same area as the Rasqal source and binaries.

License

This library is free software / open source software released under the LGPL (GPL) or Apache 2.0 licenses. See LICENSE.html for full details.

Mailing Lists

The Redland mailing lists discusses the development and use of Rasqal and Redland as well as future plans and announcement of releases.


Copyright (C) 2003-2014 Dave Beckett
Copyright (C) 2003-2005 University of Bristol

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].