-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrunTest.py
71 lines (61 loc) · 2.11 KB
/
runTest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
from chatgpt import *
from led import *
import re
import urllib.parse
import os
from flask import request
import json
import requests
import urllib.parse
def write_strings_to_file(strings, file_name):
try:
with open(file_name, 'w') as file:
for string in strings:
file.write(string + '\n')
print(f'Successfully wrote {len(strings)} strings to {file_name}.')
except Exception as e:
print(f'Error: {e}')
input = 'childhood'
# sparqlEndpoint = 'https://data.open.ac.uk/sparql'
sparqlEndpoint = 'http://localhost:9999/blazegraph/namespace/led'
headers = {
'Accept': 'application/sparql-results+json',
'Content-Type': 'application/x-www-form-urlencoded'
}
gptResponse = keywordExpansion(input)
print(gptResponse)
gptResponseObj = json.loads(gptResponse)
query = generateSPARQLQueryFromTerms2(gptResponseObj)
fullQuery = generateSPARQLQueryFromTermsFull(gptResponseObj)
print(query)
# do lexp query
safeQuery = urllib.parse.quote_plus(query)
payload = 'query=' + safeQuery
ledResponse = requests.request("POST", sparqlEndpoint, headers=headers, data=payload)
# print(ledResponse.text)
ledResponseObj = ledResponse.json()
ledEntries = []
for item in ledResponseObj['results']['bindings']:
# print(item['excerpt']['value'])
print(item['lexp']['value'])
# print(item['text']['value'])
# print('---------')
ledEntries.append(item['lexp']['value'])
file_name = "output/output.txt"
write_strings_to_file(ledEntries, file_name)
# do full query
safeQuery = urllib.parse.quote_plus(fullQuery)
payload = 'query=' + safeQuery
ledResponse = requests.request("POST", sparqlEndpoint, headers=headers, data=payload)
# print(ledResponse.text)
ledResponseObj = ledResponse.json()
ledEntries = []
for item in ledResponseObj['results']['bindings']:
# print(item['excerpt']['value'])
print(item['lexp']['value'])
# print(item['text']['value'])
# print('---------')
ledEntries.append(item['lexp']['value'] + ' - ' + item['text']['value'])
ledEntries.append('---------------------')
file_name = "output/output.full.txt"
write_strings_to_file(ledEntries, file_name)