Virtuoso Open-Source Edition: ODS.OdsAPlusLinks

Virtuoso Open-Source, OpenLink Data Spaces, and OpenLink Ajax Toolkit

Useful Pages


Subscribe to feeds of the changes to this site in the following formats:


ODS <a>++ links

What are <a>++ links?

The essence of the Web is the link. We use it to navigate, discover, form communities, and rank our Web pages on search engines. But each link carries much more behind it than what has generally been exposed.

ODS <a>++ links extend the basic HTML link by including relationships to other data in the ODS dataspace.


The implementation (mainly in app.js) is based on OAT, the OpenLink AJAX Toolkit, combined with the free-text search features of Virtuoso SPARQL. It is a part of the ODS Framework and other hosted applications may use it.

The main function from the JS file is *generateAPP()*. It takes the following parameters:

  • appArea - id of the element containing the area with the links to be <a>++ transformed;
  • appOptions - options that will be applied to all links in appArea. They are the same as the options for the anchors from OAT:
    • imagePath - path for images used for lookup bubble;
    • title - title of the window;
    • activation - "hover" or "click";
    • width, height - dimensions of the lookup window;

Only links with id attribute are transformed. The default content of the anchor window is:

  • Web page - default link location
  • Data link (RDF) - RDF representation of the object (if the object is a part of the ODS dataspace)
  • Horizontal line
  • Found links - list of related IRIs found in the ODS dataspace based on the link text


Any hosted application may use <a>++ JS by including the script below in the head:

  <script type="text/javascript">
    // OAT
    var toolkitPath="/ods/oat";
    var imagePath="/ods/images/oat/";
    var featureList=["ajax2", "ws", "anchor"];
  <script type="text/javascript" src="/ods/oat/loader.js"></script>
  <script type="text/javascript" src="/ods/app.js"></script>
  <script type="text/javascript">
    function myInit() {
      OAT.Preferences.imagePath = '/ods/images/oat/';
      OAT.Anchor.imagePath = OAT.Preferences.imagePath;
      OAT.Anchor.zIndex = 1001;
      generateAPP('app_area', {});
    OAT.MSG.attach(OAT, OAT.MSG.OAT_LOAD, myInit);

The following ODS applications support <a>++ links:

The settings for <a>++ links can be changed in ODS Framework UI->user name->Edit My Profile->Personal page, drop-down list "Show <a>++ links". The options scope is:

  • disabled - this is the default;
  • click - the anchor is opened when user clicks the RDF icon shown at the right of the link;
  • hover - the anchor is opened when the cursor hovers over the RDF icon shown at the right of the link.

Powered By Virtuoso