3.コードの解読

JavaScriptにjQueryをふんだんに使ったコードで、知らないとお手上げになってしまいます。
JavaScriptとjQueryについての基礎知識をつけておきましょう。(もしなければ当然HTMLとCSSも)

/*
This is a Example program to retrieve and display the data.
Press the Run button on the right of the screen (described the behavior of the Example program below).
Please create a new application rewrite this program work.
*/

window.onload = function() {
  var limit = 5;
  var count = 0;
  $.each(LinkData.getWorks(), function(workKey, workValue) {
    $("#result").append("<h3>Work: " + workValue + "</h3>");
    $.each(LinkData.getFiles(workValue), function(fileKey, fileValue) {
      $("#result").append("<h4>File: " + fileValue + "</h4>");
      $.each(LinkData.getSubjects(workValue, fileValue), function(subjKey, subjValue) {
        count = 0;
	$.each(LinkData.getProperties(workValue, fileValue), function(propKey, propValue) {
	  if(count++ > limit) {
	    return false;
	  }
	  $("#result").append("<div style='padding-top:10px;'>Subject : " + subjValue + "</div>");
	  $("#result").append("<div style='padding-left:10px;'>Property : " + propValue + "</div>");
	  $("#result").append("<div style='padding-left:20px;'>Objects</div>");
	  $.each(LinkData.getObjects(workValue, fileValue, subjValue, propValue), function(objKey, objValue) {
	    $("#result").append("<div style='padding-left:30px;'>" + objValue + "</div>");
	  });
	});
      });
    });
  });
};

ではLinkData特有の関数について見て行きたいと思います。
まずは10行目

$.each(LinkData.getWorks(), function(workKey, workValue) { // 10行目

getWorks()がデータ作品のworkValueを取ってくる関数です。(workKeyは今のところ使いみちがよくわからない)
each()の中にあることで、「入力データ」タブの全てのデータ作品に対して、workValueを取得しにいきます。
このworkValueですが、実はLinkDataでの公開ページのアドレス末尾のrdfから始まる英数字のことです。
(モリコロパーク園内バス時刻表の場合は”rdf1s1494i”)

次に12行目

$.each(LinkData.getFiles(workValue), function(fileKey, fileValue) { // 12行目

getFiles(workValue)が、workValueが示すデータ作品にあるファイルのfileValueを取ってくる関数です。
each()の中にあることで。データ作品内の全てのファイルに対して、fileValueを取得しに行きます。
(モリコロパーク園内バス時刻表には「停留所リスト」「平日時刻表」「休日時刻表」の3つのファイルがあり、各fileValueの「moricoro_park_busstops」「moricoro_park_bus_timetable_weekday」「moricoro_park_bus_timetable_holiday」が取得される)

$.each(LinkData.getSubjects(workValue, fileValue), function(subjKey, subjValue) { // 14行目
$.each(LinkData.getProperties(workValue, fileValue), function(propKey, propValue) { //16行目

14,16行目も同じようにsubjValueとpropValueを取ってきます。
subjValueが行の情報、propValueが列の情報です。

$.each(LinkData.getObjects(workValue, fileValue, subjValue, propValue), function(objKey, objValue) { // 23行目

最後にgetObjects()が各セルの内容を取得する関数になります。

つまり、特定のセルの情報が欲しければ

var string = getObjects(workValue, fileValue, subjValue, propValue);

でよいということです。
具体的にすると、

var stop_name = getObjects('rdf1s1494i', 'moricoro_park_busstops', 'http://linkdata.org/resource/rdf1s1494i#1', 'http://linkdata.org/property/rdf1s1494i#name');
alert(stop_name);
// 出力「地球市民交流センター」とアラート表示

次に、利用しやすいようにデータを配列に入れる方法を紹介します。