Jefferson Project Static Demo Page

Printer-friendly version

The Jefferson Project calls upon RPI's semantic web expertise for a system to store and express data and its associated metadata from all the sensors installed in and around Lake George. We are developing vocabularies to describe this data so that scientists can perform queries in a unified fashion over any or all data sets.

HASNet-O (Human-Assisted Sensor Network Ontology) leverages vocabulary from PROV, OBOE, and VTSO in order to describe the sensors and instruments themselves. This is important because it allows us to identify sensors that may not currently be in use, or answer other questions about instrumentation such as the precision of a particular reading. OBOE:Measurement here is the same as in the Lake Science Ontology described below - each Measurement is therefore linked to the metadata about the device that recorded it.

The LSO (Lake Science Ontology) offers a structured vocabulary for representing measurements taken. We hope to align this vocabulary with the one we already have in use in the SemantEco project in order to extend it for use in the Jefferson Project.

Finally, we are also investigating how to make use of semantics in describing spatial relationships between geographic entities in and around Lake George. The ability to express in a machine-readable manner that a measurement was taken "downstream" from another measurement, or "within" a specific feature improves analysis because our data matches our understanding of nature in its knowledge that nothing occurs in isolation. Spatial and position metadata provides vital context regarding what happens in the dynamic environment of Lake George.

Tetherless World's SemantEco framework allows visualization of water quality readings on a map pinpointing where readings were taken. This framework can be extended for the Jefferson Project in order to provide numerous ways to examine and compare the data collected in and around Lake George. We can place markers for each installation, with descriptions of all the sensors available at each site.

semanteco-display.png
The original use case for SemantEco required only filtering by Characteristic (the quality being measured, eg, "dissolved oxygen" or "arsenic") and whether or not the value of a particular masurement exceeds Federal or state regulations for water quality. In other words, while the user can see ALL sites where measurements were taken, if he or she is only interested in sites that have polluted water, the interface can filter out those measurements that do not exceed the regulation in question.

The HASNet Ontology and semantic spatial analysis allow us to associate sensor information with the measurements themselves. As a result, we could modify the SemantEco interface to filter visual markers by sensor metadata information as well.

For example, suppose we get an unexpectedly high measurement from Sensor A. We want to be able to filter the display of the sensor network to try to find more information that might offer an explanation:

1) Is this measurement consistent with what we might expect from other nearby locations?

spatial-relationship_s.png
- Spatial analysis and reasoning allows us to check other sensors that are "upstream"/"downstream" from or "next to" Sensor A. A high level at Sensor A might also produce high levels at nearby sensors as the water moves through the watershed.
- Clustering of points to identify regions in and around Lake George can also help identify which features are nearby and may need to be more closely monitored for changes.

2) Has this occurred before?

time-chart.png
Sample SemantEco dispaly
finkle-graph.png
Sample graph using salt data from Finkle Brook, produced using R
- Clicking on Sensor A in the map yields a timeline plot of all measurements over a span of time. Has the level been rising steadily to the current measurement? Has the level risen around this time of year in historical data, too?
- SemantEco is concerned with comparisons of current levels to threshold regulations, and can provide provenance regarding which regulations are charted. The Jefferson Project may also encode other values for comparison, such as ranges considered "average", limits tolerated by a particular species, or levels within the measurable range of the sensor.
- With expected value ranges, if they are derived from a particular simulation, we may also provide information in this interface to refer to the simulation that produced that range.

3) Is there something wrong with the sensor?

- If it is a hardware problem, we can filter all installations to show only those that contain the same sensor as Sensor A. If hardware needs to be repaired or replaced, scientists can see at a glance which installations require attention and which do not have the sensor in question.
- If it is an installation problem, we can check to see when Sensor A was installed. If other sensors installed the same day might be at risk of incorrect installation or other installation issues that affect their functionality, we can similarly filter the display to see only the sensors of potential concern.
- If there is an issue with the platform where Sensor A is installed, we can look at the readings from the other sensors installed at the same platform for signs of problems.

Sample SPARQL queries

/* list everything in the KB along with all their attributes*/
SELECT ?s ?p ?o WHERE { ?s ?p ?o. }

/* list everything in the KB along with their types */
SELECT ?s ?o WHERE { ?s a ?o. }

/* list all things of type prov:Agent */
SELECT ?s WHERE { ?s a . }

/* list all things of type hasneto:Configurator */
SELECT ?s WHERE { ?s a . }

/* list all things of type hasneto:Instrument */
SELECT ?s WHERE { ?s a . }

/* list all things of type foaf:Organization */
SELECT ?s WHERE { ?s a .}

/* List people and their organizations */
SELECT ?s ?org WHERE {
?s a .
?s ?org.
}

/* List people working for RPI’s DFWI */
SELECT distinct ?s WHERE {
?org .
?s .
}

/* List organizations with sub-organizations */
SELECT ?orgname ?suborgname WHERE {
?org a .
?org ?orgname.
?suborg a .
?suborg ?suborgname.
?suborg ?org.
}

/* Name people working for RPI */
SELECT ?sname WHERE {
?suborg a .
?suborg .
?s a .
?s ?suborg.
?s ?sname.
}

/* Name people working for RPI */
SELECT ?sname WHERE {
?suborg a .
?suborg .
?s a .
?s ?suborg.
?s ?sname.
}

/* List the physical features and the characteristics of these features that are/will be measured in the Jefferson Project */
SELECT ?pf ?pfc WHERE {
?pf
?pfc . }

/* List the physical features, the characteristics of these features, and the sensors used to measure these characteristics in the Jefferson Project */