How to install VOS 7.2.x on ubuntu linux

Can someone help me with clean steps for installing VOS 7.2.x. Because am struggling to get it up on a Linux box.



Have you reviewed the documentation on Building Virtuoso open source on Linux ?

If you are having a specific problem build on Ubuntu please provide details of what this is ie OS version, archive building from, errors etc …


I have tried the steps from the documentation but it ended installing version 6.1.6 which has not worked on CORS and even federated queries. My OS is Ubuntu 14.4 LTS. Kindly advice.


There is a generic Linux binary available for download.

Please confirm if that works on your Ubuntu setup.

/cc @hwilliams

Hi @kidehen

How can I execute the virtuoso-t.gz setup after extracting?

@deoshayo: You stop the current instance, replace the existing virtuoso-t binary with it and restart …

Although in your case this could be somewhat tricky as I presume you still just have this Ubuntu packaged Virtuoso 6.1 installation installed, which would present a few issues upgrading to a Virtuoso 7.2 binary:

  1. You need to make sure the checkpoint(); command is run, committing all transactions to the database, such that the transaction log file (virtuoso.trx) is 0 bytes in size; otherwise, a binary and trx file version-mismatch error will be reported.
  2. Virtuoso 6.x RDF Storage is row-wise, whereas in Virtuoso 7+ it is column-wise for greater efficiency and performance, but if you have an existing 6.x database, it will remain in row wise storage when the binary is upgraded to 7.x.

See the Virtuoso Upgrading from Release 6.x to Release 7.x document …

What you really should do is setup you own Virtuoso 7 open source build, compiled from the git sources as detailed in the Virtuoso open source Download, Build & Use documentation, which is a pretty straightforward process on Ubuntu and other such common Linux distros.

I have deployed VOS 07.20.3229 on Ubuntu 16.04 server publicly available at
My problem now is how to configure VOS to pick the domain name of the server “” instead of an IP address. I tried to set the “DefaultHost” = “” but still doesn’t work. Please advice.

Another issue when I run the query which includes a SERVICE brings me this message :

Virtuoso RDFZZ Error DB.DBA.SPARQL_REXEC(‘’, …) returned Content-Type ‘text/html’ status ‘HTTP/1.1 429 Too Many Requests’

Too Many Requests

Too Many Requests
This site is currently configured to allow:

    100 simultaneous connections from the same IP address
    50 requests per second from the same IP address

Please try again soon.

Please advice

It is not clear what you are asking … are you asking how to get the Virtuoso instance to run on the HTTP default port of 80 ? As if so then all you have to do is edit the virtuoso.ini file and change the ServerPort setting from 8890 to 80, and restart the Virtuoso instance such that the HTTP server now runs on port 80. At which point it will be accessible on and

If this is not what you are seeking to do then please clarify …

1 Like

The endpoint being a public service we host at our own expense, has limited resources and thus has rate limits to restrict hogging of the server by individual users. You are falling afoul of these rate limits, hence the error the endpoint reports when running your SPARQL-FED queries.

What queries are you running that are causing such continuous connections and requests? Are you running some form of benchmark or one of the queries you were running previously like:

PREFIX prop: <>
PREFIX dbo: <>
PREFIX dbr: <>
PREFIX schema: <>
PREFIX geo: <>
PREFIX owl: <>

SELECT DISTINCT ?school_name 
                ?lat ?long ?region_name ?otherdataset ?abs

		?l prop:school_name ?school_name .
                ?l geo:lat ?lat .
                ?l geo:long ?long .
                ?l schema:Place ?region .
                ?region prop:region_name ?region_name .
                ?region owl:sameAs ?otherdataset .
               SERVICE <> { 
                       SELECT ?abs
                       WHERE { 
                             ?otherdataset dbo:abstract ?abs . 

Where the OPTIONAL SPARQL-FED query would result in a request to the DBpedia server for each row returned by the local part of the query, resulting in the rate limit being exceeded if there are many rows?

Ultimately, if you want to run against a DBpedia instance with no rate limits – that you can query without restrictions – then you should consider setting up an instance of your own. We have prebuilt DBpedia Amazon AWS AMI pay as you go (PAGO) instances that can be instantiated in minutes, that are for this purpose, or you can set up your own local instance with the available DBpedia datasets.

1 Like

Thank you @hwilliams. The clarifications have answered my problem.

Do you have link to a tutorial of how to set the local instance of DBpedia datasets? Does it require a separate server apart from the one with the VOS 7.2 instance? Thanks in advance.

@deoshayo : Provided you have enough memory available on the current Virtuoso server the DBpedia datasets could be loaded into the same instance suitably tuned or could be installed on a separate instance on the same or other server machine.

There are Instructions on installing DBpedia Datasets on a local instance.

Note there is also a Virtuoso DBpedia Docker container.

1 Like