diff options
Diffstat (limited to 'create-data.js')
-rwxr-xr-x | create-data.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/create-data.js b/create-data.js index 2cd3353..6ba0408 100755 --- a/create-data.js +++ b/create-data.js @@ -321,6 +321,9 @@ function processBuildingParts(buildingParts, callback) { findRoomContents(part, workstations, callback); }, function(callback) { + getRecommendedEntrances(part, callback); + }, + function(callback) { findRoomImages(part, callback); }], callback); @@ -1130,6 +1133,43 @@ SELECT * WHERE {\ }); } +function getRecommendedEntrances(part, callback) { + var query = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\ + PREFIX portals: <http://purl.org/openorg/portals/>\ + PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>\ + SELECT ?portal WHERE {\ + ?uri portals:recommendedBuildingEntrance ?portal\ + FILTER (\ + ?uri = <URI>\ + )\ + }"; + + query = query.replace("URI", part.properties.uri); + + sparqlQuery(query, function(err, data) { + if (err) { + console.error("error in getRecommended Entrance"); + console.error("query " + query); + console.error(err); + } + + part.properties.recommendedEntrances = portals = []; + + data.results.bindings.forEach(function(portal) { + if ('error-message' in portal) { + console.error("error in portals"); + console.error(JSON.stringify(feature)); + console.error("query:\n" + query); + return; + } + + portals.push(portal.portal.value); + }); + + callback(null, portals); + }); +} + // workstations function getUniWorkstations(workstations, callback) { |