RDF query language

Last updated

An RDF query language is a computer language, specifically a query language for databases, able to retrieve and manipulate data stored in Resource Description Framework (RDF) format.

Contents

SPARQL has emerged as the standard RDF query language, [1] and in 2008 became a W3C recommendation. [2] [3]

Query language properties

Properties relevant to RDF query language design include support for the RDF format: [4]

and for desirable language features:

Query language families

RDF query languages can be grouped into language families, each family comprising a set of closely related languages. [5]

The SPARQL family of languages includes SquishQL, RDQL, SPARQL, and TriQL. [5] These languages treat RDF data stores as triple stores that do not necessarily have ontology or schema information associated with them. Members of the SPARQL family are considered relational query languages because they have relational or pattern-based operations. [6] SquishQL was a language constructed to be easy to use and similar in structure to SQL. RDQL, an acronym for RDF Data Query Language, was a further development of SquishQL. RDQL was intended to be a simple low level RDF language and was at one point a candidate for W3C standardization. [7] SPARQL is an extension of RDQL that supports extraction of RDF subgraphs. In 2008, SPARQL 1.0 became a W3C recommendation [8] and SPARQL 1.1 became a W3C recommendation in 2013. [9]

The RQL family of languages includes RQL, SeRQL, and eRQL. [5] These languages support querying of both data and schema. RQL, an acronym for RDF Query Language, is known for using types defined in RDF schemas (RDFS) to query the schema class hierarchy and to support data querying by type. RQL is considered more expressive than the SPARQL family of languages, but has been criticized for too many features and unusual syntactic constructs. SeRQL and eRQL were developed as simplified alternatives to RQL.

There is a family of RDF query languages inspired by XML query technology. [5] XQuery for RDF uses the XML query language XQuery to query RDF data by serializing RDF into an XML format and then using XQuery on the result; this has been called the "syntactic web approach". TreeHugger and RDF Twig use XSLT to query RDF data. Versa by 4Suite is a query language that drew inspiration from XPath.

There exist RDF query languages based on other principles. [5] Metalog combines querying with reasoning and has an English like syntax. Algae is a query language developed by the W3C that adds reactive rules, [10] also called actions, that determine for instance whether an Algae expression is a data query or a data update.

Other examples of RDF Query languages include RDFDBQL. [11]

Example

select?uri,?name,?lat,?lonfrom<http://swordfish.rdfweb.org/discovery/2003/11/cities/xmlrdf.jsp?query=port>where(?city,<rdfs:label>,?name),(?city,<rdfs:label>,?uri),(?city,<pos:lat>,?lat),(?city,<pos:long>,?lon)usingrdfsFOR<http://www.w3.org/2000/01/rdf-schema#>,posFOR<http://www.w3.org/2003/01/geo/wgs84_pos#>,doilairFOR<http://www.daml.org/2001/10/html/airport-ont#>,vcardFOR<http://www.w3.org/vcard-rdf/3.0#>

Other languages which can query RDF data include:

XQuery, or XML Query, is a standard query language for XML documents. [12]

Graph query languages, such as Cypher Query Language, GraphQL, and Gremlin, are designed to query graph databases, of which RDF data stores are an example. [13]

The Topic Map Query Language (TMQL) [14] is a query language for topic maps, a data representation similar to but more general than RDF.

Related Research Articles

<span class="mw-page-title-main">Semantic Web</span> Extension of the Web to facilitate data exchange

The Semantic Web, sometimes known as Web 3.0, is an extension of the World Wide Web through standards set by the World Wide Web Consortium (W3C). The goal of the Semantic Web is to make Internet data machine-readable.

The Resource Description Framework (RDF) is a World Wide Web Consortium (W3C) standard originally designed as a data model for metadata. It has come to be used as a general method for description and exchange of graph data. RDF provides a variety of syntax notations and data serialization formats, with Turtle currently being the most widely used notation.

The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies. Ontologies are a formal way to describe taxonomies and classification networks, essentially defining the structure of knowledge for various domains: the nouns representing classes of objects and the verbs representing relations between the objects.

A query language, also known as data query language or database query language (DQL), is a computer language used to make queries in databases and information systems. In database systems, query languages rely on strict theory to retrieve information. A well known example is the Structured Query Language (SQL).

RDF Schema (Resource Description Framework Schema, variously abbreviated as RDFS, RDF(S), RDF-S, or RDF/S) is a set of classes with certain properties using the RDF extensible knowledge representation data model, providing basic elements for the description of ontologies. It uses various forms of RDF vocabularies, intended to structure RDF resources. RDF and RDFS can be saved in a triplestore, then one can extract some knowledge from them using a query language, like SPARQL.

