{ "project": { "title": "BOT example: stairwell", "creator": "Mads Holten Rasmussen" }, "tabs": [ { "title": "1: The dataset", "description": "Visualizing the Abox containing the following:\n\n* A building with three storeys\n* One storey () containing two spaces, the others containing none\n* The building itself containing a multi storey space (a stairwell)\n* Intersections between the stairwell space and the storeys it passes through", "triples": "@prefix bot: .\n@prefix ex: .\n@prefix rdfs: .\n\n# ABOX\n a bot:Space .\n a bot:Space .\n a bot:Space .\n a bot:Building .\n a bot:Storey .\n a bot:Storey .\n a bot:Storey .\n\n# building / storeys relations\n bot:hasStorey , , .\n\n# regular spaces\n bot:hasSpace , .\n\n# special case\n bot:hasSpace .\n ex:intersectsZone , .\n ex:intersectsZone , .\n ex:intersectsZone , .", "query": "PREFIX rdf: \nPREFIX inst: \nPREFIX bot: \nPREFIX prop: \n\nCONSTRUCT\nWHERE {\n ?b ?p ?o \n}" }, { "title": "2: Query spaces related to storey ", "description": "This query returns spaces that either intersect with or are located at .\n\nShould return 1 result as the stairwell intersects with .", "triples": "@prefix bot: .\n@prefix ex: .\n@prefix rdfs: .\n\n# tbox\nex:ZoneIntersection rdfs:subClassOf bot:Interface .\nex:intersectsZone rdfs:subPropertyOf bot:interfaceOf ;\n rdfs:domain ex:ZoneIntersection ;\n rdfs:range bot:Zone .\n\n# abox\n a bot:Space .\n a bot:Space .\n a bot:Space .\n a bot:Building .\n a bot:Storey .\n a bot:Storey .\n a bot:Storey .\n\n# building / storeys relations\n bot:hasStorey , , .\n\n# regular spaces\n bot:hasSpace , .\n\n# special case\n bot:hasSpace .\n a ex:ZoneIntersection ;\n ex:intersectsZone , .\n a ex:ZoneIntersection ;\n ex:intersectsZone , .\n a ex:ZoneIntersection ;\n ex:intersectsZone , .", "query": "PREFIX bot: \nPREFIX ex: \n\nSELECT DISTINCT ?space\nWHERE {\n {\n ?i ex:intersectsZone ;\n ex:intersectsZone ?space .\n } UNION {\n bot:hasSpace ?space .\n }\n FILTER(?space != )\n}" }, { "title": "2: Query spaces related to storey ", "description": "This query returns spaces that either intersect with or are located at .\n\nShould return 3 result as and are directly contained in the Storey-zone, which also intersects with the stairwell.", "triples": "@prefix bot: .\n@prefix ex: .\n@prefix rdfs: .\n\n# tbox\nex:ZoneIntersection rdfs:subClassOf bot:Interface .\nex:intersectsZone rdfs:subPropertyOf bot:interfaceOf ;\n rdfs:domain ex:ZoneIntersection ;\n rdfs:range bot:Zone .\n\n# abox\n a bot:Space .\n a bot:Space .\n a bot:Space .\n a bot:Building .\n a bot:Storey .\n a bot:Storey .\n a bot:Storey .\n\n# building / storeys relations\n bot:hasStorey , , .\n\n# regular spaces\n bot:hasSpace , .\n\n# special case\n bot:hasSpace .\n a ex:ZoneIntersection ;\n ex:intersectsZone , .\n a ex:ZoneIntersection ;\n ex:intersectsZone , .\n a ex:ZoneIntersection ;\n ex:intersectsZone , .", "query": "PREFIX bot: \nPREFIX ex: \n\nSELECT DISTINCT ?space\nWHERE {\n {\n ?i ex:intersectsZone ;\n ex:intersectsZone ?space .\n } UNION {\n bot:hasSpace ?space .\n }\n FILTER(?space != )\n}" } ] }