Virtuoso Open Source on Mac OS

I’ve played around with different triple stores over the past years, but somehow never got to try Virtuoso. So I thought I’d give it a shot and while I’m at it, document the installation steps. The commercial edition of Virtuoso comes with a simple app that does all the dirty work for you, the open source edition does not – but this is not a huge issue unless a terminal window makes you want to hide under the table and cry.

Here we go.


  1. The Virtuoso Open Source GitHub page has a tutorial for building the application from scratch, but we are going to take the easy path. If you don’t have Homebrew installed, go ahead and do that. Open a terminal window and run
    • ruby -e "$(curl -fsSL"
  2. Homebrew is a package manager for Mac OS and provides builds for many popular (and not so popular) open source software packages. Homebrew makes installing Virtuoso as easy as
    • brew install virtuoso

Starting Virtuoso

  1. After Homebrew has installed all dependencies and Virtuoso itself, we are ready to go. Virtuoso needs a virtuoso.ini file that contains all settings for the server. Our installation comes with a sample .ini file, located in /usr/local/Cellar/virtuoso/7.1.0/var/lib/virtuoso/db/ (this works for Virtuoso 7.1.0, but the location is most likely different for other versions. You can find that directory by running locate virtuoso.ini). Change into that directory and start virtuoso by running the following two commands:
    • cd /usr/local/Cellar/virtuoso/7.1.0/var/lib/virtuoso/db/
    • virtuoso-t -f
  2. Voilà. You should now be able to access the Virtuoso frontend at http://localhost:8890.
  3. You’ll find a link to the Conductor, the Virtuoso admin interface, at the top left of the page. The standard installation has a bunch of preset usernames and passwords, so that we can simply login with
    • User: dba
    • Password: dba

Loading data into Virtuoso

An empty triple store is not much fun, so let’s load some data into Virtuoso. There are several ways to do that, I’ll just describe one way here that works well for large files like the Geonames dump in N-Triples format I’m loading here.

  1. In order to load a local RDF file into Virtuoso, it needs access to the directory holding that file. The clean solution is to add that directory to the DirsAllowed in virtuoso.ini and restart Virtuoso. I’ll take the quick and dirty approach here and simply move the file from my Downloads folder to the folder holding our virtuoso.ini by running
    • mv ~/Downloads/geonames.nt /usr/local/Cellar/virtuoso/7.1.0/var/lib/virtuoso/db/geonames.nt
  2. Next, we’ll start an SQL prompt by running
    • isql

    You should see an new prompt now: SQL>

  3. On this SQL prompt, insert the following command to load the data into Virtuoso:
    • DB.DBA.TTLP_MT (file_to_string_output ('./geonames.nt'), '', '');

    The second parameter is the URI of the graph we load the data into. It does not really matter what you put there, as long as it’s a valid URI.

If you’re trying to load a big file, the bulk loader functions are much faster. You should also change the settings for the NumberOfBuffers and MaxDirtyBuffers in virtuoso.ini to allow Virtuoso to use more RAM.

Querying Virtuoso

While we are waiting for Virtuoso to finish loading our dataset (which may take a while if you are loading a big dump like GeoNames), we can already run our first queries on the triples that have already been loaded. Go to http://localhost:8890/sparql and run a test query against the graph you are loading data into ( in my example above:

?a ?b ?c
} LIMIT 10

This should give you ten random triples from the dataset you are loading.

Shutting down Virtuoso

Shutting down Virtuoso correctly (rather than just killing the process) is important because otherwise you may have trouble starting it next time. For a clean shut down, open an SQL prompt (see above) and run


AGILE 2014: Best paper award and some slides

Our paper on Encoding and querying historic map content won the best paper award at AGILE 2014 in Castellon, Spain. Thanks to Simon, Jim and Alber for the great work!

These are the slides for the talks presenting our three papers.

Encoding and querying historic map content (thanks Simon Scheider!)

Making the Web of Data Available via Web Feature Services (thanks Jim Jones!)

Geo-Information Visualizations of Linked Data (thanks Rob Lemmens!)

GeoPrivacy Workshop at ACM SIGSPATIAL

I will be jointly organizing a workshop on GeoPrivacy at ACM SIGSPATIAL in Dallas this fall, together with Grant McKenzie (UC Santa Barbara) and Lars Kulik (University of Melbourne).


GeoPrivacy: 1st Workshop on Privacy in Geographic Information Collection and Analysis

In conjunction with ACM SIGSPATIAL 2014

November 4, 2014, Dallas, Texas, USA


Workshop scope

Developments in mobile and surveying technologies over the past decade have enabled the collection of Individual-level geographic information at unprecedented scale. While this large pool of information is extremely valuable to answer scientific questions about human behavior and interaction, privacy intrusion is an imminent risk when detailed individual travel patterns are used for commercial purposes such as customer profiling, or even for political persecution. The GeoPrivacy workshop will hence focus on discussing methods to protect individual’s privacy in geographic information collection and analysis.

