Towards reasoning about the underlying
causes of sensor observations

Launch Demo!

Signal Knowledge Graph (SignalKG) assists machines to reason about the cause of signals observed by sensors.


Signal Knowledge Graph (SignalKG) captures information needed to reason about the different types of signals (audio, vision, etc.) observed by sensors and possible causes of these observations. Entities perform Actions, Actions create Signals, and the presence of a signal is determined by a Classifier:

  a skg:Entity ;
  skg:prExists 0.5 ;
  skg:performs :breakWindow .

  a skg:Action ;
  skg:actsOn asset:Window ;
  skg:prOccurs 0.5 ;
  skg:creates :soundOfBreakingGlass .

  a skg:Signal ;
  skos:broader :soundOfGlass .

  a skg:ClassifierModel ;
  skg:sensitivity 0.9 .

Sensors are described using the W3C Semantic Sensor Network (SSN/SOSA) ontology, and linked to signals in the Signal Knowledge Graph via the sosa:observes property:

:mic1 a sosa:Sensor;
    ssn:implements :yamNet ;
    sosa:observes :soundOfGlass .

The smart building that sensors observe is defined using the RealEstateCore (REC) ontology:

:conferenceRoom1 a building:ConferenceRoom .

To make inferences, we generate a Bayesian Belief Network from the Knowledge Graphs. The Bayesian Belief Network models the probability that an entity (if present) will perform an action, the probability that an action (if it occurs) will result in a signal, and a signal (if emitted) will be detected by a sensor (taking into account the distance of the sensor from the source, any barriers between the source and the sensor that may block the signal, and the sensitivity of the classifier). We infer what took place given the Sensor Observations, by conditioning the Bayesian Belief Network on those observations.

Paper Source Code Launch Demo!