private static void CreateTopology() { Console.WriteLine("Creating Topology ... start"); //Making sure it has not been already added if (context.AsQueryable <Floor>().FirstOrDefault() == null) { //Create a floor 1 Floor floor1 = context.CreateResource <Floor>(ns + "f1"); floor1.Name = "floor 1"; floor1.Commit(); //Create a floor 2 Floor floor2 = context.CreateResource <Floor>(ns + "f2"); floor2.Name = "floor 2"; floor2.Commit(); //Create a Building 1 Building building1 = context.CreateResource <Building>(ns + "b1"); building1.Description = "North face Building"; building1.Name = "b1"; building1.Floors.Add(floor1); building1.Floors.Add(floor2); building1.Commit(); //Create a Temperature measurement Temperature temp1 = context.CreateResource <Temperature>(ns + "t1"); temp1.Description = "this is indoor temperature"; temp1.UnitOfMeasure = TemperatureUnit.Celsius; temp1.Name = "temp1"; temp1.TimeStamp = DateTime.UtcNow; temp1.Value = 32; temp1.Commit(); //Create a Temperature Sensor Sensor temperatureSensor = context.CreateResource <Sensor>(ns + "s1"); temperatureSensor.Description = "This is sensor s1"; temperatureSensor.Name = "TempSensor1"; temperatureSensor.Measures.Add(temp1); temperatureSensor.PhysicalLocation = floor1; temperatureSensor.Commit(); //Create a Humidity measurement Humidity humidity1 = context.CreateResource <Humidity>(ns + "h1"); humidity1.Description = "this is indoor humidity"; humidity1.UnitOfMeasure = HumidityUnit.RelativeHumidity; humidity1.Name = "h1"; humidity1.TimeStamp = DateTime.UtcNow; humidity1.Value = 64; humidity1.Commit(); //Create a Humidity Sensor Sensor humiditySensor = context.CreateResource <Sensor>(ns + "hum1"); humiditySensor.Description = "This is humidity sensor 1"; humiditySensor.Name = "hum1"; humiditySensor.Measures.Add(humidity1); humiditySensor.PhysicalLocation = floor2; humiditySensor.Commit(); } else { Console.WriteLine("Topology already created, not re-adding it"); } Console.WriteLine("Creating Topology ... done"); }