Language
Login
Language Setting
X
English
日本語 [Japanese]
about this App
横浜市のオープンデータ一覧表示アプリ
useful
1
Loading...
var LV = LV || {}; // ※表示タイトル LV.title = "横浜市のオープンデータ一覧"; // ※テーブルの項目名とプロパティの対応の設定 LV.property = [ ["ID", "0"], /* 必須 */ ["データ名", "http://purl.org/dc/elements/1.1/title"], ["データ形式", "format"], ["掲載ページ", "http://purl.org/dc/elements/1.1/source"], ["所管部署", "http://purl.org/dc/elements/1.1/creator"], ["備考", "http://purl.org/dc/elements/1.1/description"], ["ダウンロード", "download"] ] window.onload = function() { $("#result").append("<h1>" + LV.title + "</h1>"); $("#result").append("<table class='display' id='data_list'></table>" ); var colList=[]; $('#data_list').dataTable({ "aoColumns": setColName(colList), "asSorting": [[0,"desc"]], "bJQueryUI": true, "bAutoWidth": false, "bJQueryUI": true, /* 空の値が来たらハイフン表示(alert対策) */ "columnDefs": [{ "defaultContent": "-", "targets": "_all" }], /* 日本語化 */ "language": { "emptyTable" : "データが登録されていません。", "info" : "_TOTAL_ 件中 _START_ 件から _END_ 件までを表示", "infoEmpty" : "", "infoFiltered" : "(_MAX_ 件からの絞り込み表示)", "infoPostFix" : "", "thousands" : ",", "lengthMenu" : "1ページあたりの表示件数: _MENU_", "loadingRecords" : "ロード中", "processing" : "処理中...", "search" : "検索:", "zeroRecords" : "該当するデータが見つかりませんでした。", "paginate" : { "first" : "先頭", "previous" : "前へ", "next" : "次へ", "last" : "末尾" } } }); /* LinkDataからデータを取得 */ $.each(LinkData.getWorks(), function(workKey, workValue) { var propList = stringToUri(LV.property, workValue); $.each(LinkData.getFiles(workValue), function(fileKey, fileValue) { $.each(LinkData.getSubjects(workValue, fileValue), function(subjKey, subjValue) { var dataList = []; /* ID列のデータ取得 */ var sharp = decodeURIComponent(subjValue).split("#"); var slash = sharp[sharp.length-1].split("/"); var id = slash[slash.length-1]; dataList[0] = id; /* その他の列のデータを取得 */ $.each( LinkData.getProperties(workValue, fileValue), function(propKey, propValue) { $.each (propList, function(i, propUri){ if (propUri == propValue) { var objList = []; $.each( LinkData.getObjects(workValue, fileValue, subjValue, propValue), function(objkey, objValue) { objList.push(objValue); }); dataList[i+1] = addHtml(objList.toString()); } }); }); /* テーブルにデータを追加 */ $('#data_list').dataTable().fnAddData(dataList); }); }); }); } /* プロパティがリテラルで指定された場合にURIに変換 */ function stringToUri (p, workId) { var arr = []; $.each (p, function(){ if(this[1] != 0) { if(this[1].indexOf("http") != 0){ arr.push("http://linkdata.org/property/" + workId + "#" + encodeURIComponent(this[1])); } else { arr.push(this[1]); } } }) return arr; } /* カラム名を設定 */ function setColName(arr) { $.each(LV.property, function(){ var col = {}; col.sTitle = this[0]; arr.push(col); }) return arr; } /* データの値がURLの場合の処理 */ function addHtml(str) { if (str.indexOf("http") == 0) { if ((str.indexOf(".jpg" )>0 || str.indexOf(".gif" )>0 || str.indexOf(".png" )>0) || (str.indexOf(".JPG" )>0 || str.indexOf(".GIF" )>0 || str.indexOf(".PNG" )>0)) { str = '<img src="' + str + '" />'; } else { str = '<a href="' + str + '" target="_blank">' + str + '</a>'; } } return str; }
#result { margin: 10px; } #result h1 { background: #008cba none repeat scroll 0 0; color: #fff; font-size: 200%; padding: 10px; } #result img { max-width: 200px; max-height: 200px; }
<div id="result"></div>
Preview
Input Data
ReadMe
Snapshots
LinkData Work
Table Data
横浜市のオープンデータ一覧
Contributor:Sayoko Shimoyama
Update:Mar 31, 2016
158 Downloads, 1 Applications
「よこはまオープンデータカタログ(試行版)」に掲載されているオープンデータをリスト表示アプリにするためにLinkDataにアップしました。
yokohama_opendata
[
]
Add LinkData work(LinkData)
Link http://app.linkdata.org/run/app1s1326i?tab=readme
Initial content
https://cdn.datatables.net/s/zf-5.5.2/jqc-1.11.3,dt-1.10.10/datatables.min.js
Work
Add
Clear
insert work id or work name.