SPARQL is an RDF query language—that is, a semantic query language for databases—able to retrieve and manipulate data stored in Resource Description Framework (RDF) format. It was made a standard by the RDF Data Access Working Group (DAWG) of the World Wide Web Consortium, and is recognized as one of the key technologies of the semantic web. On 15 January 2008, SPARQL 1.0 was acknowledged by W3C as an official recommendation, and SPARQL 1.1 in March, 2013.

GRDDL is a markup format for Gleaning Resource Descriptions from Dialects of Languages. It is a W3C Recommendation, and enables users to obtain RDF triples out of XML documents, including XHTML. The GRDDL specification shows examples using XSLT, however it was intended to be abstract enough to allow for other implementations as well. It became a Recommendation on September 11, 2007.

RDFa or Resource Description Framework in Attributes is a W3C Recommendation that adds a set of attribute-level extensions to HTML, XHTML and various XML-based document types for embedding rich metadata within Web documents. The Resource Description Framework (RDF) data-model mapping enables its use for embedding RDF subject-predicate-object expressions within XHTML documents. It also enables the extraction of RDF model triples by compliant user agents.

Oracle Spatial and Graph, formerly Oracle Spatial, is a free option component of the Oracle Database. The spatial features in Oracle Spatial and Graph aid users in managing geographic and location-data in a native type within an Oracle database, potentially supporting a wide range of applications — from automated mapping, facilities management, and geographic information systems (AM/FM/GIS), to wireless location services and location-enabled e-business. The graph features in Oracle Spatial and Graph include Oracle Network Data Model (NDM) graphs used in traditional network applications in major transportation, telcos, utilities and energy organizations and RDF semantic graphs used in social networks and social interactions and in linking disparate data sets to address requirements from the research, health sciences, finance, media and intelligence communities.

In computing, Terse RDF Triple Language (Turtle) is a syntax and file format for expressing data in the Resource Description Framework (RDF) data model. Turtle syntax is similar to that of SPARQL, an RDF query language. It is a common data format for storing RDF data, along with N-Triples, JSON-LD and RDF/XML.

<span class="mw-page-title-main">Apache Jena</span> Open source semantic web framework for Java

Apache Jena is an open source Semantic Web framework for Java. It provides an API to extract data from and write to RDF graphs. The graphs are represented as an abstract "model". A model can be sourced with data from files, databases, URLs or a combination of these. A model can also be queried through SPARQL 1.1.

A triplestore or RDF store is a purpose-built database for the storage and retrieval of triples through semantic queries. A triple is a data entity composed of subject–predicate–object, like "Bob is 35" or "Bob knows Fred".

The Semantic Web Stack, also known as Semantic Web Cake or Semantic Web Layer Cake, illustrates the architecture of the Semantic Web.

XHTML+RDFa is an extended version of the XHTML markup language for supporting RDF through a collection of attributes and processing rules in the form of well-formed XML documents. XHTML+RDFa is one of the techniques used to develop Semantic Web content by embedding rich semantic markup. Version 1.1 of the language is a superset of XHTML 1.1, integrating the attributes according to RDFa Core 1.1. In other words, it is an RDFa support through XHTML Modularization.

The International Semantic Web Conference (ISWC) is a series of academic conferences and the premier international forum for the Semantic Web, Linked Data and Knowledge Graph Community. Here, scientists, industry specialists, and practitioners meet to discuss the future of practical, scalable, user-friendly, and game changing solutions. Its proceedings are published in the Lecture Notes in Computer Science by Springer-Verlag.

JSON-LD is a method of encoding linked data using JSON. One goal for JSON-LD was to require as little effort as possible from developers to transform their existing JSON to JSON-LD. JSON-LD allows data to be serialized in a way that is similar to traditional JSON. It was initially developed by the JSON for Linking Data Community Group before being transferred to the RDF Working Group for review, improvement, and standardization, and is currently maintained by the JSON-LD Working Group. JSON-LD is a World Wide Web Consortium Recommendation.

GeoSPARQL is a standard for representation and querying of geospatial linked data for the Semantic Web from the Open Geospatial Consortium (OGC). The definition of a small ontology based on well-understood OGC standards is intended to provide a standardized exchange basis for geospatial RDF data which can support both qualitative and quantitative spatial reasoning and querying with the SPARQL database query language.

