Demo: live | video
[ Download Cuebee files | Documentation | Develop | Get support | Donate money ]


Pablo Mendes



The objective of Cuebee is being completely immersed in SPARQL (but shielding the user from the underlying implementation choices). In Cuebee we generate SPARQL queries by SPARQL querying the target endpoint. As the user types in an input box, we suggest existing terms from the target endpoint. When the user selects a term, we look for properties of that term, values for that property, and so on until the user has built a SPARQL query reflecting his/her information need.

When the user clicks "Query" we send the queries to SPARQL endpoints, fetch results and display the results by reading in SPARQL JSON in applicable visualization widgets. We are gradually developing both native SPARQL visualization widgets and SPARQL Protocol-compliant wrappers to existing visualization tools.

For more information visit our documentation page.


Cuebee is a flexible, extensible application for querying the semantic web. It provides a friendly interface to guide users through the process of formulating complex queries. No technical knowledge of query languages or the semantic web is required.
The query formulation process starts with a "query suggestion", where the user looks for a term to start building his or her query. A term can be a variable, instance or class in the ontology. Then, by reading the ontology schema (or an inferred structured of the dataset), the system retrieves all possible properties that apply to the selected "root" term, and present them in a list for the user to choose. When a property is chosen, another background query to the schema retrieves the possible classes in the range of that property. The process continues iteratively, until the intended query is achieved.
The system then formulates a SPARQL query and submits to the SPARQL server. Results are obtained in SPARQL JSON and the interfaces for visualization of results are notified.


Cuebee Architecture
View more presentations from Pablo Mendes.

Frequent Asked Questions (FAQ)

  1. What kinds of server does Cuebee support?
    Cuebee supports any server that implements the SPARQL Protocol for RDF
  2. My queries are slow, I'm using RDF level querying, any thoughts?
    Cuebee is agnostic to server implementation. The idea is to use the SPARQL Protocol to access information in RDF (with or without schema description in RDFS), regardless of where they are stored (in memory, disk, RDBMS, etc.) If your server provides schema description in RDFS, you should query it in RDFS level. If the server doesn't offer that convenience, then there is no way for Cuebee to know what types of things are in your data store, unless we do something like this:
    	SELECT ?class WHERE { [] rdf:type ?class }
  3. I do not understand why we need to iterate over all triples just to get the names of all classes
    We don't need to do iterate over all triples if the server offers us a way to get the same information using another method. For example, if the server has a schema description, we can send this query:
    	SELECT ?class WHERE { ?class rdf:type rdfs:Class }
    That is exactly what the RDFS level in Cuebee does (note that the concept of Class is within the dialect of RDFS).


Many thanks to everybody that contributed with ideas, requirements and implementation, especially, but not limited to the names cited below.


This research has been funded in part at the Kno.e.sis Center by grants from AHA, NSF and NIH. Any opinions, findings, conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the American Heart Association, National Science Foundation, National Institute of Health, University of Georgia, Wright State University or the university systems of Georgia and Ohio.


Cuebee (Query Builder and Results Explorer) is available for download with some rights reserved.
This work is licensed under a Creative Commons Attribution-No Derivative Works 3.0 Unported License. We plan to change the license to a less restrictive one when the software matures from alpha stage.

The software relies on other independently licensed packages:
Jena Semantic Web Framework Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Hewlett-Packard Development Company, LP
Apache Ant, Tomcat, Lucene, Xerces Apache license
MySQL Connector/J GNU General Public License.

You may proceed to download only if you agree with the terms of the licenses.

Creative Commons License