if __name__ == '__main__' : # print 'path = ', sys.path baseObject = SmartObject() # create a Smart Object to serve as the base container for other Smart Objects and resources server = SmartObjectService(baseObject) # make an instance of the service, baseObject is the object root server.start(8000) # forks a server thread to listen on port 8000 print 'httpd started at', baseObject.Properties.get('httpService') # create the weather station resource template # first the description baseObject.Description.set((URIRef('sensors/rhvWeather-01'), RDFS.Class, Literal('SmartObject'))) baseObject.Description.set((URIRef('sensors/rhvWeather-01'), RDFS.Resource, Literal('SensorSystem'))) baseObject.Description.set((URIRef('sensors/rhvWeather-01'), RDF.type, Literal('WeatherSensor'))) # sensors resource under the baseObject for all sensors sensors = baseObject.create({'resourceName': 'sensors',\ 'resourceClass': 'SmartObject'}) # top level object container for sensors, default class is SmartObject #weather resource under sensors for the weather sensor weather = sensors.create({'resourceName': 'rhvWeather-01', \ 'resourceClass': 'SmartObject'}) # create a default class SmartObject for the weather sensor cluster # make a reference to the weather sensor object Description and build an example graph (could use the built-in reference as well) weather.description = weather.Resources.get('Description') weather.description.set((URIRef('sensors/rhvWeather-01/outdoor_temperature'), RDFS.Resource, Literal('sensor'))) weather.description.set((URIRef('sensors/rhvWeather-01/outdoor_temperature'), RDF.type, Literal('temperature'))) weather.description.set((URIRef('sensors/rhvWeather-01/outdoor_humidity'), RDFS.Resource, Literal('sensor'))) weather.description.set((URIRef('sensors/rhvWeather-01/outdoor_humidity'), RDF.type, Literal('humidity'))) weather.description.set((URIRef('sensors/rhvWeather-01/sealevel_pressure'), RDFS.Resource, Literal('sensor'))) weather.description.set((URIRef('sensors/rhvWeather-01/sealevel_pressure'), RDF.type, Literal('pressure'))) weather.description.set((URIRef('sensors/rhvWeather-01/indoor_temperature'), RDFS.Resource, Literal('sensor'))) weather.description.set((URIRef('sensors/rhvWeather-01/indoor_temperature'), RDF.type, Literal('temperature'))) weather.description.set((URIRef('sensors/rhvWeather-01/indoor_humidity'), RDFS.Resource, Literal('sensor')))