Semantic queries allow for queries and analytics of associative and contextual nature. Semantic queries enable the retrieval of both explicitly and implicitly derived information based on syntactic, semantic and structural information contained in data. They are designed to deliver precise results or to answer more fuzzy and wide open questions through pattern matching and digital reasoning.

<span class="mw-page-title-main">Blazegraph</span> Open source triplestore and graph database

Blazegraph is an open source triplestore and graph database, developed by Systap, which is used in the Wikidata SPARQL endpoint and by other large customers. It is licensed under the GNU GPL.

<span class="mw-page-title-main">Ontotext GraphDB</span> RDF-store

Ontotext GraphDB is a graph database and knowledge discovery tool compliant with RDF and SPARQL and available as a high-availability cluster. Ontotext GraphDB is used in various European research projects.

References

  1. Bikakis, Nikos; Tsinaraki, Chrisa; Gioldasis, Nektarios; Stavrakantonakis, Ioannis; Christodoulakis, Stavros (1 January 2013). "The XML and Semantic Web Worlds: Technologies, Interoperability and Integration: A Survey of the State of the Art". Semantic Hyper/Multimedia Adaptation. Studies in Computational Intelligence. Vol. 418. pp. 319–360. arXiv: 1608.03556 . doi:10.1007/978-3-642-28977-4_12. ISBN   978-3-642-28976-7. S2CID   6357481.
  2. Prud'hommeaux, Eric; Seaborne, Andy (15 January 2008). "SPARQL Query Language for RDF". W3C. World Wide Web Consortium.
  3. Herman, Ivan (15 January 2008). "SPARQL is a Recommendation". Semantic Web Activity News. World Wide Web Consortium.
  4. Haase, Peter; Broekstra, Jeen; Eberhart, Andreas; Volz, Raphael (7 November 2004). "A Comparison of RDF Query Languages". The Semantic Web – ISWC 2004. Lecture Notes in Computer Science. Vol. 3298. pp.  502–517. CiteSeerX   10.1.1.105.8731 . doi:10.1007/978-3-540-30475-3_35. ISBN   978-3-540-23798-3.
  5. 1 2 3 4 5 Bailey, James; Bry, François; Furche, Tim; Schaffert, Sebastian (1 January 2005). "Web and Semantic Web Query Languages: A Survey". Reasoning Web. Lecture Notes in Computer Science. Vol. 3564. pp. 35–133. doi:10.1007/11526988_3. ISBN   9783540278283 . Retrieved 23 October 2016.{{cite book}}: |journal= ignored (help)
  6. Furche, Tim; Linse, Benedikt; Bry, François; Plexousakis, Dimitris; Gottlob, Georg (1 January 2006). "RDF Querying: Language Constructs and Evaluation Methods Compared". Reasoning Web. Lecture Notes in Computer Science. Vol. 4126. pp. 1–52. CiteSeerX   10.1.1.71.227 . doi:10.1007/11837787_1. ISBN   978-3-540-38409-0.
  7. "RDQL - A Query Language for RDF". www.w3.org. W3C. Retrieved 23 October 2016.
  8. "SPARQL is a Recommendation | Semantic Web Activity News". www.w3.org. Retrieved 23 October 2016.
  9. "Eleven SPARQL 1.1 Specifications are W3C Recommendations | Semantic Web Activity News". www.w3.org. Retrieved 23 October 2016.
  10. Berstel, Bruno; Bonnard, Philippe; Bry, François; Eckert, Michael; Pătrânjan, Paula-Lavinia (1 January 2007). "Reactive Rules on the Web". Reasoning Web. Lecture Notes in Computer Science. Vol. 4636. pp.  183–239. doi:10.1007/978-3-540-74615-7_3. ISBN   978-3-540-74613-3.
  11. Fensel, Dieter; Sycara, Katia; Mylopoulus, John (2003). The Semantic Web - ISWC 2003. Springer. p. 89. ISBN   9783540203629 . Retrieved 21 October 2016.
  12. "XQuery 3.0: An XML Query Language". www.w3.org. W3C. Retrieved 23 October 2016.
  13. Angles, Renzo; Gutierrez, Claudio (29 May 2005). "Querying RDF Data from a Graph Database Perspective". The Semantic Web: Research and Applications. Lecture Notes in Computer Science. Vol. 3532. pp. 346–360. doi:10.1007/11431053_24. ISBN   978-3-540-26124-7.
  14. "Topic Map Query Language (TMQL)". www.isotopicmaps.org. Retrieved 23 October 2016.