BitQuery is a GitHub1 API driven and D32 based search engine for open source repositories (OSR).
BitQuery pursues two main objectives:
The BitQuery architecture consists of three abstraction layers, following the visual analytics approach3:
1. GitHub is the world's largest code hosting platform for version control and collaboration.
2. D3.js is a JavaScript library for producing dynamic, interactive data visualizations in web browsers.
3. Visual analytics: Definition, process, and challenges. Lecture notes in computer science, 4950:154–176 (D. Keim et al., 2008)
The application spectrum of BitQuery Special Edition is illustrated by exploring and querying the following data types:
BitTrinity is the driving technology of BitQuery that allows to retrieve the GitHub data, postprocess and export them to the appropriate visualization schemes. It comprises the following main components:
The API Parser Layer and Smart Data Layer have been programmed in R using various CRAN packages, see also the References. The design and implementation of the D3-3D Visu layer is described in detail in the VA-App section.
BitQuery VA-App creates an interactive network visualization that allows to overview, sort, zoom, filter and query the data. Additional components such as Legends, Tooltip and Search field provide detailed information on chosen subsets or single data nodes.
BitQuery VA-App was designed in full compliance with the visual analytics mantra:
"Analyze first - show the important - zoom, filter and analyze further - details on demand."
The VA-App has been programmed via JavaScript and CoffeeScript by means of D3.js, Three.js and some npm packages. The (simplified) component diagram of the software infrastructure is given below. For more information, see d3VA - D3 for Visual Analytics: source code, libraries, components
BitQuery VA-App infrastructure, implemented via CoffeeScript classes