diff --git a/src/main/java/semantic/controler/DoItYourselfControl.java b/src/main/java/semantic/controler/DoItYourselfControl.java index 0dfeccd..2b8243e 100644 --- a/src/main/java/semantic/controler/DoItYourselfControl.java +++ b/src/main/java/semantic/controler/DoItYourselfControl.java @@ -18,9 +18,14 @@ public class DoItYourselfControl implements IControlFunctions { @Override public void instantiateObservations(List obsList, String paramURI) { - obsList.forEach(observationEntity -> customModel.createObs( - observationEntity.getValue().toString(), - paramURI, - customModel.createInstant(observationEntity.getTimestamp()))); + obsList.forEach(observationEntity -> { + String instant = customModel.createInstant(observationEntity.getTimestamp()); +// System.out.println("Adding new observation: " + observationEntity.getValue().toString() + " " + paramURI + " " + instant); + customModel.createObs( + observationEntity.getValue().toString(), + paramURI, + instant + ); + }); } } diff --git a/src/main/java/semantic/model/DoItYourselfModel.java b/src/main/java/semantic/model/DoItYourselfModel.java index 23558dd..5036837 100644 --- a/src/main/java/semantic/model/DoItYourselfModel.java +++ b/src/main/java/semantic/model/DoItYourselfModel.java @@ -53,10 +53,14 @@ public class DoItYourselfModel implements IModelFunctions { String obsInstanceURI = model.createInstance(instantURI + "_" + paramURI + "_" + value, obsClassURI); String dataValueURI = model.getEntityURI("a pour valeur").get(0); String datePropertyURI = model.getEntityURI("a pour date").get(0); + String measurePropertyURI = model.getEntityURI("mesure").get(0); String sensorURI = model.whichSensorDidIt(getInstantTimestamp(instantURI), paramURI); + model.addObjectPropertyToIndividual(obsInstanceURI, measurePropertyURI, paramURI); model.addDataPropertyToIndividual(obsInstanceURI, dataValueURI, value); model.addObjectPropertyToIndividual(obsInstanceURI, datePropertyURI, instantURI); - model.addObservationToSensor(obsInstanceURI, sensorURI); + if (sensorURI != null) { + model.addObservationToSensor(obsInstanceURI, sensorURI); + } return obsInstanceURI; } } diff --git a/src/test/java/semantic/TestModelFunctions.java b/src/test/java/semantic/TestModelFunctions.java index 7ad001f..f0fef43 100644 --- a/src/test/java/semantic/TestModelFunctions.java +++ b/src/test/java/semantic/TestModelFunctions.java @@ -57,10 +57,12 @@ public class TestModelFunctions { String obsClassURI = c.getModel().getEntityURI("Observation").get(0); String hasDataValueURI = c.getModel().getEntityURI("a pour valeur").get(0); String datePropertyURI = c.getModel().getEntityURI("a pour date").get(0); + String measurePropertyURI = c.getModel().getEntityURI("mesure").get(0); String sensorURI = c.getModel().whichSensorDidIt("2014-02-13T06:20:00", paramURI); Assert.assertTrue("L'observation n'est pas une instance de la bonne classe", c.getModel().isOfType(obsURI, obsClassURI)); Assert.assertTrue("L'observation n'a pas la bonne valeur", c.getModel().hasDataPropertyValue(obsURI, hasDataValueURI, value)); Assert.assertTrue("L'observation n'a pas la bonne date", c.getModel().hasObjectProperty(obsURI, datePropertyURI, instantURI)); + Assert.assertTrue("L'observation n'est pas rattachée au bon paramètre", c.getModel().hasObjectProperty(obsURI, measurePropertyURI, paramURI)); Assert.assertTrue("L'observation n'est pas rattachée au bon capteur", c.getModel().hasSensorDoneIt(obsURI, sensorURI)); } }