test_query_endpoint.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import logging
  2. from urllib.error import URLError
  3. import arklog
  4. from SPARQLWrapper import SPARQLWrapper, JSON
  5. arklog.set_config_logging()
  6. prefixes = "\n".join((
  7. "PREFIX dtf: <https://ontology.rys.app/dt/function/>",
  8. "PREFIX owl: <http://www.w3.org/2002/07/owl#>",
  9. "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>",
  10. "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>",
  11. "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>",
  12. ))
  13. # TODO Convert to test
  14. def query_0():
  15. """"""
  16. sparql = SPARQLWrapper("http://localhost:8000")
  17. sparql.setReturnFormat(JSON)
  18. sparql.setQuery(
  19. prefixes +
  20. """
  21. SELECT ?outlier ?outlier_value WHERE {
  22. BIND(dtf:outlier("data.csv", "2") AS ?outlier)
  23. }
  24. """
  25. )
  26. try:
  27. ret = sparql.query().convert()
  28. except URLError as e:
  29. logging.error(e)
  30. return
  31. if not ret:
  32. logging.info("No outliers!")
  33. for r in ret["results"]["bindings"]:
  34. logging.info(r)
  35. # TODO Convert to test
  36. def query_1():
  37. """"""
  38. sparql = SPARQLWrapper("http://localhost:8000")
  39. sparql.setReturnFormat(JSON)
  40. sparql.setQuery(
  41. prefixes +
  42. """
  43. SELECT ?outlier WHERE {
  44. SERVICE <http://localhost:8000/> {
  45. SELECT ?outlier ?outlier_value WHERE {
  46. BIND(dtf:outlier("data2.csv", "1") AS ?outlier)
  47. }
  48. }
  49. }
  50. """
  51. )
  52. try:
  53. ret = sparql.query().convert()
  54. except URLError as e:
  55. logging.error(e)
  56. return
  57. if not ret:
  58. logging.info("No outliers!")
  59. for r in ret["results"]["bindings"]:
  60. logging.info(r)
  61. # TODO Convert to test
  62. def query_2():
  63. """"""
  64. sparql = SPARQLWrapper("http://localhost:8000")
  65. sparql.setReturnFormat(JSON)
  66. sparql.setQuery(
  67. prefixes +
  68. """
  69. SELECT ?outlier ?outlier_relation ?outlier_value WHERE {
  70. SERVICE <http://127.0.0.1:8000/> {
  71. SELECT ?outlier ?outlier_relation ?outlier_value WHERE {
  72. BIND(dtf:outlier("rotation.csv", "2", "<http://ua.be/drivetrain/description/artifacts/artifacts#drivetrain-sensor-data-v1>") AS ?outlier)
  73. }
  74. }
  75. }
  76. """
  77. )
  78. try:
  79. ret = sparql.query().convert()
  80. except URLError as e:
  81. logging.error(e)
  82. return
  83. if not ret:
  84. logging.info("No outliers!")
  85. for r in ret["results"]["bindings"]:
  86. logging.info(r)
  87. if __name__ == "__main__":
  88. query_0()
  89. query_1()
  90. query_2()