PREFIX base: PREFIX rdf: SELECT ?sensor ?segment1 ?segment2 ?segment3 ?segment4 ?segment5 ?segment6 WHERE { ?sensor rdf:type base:Sensor . ?segment1 base:monitoredBy ?sensor . ?segment1 rdf:type base:Segment . ?segment1 base:connectsTo ?segment2 . ?segment2 base:monitoredBy ?sensor . ?segment2 rdf:type base:Segment . ?segment2 base:connectsTo ?segment3 . ?segment3 base:monitoredBy ?sensor . ?segment3 rdf:type base:Segment . ?segment3 base:connectsTo ?segment4 . ?segment4 rdf:type base:Segment . ?segment4 base:monitoredBy ?sensor . ?segment4 base:connectsTo ?segment5 . ?segment5 rdf:type base:Segment . ?segment5 base:monitoredBy ?sensor . ?segment5 base:connectsTo ?segment6 . ?segment6 rdf:type base:Segment . ?segment6 base:monitoredBy ?sensor . } PREFIX base: PREFIX rdf: SELECT ?segment ?length WHERE { ?segment rdf:type base:Segment . ?segment base:length ?length . FILTER (?length <= 0) } PREFIX base: PREFIX rdf: SELECT ?route ?sensor ?swP ?sw WHERE { ?route base:follows ?swP . ?route rdf:type base:Route . ?swP rdf:type base:SwitchPosition . ?swP base:target ?sw . ?sw rdf:type base:Switch . ?sw base:monitoredBy ?sensor . ?sensor rdf:type base:Sensor . FILTER NOT EXISTS { ?route base:requires ?sensor . } } PREFIX base: PREFIX rdf: SELECT ?semaphore ?route1 ?route2 ?sensor1 ?sensor2 ?te1 ?te2 WHERE { ?route1 base:exit ?semaphore . ?route1 rdf:type base:Route . ?semaphore rdf:type base:Semaphore . ?route1 base:requires ?sensor1 . ?sensor1 rdf:type base:Sensor . ?te1 base:monitoredBy ?sensor1 . ?te1 rdf:type base:TrackElement . ?te1 base:connectsTo ?te2 . ?te2 rdf:type base:TrackElement . ?te2 base:monitoredBy ?sensor2 . ?sensor2 rdf:type base:Sensor . ?route2 base:requires ?sensor2 . FILTER (?route1 != ?route2) . FILTER NOT EXISTS { ?route2 base:entry ?semaphore } } PREFIX base: PREFIX rdf: SELECT ?sw WHERE { ?sw rdf:type base:Switch . FILTER NOT EXISTS { ?sw base:monitoredBy ?sensor . ?sensor rdf:type base:Sensor . } } PREFIX base: PREFIX rdf: SELECT ?semaphore ?route ?swP ?sw ?currentPosition ?position WHERE { ?route base:entry ?semaphore . ?route rdf:type base:Route . ?route base:active true . ?semaphore rdf:type base:Semaphore . ?route base:follows ?swP . ?swP rdf:type base:SwitchPosition . ?swP base:target ?sw . ?sw rdf:type base:Switch . ?semaphore base:signal base:SIGNAL_GO . ?sw base:currentPosition ?currentPosition . ?swP base:position ?position . FILTER (?currentPosition != ?position) } PREFIX base: PREFIX rdf: SELECT ?sensor ?segment1 ?segment3 WHERE { ?segment1 base:connectsTo ?segment3 . ?segment1 base:monitoredBy ?sensor . ?segment3 base:monitoredBy ?sensor . ?sensor rdf:type base:Sensor . ?segment1 rdf:type base:Segment . ?segment3 rdf:type base:Segment . } PREFIX base: PREFIX rdf: SELECT ?segment WHERE { ?segment rdf:type base:Segment . } PREFIX base: PREFIX rdf: SELECT ?route ?sensor WHERE { ?route base:requires ?sensor . ?route rdf:type base:Route . ?sensor rdf:type base:Sensor . } PREFIX base: PREFIX rdf: SELECT ?route ?semaphore WHERE { ?route rdf:type base:Route . ?route base:entry ?semaphore . ?semaphore rdf:type base:Semaphore . } PREFIX base: PREFIX rdf: SELECT ?sw WHERE { ?sw rdf:type base:Switch . } PREFIX base: PREFIX rdf: SELECT ?sw WHERE { ?sw rdf:type base:Switch . }