Skip to content

Commit

Permalink
created example of code
Browse files Browse the repository at this point in the history
  • Loading branch information
albertoabellagarcia committed May 14, 2024
1 parent 5167e75 commit 5009ddd
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions Observation/code/code_for_using_dataModel.SDMX_Observation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@

# # This code allows you to install a orion-ld broker in a linux system
# # The manuals are here https://github.com/FIWARE/context.Orion-LD/tree/develop/doc/manuals-ld
#
# # INSTALL NGSI LD broker (OrionLD)
# sudo docker pull mongo:3.6
# sudo docker pull fiware/orion-ld
# sudo docker network create fiware_default
# sudo docker run -d --name=mongo-db --network=fiware_default --expose=27017 mongo:3.6 --bind_ip_all --smallfiles
# sudo docker run -d --name fiware-orionld -h orion --network=fiware_default -p 1026:1026 fiware/orion-ld -dbhost mongo-db
#
# # TO RELAUNCH (only if you have already installed a broker in the same machine)
# sudo docker stop fiware-orionld
# sudo docker rm fiware-orionld
# sudo docker stop mongo-db
# sudo docker rm mongo-db
# sudo docker network rm fiware_default
#
# # CHECK INSTANCES
# # Check the broker is running
# curl -X GET 'http://localhost:1026/version'
#
# # Check what entities are in the broker
# curl -X GET http://localhost:1026/ngsi-ld/v1/entities?local=true&limit=1000
#
# # now the python code you can use to insert some value in the context broker according to the data model
#
from pysmartdatamodels import pysmartdatamodels as sdm
import subprocess
serverUrl = "http://localhost:1026" # supposed that your broker is installed in localhost. Edit to match your configuration
dataModel = "Observation"
subject = "dataModel.SDMX"
title = "{'type': 'Property', 'value': 'http://bauhaus/jeuDeDonnees/ds1002/obs-A-N-BE-W2-S1-S1-NA-B1G-_Z-A-_Z-XDC-V-N-2012'}"
attribute = "title"
value = title
# The next line creates the query for inserting this attribute in a NGSI-LD context broker if the attribute does not exist it creates it
print(sdm.update_broker(dataModel, subject, attribute, value, serverUrl=serverUrl, updateThenCreate=True))

identifier = "{'type': 'Property', 'value': 'obs-A-N-BE-W2-S1-S1-NA-B1G-_Z-A-_Z-XDC-V-N-2012'}"
attribute = "identifier"
value = identifier
# The next line creates the query for inserting this attribute in a NGSI-LD context broker if the attribute does not exist it creates it
print(sdm.update_broker(dataModel, subject, attribute, value, serverUrl=serverUrl, updateThenCreate=True))

dataset = "{'type': 'Property', 'object': 'urn:ngsi-ld:CatalogueDCAT-AP:ds1002'}"
attribute = "dataset"
value = dataset
# The next line creates the query for inserting this attribute in a NGSI-LD context broker if the attribute does not exist it creates it
print(sdm.update_broker(dataModel, subject, attribute, value, serverUrl=serverUrl, updateThenCreate=True))

confStatus = "{'type': 'Property', 'value': 'F'}"
attribute = "confStatus"
value = confStatus
# The next line creates the query for inserting this attribute in a NGSI-LD context broker if the attribute does not exist it creates it
print(sdm.update_broker(dataModel, subject, attribute, value, serverUrl=serverUrl, updateThenCreate=True))

print(" In case you have installed the orion-ld broker (see comments on the header of this program)")
print(" Execute this instruction to check that the entities has been inserted")
command = ['curl', '-X', 'GET', 'http://localhost:1026/ngsi-ld/v1/entities?local=true&limit=1000']
result = subprocess.run(command, capture_output=True, text=True)
print(result.stdout)

0 comments on commit 5009ddd

Please sign in to comment.