In 2007 the Raphael Research Resource project began to examine how complex conservation, scientific and art historical research could be combined in a flexible digital form. Exploring the presentation of interrelated high resolution images and text, along with how the data could be stored in relation to an event driven ontology in the form of RDF triples. In addition to the main user interface the data stored within the system is now also accessible in the the form of open linkable data combined with a SPARQL end-point at https://rdf.ng-london.org.uk/rrr/sparql.

This example will introduce the information which is currently available within this resource and some of the web-base tools that have been developed to disseminate it.

This process will be based on but not necessarily limited too:
  • How to perform basic SPARQL queries.
  • Using PHP to collect and format the results of basic SPARQL queries.
  • Using existing IIPImage javascript libraries to present high resolution images.
  • Using PHP and HTML to combine the formatted results and images into simple web-pages.
This example is intended as a basic introduction to these particular resources and some of the techniques currently being used to exploit them. The resources will remain publicly available for those who wish to continue to work with them. However, this system should be considered as experimental and may be subject to periods of down time. An archive of the code used to create this example presentation can be found here.

More recently (2019) this example was refreshed as part of the work carried out in relation to the AHRC funded Linked Conservation Data project.

Simple display example: Find main details for a given image

Simple IIPImage Viewer for:

Simplified PHP Code
<?php

require_once ("header.php");
setGlobals();

$q = "PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX crm:<http://www.cidoc-crm.org/rdfs/cidoc_crm_v5.0.2_english_label.rdfs#>
PREFIX rro:<https://rdf.ng-london.org.uk/raphael/ontology/>
PREFIX rri:<https://rdf.ng-london.org.uk/raphael/resource/>

SELECT 
  ?Image ?ID ?Height ?Width 
  ?Levels ?Pyramid ?IIPServer 
  ?Caption

WHERE { 
  ?Image rro:RP17.has_identifier ?ID ;
    rro:RP225.has_width_in_pixels ?Width ;
    rro:RP227.has_height_in_pixels ?Height ;
    rro:RP243.has_pyramid_server ?Server ;
    rro:RP30.has_pyramid ?Pyramid ;
    rro:RP86.has_no_of_pyramidal_levels ?Levels ;
    rro:RP241.is_public rri:RCL228.Yes ;
    rdf:type rro:RC25.Image .
  Optional { ?Image  rro:RP233.has_caption ?Caption . }.
  ?Server rdf:type rro:RC280.IIPImage_Server ;
    rdfs:label ?IIPServer
  
  FILTER ( ?Image = rri:N-1171-00-000049-WZ-PYR ) . }";
$arr = selectQuery ($q, true); 
$r = $arr[0];
$im = $r["Pyramid"]["value"];
$w = $r["Width"]["value"];
$h = $r["Height"]["value"];
$l = $r["Levels"]["value"];
$server = $r["IIPServer"]["value"];
$ID = $r["ID"]["value"];

echo htmlHeader ();
echo <<<END
<script type="text/javascript" src="$GLOBALS[js]/iipmooviewer-2.0_ng.js"></script> 
    <script language="javascript" type="text/javascript"> 
    window.addEvent("domready",function() {
      var niip = new IIP( "iipDiv", {
        image: "$im",
        prefix: "graphics/",
        hideIcon: true,
        navigation: "top right",
        image_vars: {
          max_width : $w,
          max_height : $h,
          tile_size : 256,
          num_resolution : $l},
        server: "$server"})
});
    </script>
		<table class="grey"><tr><td>
    <table id="qtable" class="qresults"><tr>
      <td width="640px"><div id="iipDiv" class="targetframe"></div></td>
      <td><font class="about">Simple <a href="http://iipimage.sourceforge.net">
    IIPImage</a> Viewer for:</font><ul><li><a href="$im">$ID</a></li></ul></td>
    </tr></table></td></tr></table>
END;
?>

This site was developed by: Joseph Padfield, The National Gallery Scientific Department.