{"id":21927386,"url":"https://github.com/dajobe/rasqal","last_synced_at":"2025-04-06T04:15:48.436Z","repository":{"id":1016721,"uuid":"844254","full_name":"dajobe/rasqal","owner":"dajobe","description":"Redland Rasqal RDF Query Library","archived":false,"fork":false,"pushed_at":"2025-02-12T15:37:30.000Z","size":26540,"stargazers_count":72,"open_issues_count":9,"forks_count":25,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-30T03:09:22.627Z","etag":null,"topics":["c","rdf","sparql"],"latest_commit_sha":null,"homepage":"http://librdf.org/rasqal/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":"Unmaintained","scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dajobe.png","metadata":{"files":{"readme":"README.html","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2010-08-17T17:46:18.000Z","updated_at":"2025-02-12T15:37:36.000Z","dependencies_parsed_at":"2023-02-17T07:15:49.794Z","dependency_job_id":"cd501d7a-9e25-4a7d-9a52-f2f8d5e75567","html_url":"https://github.com/dajobe/rasqal","commit_stats":null,"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dajobe%2Frasqal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dajobe%2Frasqal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dajobe%2Frasqal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dajobe%2Frasqal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dajobe","download_url":"https://codeload.github.com/dajobe/rasqal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247430964,"owners_count":20937875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","rdf","sparql"],"created_at":"2024-11-28T22:14:59.315Z","updated_at":"2025-04-06T04:15:48.181Z","avatar_url":"https://github.com/dajobe.png","language":"C","funding_links":[],"categories":["Programming"],"sub_categories":["C"],"readme":"\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003c!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"\u003e\n\u003chtml xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\"\u003e\n\u003chead\u003e\n  \u003ctitle\u003eRasqal RDF Query Library\u003c/title\u003e\n  \u003clink rel=\"meta\" type=\"application/rdf+xml\" title=\"DOAP\" href=\"rasqal.rdf\" /\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n\n\u003ch1 style=\"text-align:center\"\u003eRasqal RDF Query Library\u003c/h1\u003e\n\u003ch2 style=\"text-align:center\"\u003e\u003ca href=\"https://www.dajobe.org/\"\u003eDave Beckett\u003c/a\u003e\u003c/h2\u003e\n  \n\n\u003ch2\u003eOverview\u003c/h2\u003e\n\n\u003cp\u003e\u003ca href=\"http://librdf.org/rasqal/\"\u003eRasqal\u003c/a\u003e is a free software\n/ Open Source C library that handles Resource Description Framework\n(RDF) query language syntaxes, query construction and execution of\nqueries returning results as bindings, boolean, RDF graphs/triples or\nsyntaxes.  The supported query languages are SPARQL Query 1.0, SPARQL\nQuery 1.1, SPARQL Update 1.1 (no executing) and the Experimental\nSPARQL extensions (LAQRS).  Rasqal can write binding query results in\nthe SPARQL XML, SPARQL JSON, CSV, TSV, HTML, ASCII tables, RDF/XML\nand Turtle / N3 and read them in SPARQL XML, CSV, TSV,\nRDF/XML and Turtle / N3.\n\u003c/p\u003e\n\n\u003cp\u003eRasqal was designed to work closely with the\n\u003ca href=\"http://librdf.org/\"\u003eRedland RDF library\u003c/a\u003e\nand the \u003ca href=\"http://librdf.org/raptor/\"\u003eRaptor\u003c/a\u003e\nRDF Syntax Library but is entirely separate from both.\n\u003c/p\u003e\n\n\u003cp\u003eThis is a beta quality library - the code is mature, the API is\nmostly stable but changing slowly. Rasqal supports all of SPARQL 1.0\nquery and most of SPARQL 1.1 query. It is a portable library and has\nbeen tested on multiple POSIX systems and architectures.  Rasqal has\nno known memory leaks.\n\u003c/p\u003e\n\n\u003cp\u003eA summary of the changes can be found in the\n\u003ca href=\"NEWS.html\"\u003eNEWS\u003c/a\u003e file and detailed API changes in the\n\u003ca href=\"RELEASE.html\"\u003erelease notes\u003c/a\u003e.\u003c/p\u003e\n\n\u003cp\u003eRasqal provides:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn RDF \u003ca href=\"docs/api/query.html\"\u003equery\u003c/a\u003e construction and access API.\u003c/li\u003e\n\u003cli\u003eQuery language support for \u003ca href=\"http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/\"\u003eSPARQL 1.0 Query\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eQuery language support for most of \u003ca href=\"http://www.w3.org/TR/2013/REC-sparql11-query-20130321/\"\u003eSPARQL 1.1 Query\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eA query execution engine executing sub-queries, aggregate expressions and grouping.\u003c/li\u003e\n\u003cli\u003eThe complete SPARQL 1.1 (draft) built-in function and operator library\u003c/li\u003e\n\u003cli\u003eA query result binding API.\u003c/li\u003e\n\u003cli\u003eQuery 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.\u003c/li\u003e\n\u003cli\u003eTriple store querying APIs to support running over external RDF graphs.\u003c/li\u003e\n\u003cli\u003eNo memory leaks.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"roqet.html\"\u003eroqet\u003c/a\u003e standalone command line RDF query utility program\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cp\u003eKnown bugs and issues are recorded in the\n\u003ca href=\"http://bugs.librdf.org/\"\u003eRedland issue tracker\u003c/a\u003e.\n\u003c/p\u003e\n\n\u003cp\u003eRasqal does not provide an RDF API or triple store, but relies on\nexternal libraries implementing the triple store API providing\nmatched RDF data originally from a specified content URI.  Rasqal\nships with a triple store implementation using the output of an RDF\nparser from \u003ca href=\"http://librdf.org/raptor/\"\u003eRaptor\u003c/a\u003e.\nThis can be called using the standalone\ncommand line \u003ca href=\"roqet.html\"\u003eroqet\u003c/a\u003e\nquery utility giving a query language\nidentifier (default sparql), the query string and optionally\nthe data to use unless it is declared in the query string.\n\u003c/p\u003e\n\n\u003cp\u003eRasqal is used inside Redland to provide support for query\nlanguages, a query API and a result bindings API over graphs stored\nin indexed Redland triple stores.  Since this can index the triples\nit will be faster than the default rasqal triple store of reading\nthe triples from Raptor into memory when the queries are complex.\n\u003c/p\u003e\n\n\n\u003ch2\u003eSupported Query Languages\u003c/h2\u003e\n\n\u003ch3\u003eSPARQL Query Language for RDF\u003c/h3\u003e\n\n\u003cp\u003eRasqal provides complete support for the W3C SPARQL Query Language 1.0\ndeveloped by the W3C\n\u003ca href=\"http://www.w3.org/2001/sw/DataAccess/\"\u003eRDF Data Access Working Group\u003c/a\u003e,\nas defined in\n\u003ca href=\"http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/\"\u003eSPARQL Query Language for RDF (1.0)\u003c/a\u003e, W3C Recommendation 15 January 2008.\n\u003c/p\u003e\n\n\u003cp\u003eRasqal implements most of the\n\u003ca href=\"http://www.w3.org/TR/2013/REC-sparql11-query-20130321/\"\u003eSPARQL 1.1 Query Language\u003c/a\u003e\nand\n\u003ca href=\"http://www.w3.org/TR/2013/REC-sparql11-update-20130321/\"\u003eSPARQL 1.1 Update\u003c/a\u003e\nW3C Recommendations 21 March 2013 including aggregates,\nsubqueries, expression in SELECT, assignment, short form for\n\u003ccode\u003eCONSTRUCT\u003c/code\u003e and all the new set of builtin functions and\noperators.\u003c/p\u003e\n\n\u003cp\u003eUnimplemented parts of SPARQL 1.1:\u003c/p\u003e\n\u003cul\u003e\n  \u003cli\u003e\u003ccode\u003eBIND\u003c/code\u003e scope\u003c/li\u003e\n  \u003cli\u003e\u003ccode\u003eVALUES\u003c/code\u003e: part of federated query\u003c/li\u003e\n  \u003cli\u003eDecimal and double canonical format details\u003c/li\u003e\n  \u003cli\u003e\u003ccode\u003eEXISTS\u003c/code\u003e / \u003ccode\u003eNOT EXISTS\u003c/code\u003e\u003c/li\u003e\n  \u003cli\u003eJSON result format reading\u003c/li\u003e\n  \u003cli\u003e\u003ccode\u003eMINUS\u003c/code\u003e\u003c/li\u003e\n  \u003cli\u003e\u003cem\u003eProperty Paths\u003c/em\u003e: These are likely never be supported\n  since it is a lot of work (estimate: 3 months full time) and might\n  need multiple new APIs to talk to the storage layer.\u003c/li\u003e\n  \u003cli\u003e\u003ccode\u003eSERVICE\u003c/code\u003e: Part of federated query\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cp\u003eOut of scope parts of SPARQL 1.1:\u003c/p\u003e\n\u003cul\u003e\n  \u003cli\u003eEntailment and inference: Rasqal is not an inference engine\u003c/li\u003e\n  \u003cli\u003e\u003cem\u003eSPARQL Federated Query\u003c/em\u003e\u003c/li\u003e\n  \u003cli\u003e\u003cem\u003eSPARQL Update\u003c/em\u003e (also called SPARQL Protocol): The Update\n  syntax is parsed with parser name 'sparql-update' but nothing is\n  executed inside Rasqal. Supporting SPARQL Update requires a protocol\n  server that responds to requests to perform operations on a graph\n  store. Rasqal is a query library and does not have an event loop or\n  triple store.\n  \u003ca href=\"http://www.aelius.com/njh/redstore/\"\u003eRedstore\u003c/a\u003e is a system\n  supporting SPARQL Update and Service Description built with Rasqal by\n  using Redland librdf for graph storage and query.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cp\u003eThe details on the Rasqal support for SPARQL 1.1 can be found at the\n\u003ca href=\"https://github.com/dajobe/redland-testing/blob/master/annotations/sparql11.md\"\u003erasqal testing SPARQL 1.1 page\u003c/a\u003e\nwhich shows the SPARQL 1.1 tests that fail and any diagnosis.\n\u003c/p\u003e\n\n\n\n\u003ch3\u003eLAQRS Adds to Querying RDF in SPARQL (LAQRS)\u003c/h3\u003e\n\n\u003cp\u003e\n\u003ca href=\"https://www.dajobe.org/2007/04/laqrs/\"\u003eLAQRS\u003c/a\u003e is\nan \u003cb\u003eexperimental\u003c/b\u003e set of syntax extensions for SPARQL.  The\nsyntax and features may change at any time.  At present Rasqal\nprovides parsing and API support for alternate update syntaxes,\nthe \u003ccode\u003eEXPLAIN\u003c/code\u003e keyword, plus executing a few experimental\nextension functions:\n\u003ccode\u003eNOW()\u003c/code\u003e / \u003ccode\u003eCURRENT_DATETIME()\u003c/code\u003e,\n\u003ccode\u003eFROM_UNIXTIME()\u003c/code\u003e and\n\u003ccode\u003eTO_UNIXTIME()\u003c/code\u003e.\n\u003c/p\u003e\n\n\n\u003ch2\u003eInstallation and Documentation\u003c/h2\u003e\n\n\u003cp\u003eThe public API is described in the\n\u003ca href=\"docs/api/index.html\"\u003eAPI reference\u003c/a\u003e.\nIt is demonstrated in the\n\u003ca href=\"roqet.html\"\u003eroqet\u003c/a\u003e\nutility program which shows how to call the query engine and\noperate over the query results.  When Rasqal is used inside\n\u003ca href=\"http://librdf.org/\"\u003eRedland\u003c/a\u003e,\nthe Redland documentation explains\nhow to call the query engine and contains several example programs.\n\u003c/p\u003e\n\n\u003cp\u003eTo build and install Rasqal from sources see the\n\u003ca href=\"INSTALL.html\"\u003eInstallation document\u003c/a\u003e.\n\u003c/p\u003e\n\n\n\u003ch2\u003eSources\u003c/h2\u003e\n\n\u003cp\u003eThe packaged sources are available from\n\u003ca href=\"http://download.librdf.org/source/\"\u003ehttp://download.librdf.org/source/\u003c/a\u003e.\nThe development GIT sources can also be\n\u003ca href=\"http://github.com/dajobe/rasqal\"\u003ebrowsed on GitHub\u003c/a\u003e\nor checked out at git://github.com/dajobe/rasqal.git\n\u003c/p\u003e\n\n\u003cp\u003eRasqal requires \u003ca href=\"http://librdf.org/raptor/\"\u003eRaptor\u003c/a\u003e 2.0.7\nor newer to build and run, which can be downloaded from the same area\nas the Rasqal source and binaries.\u003c/p\u003e\n\n\n\u003ch2\u003eLicense\u003c/h2\u003e\n\n\u003cp\u003eThis library is free software / open source software released\nunder the LGPL (GPL) or Apache 2.0 licenses.  See\n\u003ca href=\"LICENSE.html\"\u003eLICENSE.html\u003c/a\u003e for full details.\u003c/p\u003e\n\n\n\u003ch2\u003eMailing Lists\u003c/h2\u003e\n\n\u003cp\u003eThe\n\u003ca href=\"http://librdf.org/lists/\"\u003eRedland mailing lists\u003c/a\u003e\ndiscusses the development and use of Rasqal and Redland as well as\nfuture plans and announcement of releases.\u003c/p\u003e\n\n\u003chr /\u003e\n\n\u003cp\u003eCopyright (C) 2003-2024 \u003ca href=\"https://www.dajobe.org/\"\u003eDave Beckett\u003c/a\u003e\u003cbr /\u003eCopyright (C) 2003-2005 \u003ca href=\"https://www.bristol.ac.uk/\"\u003eUniversity of Bristol\u003c/a\u003e\u003c/p\u003e\n\n\u003c/body\u003e\n\u003c/html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdajobe%2Frasqal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdajobe%2Frasqal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdajobe%2Frasqal/lists"}