Topics of interest for the workshop include, but are not limited to:

  • Awareness
  • Perception of privacy
  • Obfuscation
  • Methods of privacy­preserving anonymization
  • Geo­credibility, trust and expertise
  • The role of geoprivacy in policy decisions
  • Location Based Services
  • Online Geosocial Networks
  • Geofencing
  • Privacy implications of Big Data
  • Sample, training and test datasets
  • Privacy in near­field communication
  • Abstraction of geo data for privacy preservation
  • Analysis of anonymized datasets
  • Privacy implications of public displays and signage
  • Gamification and geogames

Workshop format

The workshop will be kicked off with an invited keynote (to be announced), followed by presentations of full papers (30 minutes) and extended abstracts (20 minutes). Each session will include plenty of time for questions and discussions to enable an interactive workshop. The afternoon will be dedicated to small breakout groups to work on focused topics that emerge from the presentations in the morning sessions. Such a highly interactive workshop format has great potential to spark a significant number of new ideas for research and future collaborations in the realm of GeoPrivacy.


We call for full papers (up to 8 pages) and short papers presenting work in progress and raising discussion points for the workshop (up to 4 pages). Submissions must be original and must not be under review elsewhere. Papers must be formatted using the ACM camera-ready templates available at All papers must be submitted in PDF format via the online system (the submission link will be added to the website soon).

Acceptance will be based on relevance to the workshop, technical quality, originality, and potential impact, as well as clarity of presentation. All submitted papers will be reviewed by at least 3 referees.

The proceedings of the workshop will appear in the ACM Digital Library. One author per accepted paper is required to register for the workshop and the conference, as well as present the accepted submission to ensure inclusion in the workshop proceedings.

Important dates

  • Paper submission deadline: August 29, 2014
  • Author notification: September 19, 2014
  • Camera­ready papers due: October 10, 2014
  • Workshop date: November 4, 2014


Program committee

  • Benjamin Adams, Center for eResearch, University of Auckland, New Zealand
  • Sen Xu Alex, Twitter, San Francisco, USA
  • Matt Duckham, University of Melbourne, Australia
  • Carson Farmer, Hunter College, City University of New York
  • Gabriel Ghinita, University of Massachusetts at Boston, USA
  • Tanzima Hashem, BUET University, Bangladesh
  • Peter Kiefer, ETH Zurich, Switzerland
  • Marc­ Olivier Killijian, LAAS, Centre national de la recherche scientifique, France
  • Edzer Pebesma, Institute for Geoinformatics, University of Münster, Germany
  • Albert Remke, 52°North, Germany
  • Colin Robertson, Wilfrid Laurier University, Waterloo, Canada
  • Erik Wilde, UC Berkeley, USA
  • John Wilson, University of Southern California, USA

4th International Workshop on Location and the Web →

Following the previous LocWeb workshops in 2008, 2009, 2010, LocWeb 2014 solicits submissions under the main theme of location-aware information access as a cross-cutting issue in Web research and technology, with subtopics related to search, retrieval, analytics, mining, extraction, mobility, apps, services, and systems. A preference is given to work describing Web-mediated or Web-scale approaches. The workshop is designed to reflect the multitude of fields that demand and utilize location features and we encourage submissions that look at the topic of location on the Web from an interdisciplinary perspective, including new approaches dealing with or utilizing geospatial information.

Submission deadline for LocWeb2014 is July 30, 2014. The workshop will be held on November 3rd at the 23rd International Conference on Information and Knowledge Management in Shanghai, China.

Conference proceedings as tag clouds

Tag clouds are getting a bit old and they are definitely not the most scientific way to visually summarize text contents. They are still a quick and dirty way of getting an overview of the language used in a text, though. In this case, I created tag clouds from the titles of accepted papers and posters at the respective last iterations of five big conferences in the field (GIScience 2014, AGILE 2014, COSIT 2013, ACM SIGSPATIAL GIS 2013, and Geocomputation 2013). In the case of AGILE and GIScience, these meetings are yet to be held, but the accepted papers were already listed (just full papers so far in the case of GIScience).

I did these for a lecture about current hot research topics in GIScience to give the students a quick overview of what the different sub-communities are working on. What I did not quite expect is how well the tag clouds reflect my thinking of the different conferences – e.g., with AGILE and GIScience a bit more on the applied side, COSIT heavy on the theoretical side, and SIGSPATIAL focusing on computational issues. Also, the only big topic they all have in common is spatial data. I would have expected a few more terms prominently popping out at all five conferences, but apparently they are all catering to distinct sub-communities.






Update May 19, 2014: Thanks to Paul for noticing that the COSIT tag cloud had some author names in it. I have replaced the image and also uploaded the text files I have used to create the tag clouds.

Workshop on Geographic Information Observatories 2014 →

Over 20 years since Geographic Information Science was established as a bona fide scientific field of inquiry and with the subsequent explosion of spatial data sources from satellites to sensors and mobile devices, the geographic information universe is rapidly expanding. However, in many respects the nature and structure of this information universe is poorly understood. Traditionally, GIScience research has focused on the relationships between theoretical information models and the geographic phenomena that they are representing. In this workshop we would like to explore the idea of expanding GIScience research to empirically examine the structure of the geographic information universe itself, with the hope that a better understanding of this universe will ultimately give us new insights into how this information can be utilized. This includes both observational and experimental approaches to science. Can we develop a research road map for future observatories of the geographic information universe?

This should be an interesting workshop at GIScience 2014. Submission deadline is June 6.