Skip to content

Commit

Permalink
webhook and rdfviz
Browse files Browse the repository at this point in the history
  • Loading branch information
UditArora2000 committed Aug 4, 2022
1 parent fcb7597 commit 93fe769
Show file tree
Hide file tree
Showing 20 changed files with 9,578 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Webhook/node_modules
9 changes: 9 additions & 0 deletions RDF-Visualization/CONFIG.TXT
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[config]
URL = http://demos.swe.htwk-leipzig.de:40100/qanary/query
SECOND_URL = http://demos.swe.htwk-leipzig.de:40111/startquestionansweringwithtextquestion
USERNAME = admin
PASSWORD = admin
HEIGHT = 750px
GRAVITY = -90
SPRING_LENGTH = 175
CENTRAL_GRAVITY = 0
16 changes: 16 additions & 0 deletions RDF-Visualization/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
FROM python:3.7

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
COPY requirements.txt ./
RUN pip install --upgrade pip
RUN pip install -r requirements.txt

# Bundle app source
COPY . .

EXPOSE 3001

CMD [ "python", "app.py" ]
1 change: 1 addition & 0 deletions RDF-Visualization/Procfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
web: python app.py
93 changes: 93 additions & 0 deletions RDF-Visualization/app.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
from flask import *
import os
from rdflib.extras.external_graph_libs import rdflib_to_networkx_graph
from pyvis.network import Network
from SPARQLWrapper import SPARQLWrapper, JSON , XML
import requests
from configparser import ConfigParser

app = Flask('testapp')
app.config['TEMPLATES_AUTO_RELOAD'] = True
parser = ConfigParser()
parser.read("CONFIG.TXT")
URL = parser.get("config", "URL")
SECOND_URL = parser.get("config", "SECOND_URL")
USERNAME = parser.get("config", "USERNAME")
PASSWORD = parser.get("config", "PASSWORD")
HEIGHT = parser.get("config", "HEIGHT")
GRAVITY = parser.get("config", "GRAVITY")
SPRING_LENGTH = parser.get("config", "SPRING_LENGTH")
CENTRAL_GRAVITY = parser.get("config", "CENTRAL_GRAVITY")


@app.route('/visualize/<graphID>')
def show_graph(graphID):
sparql_database = SPARQLWrapper(URL)
sparql_database.setCredentials(USERNAME, PASSWORD)
sparql_query = """
DESCRIBE *
FROM <""" + graphID + """>
WHERE {
VALUES ?type { qa:AnnotationOfAnswerSPARQL qa:AnnotationOfQaInterface }
?s a ?type .
?s oa:annotatedBy ?annotatingService .
?s oa:annotatedAt ?time .
}
"""
sparql_database.setQuery(sparql_query)
sparql_database.setReturnFormat(XML)
sparql_database.setMethod("POST")
results = sparql_database.query().convert()
networkx_graph = rdflib_to_networkx_graph(results)
net = Network(height=HEIGHT, width="100%")
net.from_nx(networkx_graph)
net.show_buttons(filter_=['physics'])
net.force_atlas_2based(gravity=GRAVITY,spring_length = SPRING_LENGTH, central_gravity = CENTRAL_GRAVITY)
save = net.show("templates/index.html")
return render_template('index.html')


@app.route('/visualize/example')
def html_page():
get_graph_id = requests.post(SECOND_URL,
params={
"question": "What is the real name of hulk?",
"componentlist[]": ["NED-DBpediaSpotlight"]
})
res_json = get_graph_id.json()
print(res_json)
graph_id_test = res_json['inGraph']
sparql_database = SPARQLWrapper(URL)
sparql_database.setCredentials(USERNAME, PASSWORD)
sparql_query = """
PREFIX qa: <http://www.wdaqua.eu/qa#>
PREFIX oa: <http://www.w3.org/ns/openannotation/core/>
DESCRIBE *
FROM <""" + graph_id_test + """>
WHERE {
VALUES ?type { qa:AnnotationOfInstance }
?s a ?type .
?s oa:annotatedBy ?annotatingService .
?s oa:annotatedAt ?time .
}
"""
sparql_database.setQuery(sparql_query)
sparql_database.setReturnFormat(XML)
sparql_database.setMethod("POST")
results = sparql_database.query().convert()
networkx_graph = rdflib_to_networkx_graph(results)
net = Network(height=HEIGHT, width="100%")
net.from_nx(networkx_graph)
net.show_buttons(filter_=['physics'])
net.force_atlas_2based(gravity=GRAVITY,spring_length = SPRING_LENGTH, central_gravity = CENTRAL_GRAVITY)
save = net.show("templates/exampleviz.html")
return render_template('/exampleviz.html')


if __name__ == '__main__':
port = int(os.environ.get("PORT", 5000))
if os.environ.get("SSL_CERT") and os.environ.get("SSL_KEY"):
app.run(host='0.0.0.0', port=port, ssl_context=(os.environ.get("SSL_CERT"), os.environ.get("SSL_KEY")))
else:
app.run(host='0.0.0.0', port=port)
app.run()
111 changes: 111 additions & 0 deletions RDF-Visualization/certs/cert.cert
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
-----BEGIN CERTIFICATE-----
MIIINzCCBx+gAwIBAgIMIogoB+IswbBrQgGkMA0GCSqGSIb3DQEBCwUAMIGNMQsw
CQYDVQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVz
IERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4t
UEtJMSUwIwYDVQQDDBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENBMB4XDTIw
MDMxMTA5MDgwOVoXDTIyMDYxMzA5MDgwOVowgcAxCzAJBgNVBAYTAkRFMRcwFQYD
VQQIDA5TYWNoc2VuLUFuaGFsdDEQMA4GA1UEBwwHS29ldGhlbjFCMEAGA1UECgw5
SG9jaHNjaHVsZSBBbmhhbHQgLSBBbmhhbHQgVW5pdmVyc2l0eSBvZiBBcHBsaWVk
IFNjaWVuY2VzMRgwFgYDVQQLDA9GYWNoYmVyZWljaCBJTlMxKDAmBgNVBAMMH3dl
YmVuZ2luZWVyaW5nLmlucy5ocy1hbmhhbHQuZGUwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQCg86OBv9i0fhOBfNi4YPtKg4lIxvJG1UXOrHeYjaLjwwDE
UMH6qdZRB8pDfrWjjxPSb/uOwtMNPJsRKTfRWhRcetBJLXDt1iQFA7mihp9/pwRt
sFSEyGVEXVrR1KhgV8aX49g29WCpR7SG3U4+pTq6zdwg6Ks4MqPvE9Bcg0gFHNWR
6e7vsCaoJqUhscXTN6Ysue41ACy6vp2eDGNI6OxtE3M0JVDIYaVH4wsrNk3yVdTm
a6tm287RdCUiXJN56WZpI6Yz1r+UZ06d2m1prrnS+bcnfeCY5Cpvu7dCi9uNVM9r
3KofeeCtc1n2KkZdZh7tWUAh4nwieMuNtI+ss51JAgMBAAGjggRgMIIEXDBXBgNV
HSAEUDBOMAgGBmeBDAECAjANBgsrBgEEAYGtIYIsHjAPBg0rBgEEAYGtIYIsAQEE
MBAGDisGAQQBga0hgiwBAQQFMBAGDisGAQQBga0hgiwCAQQFMAkGA1UdEwQCMAAw
DgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQWBBQY
QYb4lzbs7FqmTuopn8v+nhSXyjAfBgNVHSMEGDAWgBRrOpiL+fJTidrgrbIyHgkf
6Ko7dDAqBgNVHREEIzAhgh93ZWJlbmdpbmVlcmluZy5pbnMuaHMtYW5oYWx0LmRl
MIGNBgNVHR8EgYUwgYIwP6A9oDuGOWh0dHA6Ly9jZHAxLnBjYS5kZm4uZGUvZGZu
LWNhLWdsb2JhbC1nMi9wdWIvY3JsL2NhY3JsLmNybDA/oD2gO4Y5aHR0cDovL2Nk
cDIucGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9jcmwvY2FjcmwuY3Js
MIHbBggrBgEFBQcBAQSBzjCByzAzBggrBgEFBQcwAYYnaHR0cDovL29jc3AucGNh
LmRmbi5kZS9PQ1NQLVNlcnZlci9PQ1NQMEkGCCsGAQUFBzAChj1odHRwOi8vY2Rw
MS5wY2EuZGZuLmRlL2Rmbi1jYS1nbG9iYWwtZzIvcHViL2NhY2VydC9jYWNlcnQu
Y3J0MEkGCCsGAQUFBzAChj1odHRwOi8vY2RwMi5wY2EuZGZuLmRlL2Rmbi1jYS1n
bG9iYWwtZzIvcHViL2NhY2VydC9jYWNlcnQuY3J0MIIB9QYKKwYBBAHWeQIEAgSC
AeUEggHhAd8AdQDuS723dc5guuFCaR+r4Z5mow9+X7By2IMAxHuJeqj9ywAAAXDI
2fXEAAAEAwBGMEQCIFeVgNhx1ol335GhdptIeIoGbamyUeeMFYhLBqChrs+aAiAC
IwjzOb2Rp89bmbcvVCmP7rk9B8Gd9LI6NR08aQ/byQB2ALvZ37wfinG1k5Qjl6qS
e0c4V5UKq1LoGpCWZDaOHtGFAAABcMjZ9fMAAAQDAEcwRQIgEOCKoc30UIVRERmv
FEvM1LmmPvdsLeIvzOEtDV6BUFECIQCTZlQzS7yjRPLAPwHUkWIy31h5TuMlWGzl
WPW9GSWE7QB2AG9Tdqwx8DEZ2JkApFEV/3cVHBHZAsEAKQaNsgiaN9kTAAABcMjZ
9lkAAAQDAEcwRQIgMxPM1snMPpC173p6YoIvYfjgaiKRAesUVQInBaHizbICIQDF
8zxSRqZu2pbMWQo+cfjB9ljigH0CGVww03u6fULOLgB2AFWB1MIWkDYBSuoLm1c8
U/DA5Dh4cCUIFy+jqh0HE9MMAAABcMjZ90IAAAQDAEcwRQIhAJy+cC9L0b7kycrU
HSD71/vGo7GDgNxXHNmwiBUYbhPEAiAINv6zym2ItNIxsGf4w9TdmAFgrk68Bx/r
CRcn/QT63jANBgkqhkiG9w0BAQsFAAOCAQEAP27cRo0DI5z1x5doUJBjcVdU+5j+
T6U4IKJU8JBs2rUlPoWe90K4rWKy7Dw70qkyKi3Y1Wk14bVGHotsCORevuMoABvh
f64Oxuic1CvBlNKSv5JvXc6+B4mYCDKAcY6yZowtZX39hRr7X4qQ/L4gzH9ltZ3v
T5YFlxsjd5a+ASJe5TmYcO08P50InM26F9NgRE5OA0MASSb2mWT2tB+rEY+I2+6H
7g2N55DWf6ix/BeTVNpndNncBqikR8zpCWsESvQg5yuVfocvu84ocLVzpvO1HbLt
kufNcQzlZrN1fCJHk/YLhzGjIb3UuD+kftMykbH3BnpDT0ax7IdrPYoG0w==
-----END CERTIFICATE-----
subject= /C=DE/O=Verein zur Foerderung eines Deutschen Forschungsnetzes e. V./OU=DFN-PKI/CN=DFN-Verein Global Issuing CA
-----BEGIN CERTIFICATE-----
MIIFrDCCBJSgAwIBAgIHG2O60B4sPTANBgkqhkiG9w0BAQsFADCBlTELMAkGA1UE
BhMCREUxRTBDBgNVBAoTPFZlcmVpbiB6dXIgRm9lcmRlcnVuZyBlaW5lcyBEZXV0
c2NoZW4gRm9yc2NodW5nc25ldHplcyBlLiBWLjEQMA4GA1UECxMHREZOLVBLSTEt
MCsGA1UEAxMkREZOLVZlcmVpbiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4X
DTE2MDUyNDExMzg0MFoXDTMxMDIyMjIzNTk1OVowgY0xCzAJBgNVBAYTAkRFMUUw
QwYDVQQKDDxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZv
cnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsMB0RGTi1QS0kxJTAjBgNVBAMM
HERGTi1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQCdO3kcR94fhsvGadcQnjnX2aIw23IcBX8pX0to8a0Z1kzh
axuxC3+hq+B7i4vYLc5uiDoQ7lflHn8EUTbrunBtY6C+li5A4dGDTGY9HGRp5Zuk
rXKuaDlRh3nMF9OuL11jcUs5eutCp5eQaQW/kP+kQHC9A+e/nhiIH5+ZiE0OR41I
X2WZENLZKkntwbktHZ8SyxXTP38eVC86rpNXp354ytVK4hrl7UF9U1/Isyr1ijCs
7RcFJD+2oAsH/U0amgNSoDac3iSHZeTn+seWcyQUzdDoG2ieGFmudn730Qp4PIdL
sDfPU8o6OBDzy0dtjGQ9PFpFSrrKgHy48+enTEzNAgMBAAGjggIFMIICATASBgNV
HRMBAf8ECDAGAQH/AgEBMA4GA1UdDwEB/wQEAwIBBjApBgNVHSAEIjAgMA0GCysG
AQQBga0hgiweMA8GDSsGAQQBga0hgiwBAQQwHQYDVR0OBBYEFGs6mIv58lOJ2uCt
sjIeCR/oqjt0MB8GA1UdIwQYMBaAFJPj2DIm2tXxSqWRSuDqS+KiDM/hMIGPBgNV
HR8EgYcwgYQwQKA+oDyGOmh0dHA6Ly9jZHAxLnBjYS5kZm4uZGUvZ2xvYmFsLXJv
b3QtZzItY2EvcHViL2NybC9jYWNybC5jcmwwQKA+oDyGOmh0dHA6Ly9jZHAyLnBj
YS5kZm4uZGUvZ2xvYmFsLXJvb3QtZzItY2EvcHViL2NybC9jYWNybC5jcmwwgd0G
CCsGAQUFBwEBBIHQMIHNMDMGCCsGAQUFBzABhidodHRwOi8vb2NzcC5wY2EuZGZu
LmRlL09DU1AtU2VydmVyL09DU1AwSgYIKwYBBQUHMAKGPmh0dHA6Ly9jZHAxLnBj
YS5kZm4uZGUvZ2xvYmFsLXJvb3QtZzItY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0
MEoGCCsGAQUFBzAChj5odHRwOi8vY2RwMi5wY2EuZGZuLmRlL2dsb2JhbC1yb290
LWcyLWNhL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDANBgkqhkiG9w0BAQsFAAOCAQEA
gXhFpE6kfw5V8Amxaj54zGg1qRzzlZ4/8/jfazh3iSyNta0+x/KUzaAGrrrMqLGt
Mwi2JIZiNkx4blDw1W5gjU9SMUOXRnXwYuRuZlHBQjFnUOVJ5zkey5/KhkjeCBT/
FUsrZpugOJ8Azv2n69F/Vy3ITF/cEBGXPpYEAlyEqCk5bJT8EJIGe57u2Ea0G7UD
DDjZ3LCpP3EGC7IDBzPCjUhjJSU8entXbveKBTjvuKCuL/TbB9VbhBjBqbhLzmyQ
GoLkuT36d/HSHzMCv1PndvncJiVBby+mG/qkE5D6fH7ZC2Bd7L/KQaBh+xFJKdio
LXUV2EoY6hbvVTQiGhONBg==
-----END CERTIFICATE-----
subject= /C=DE/O=Verein zur Foerderung eines Deutschen Forschungsnetzes e. V./OU=DFN-PKI/CN=DFN-Verein Certification Authority 2
-----BEGIN CERTIFICATE-----
MIIFEjCCA/qgAwIBAgIJAOML1fivJdmBMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD
VQQGEwJERTErMCkGA1UECgwiVC1TeXN0ZW1zIEVudGVycHJpc2UgU2VydmljZXMg
R21iSDEfMB0GA1UECwwWVC1TeXN0ZW1zIFRydXN0IENlbnRlcjElMCMGA1UEAwwc
VC1UZWxlU2VjIEdsb2JhbFJvb3QgQ2xhc3MgMjAeFw0xNjAyMjIxMzM4MjJaFw0z
MTAyMjIyMzU5NTlaMIGVMQswCQYDVQQGEwJERTFFMEMGA1UEChM8VmVyZWluIHp1
ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUu
IFYuMRAwDgYDVQQLEwdERk4tUEtJMS0wKwYDVQQDEyRERk4tVmVyZWluIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDLYNf/ZqFBzdL6h5eKc6uZTepnOVqhYIBHFU6MlbLlz87TV0uNzvhWbBVV
dgfqRv3IA0VjPnDUq1SAsSOcvjcoqQn/BV0YD8SYmTezIPZmeBeHwp0OzEoy5xad
rg6NKXkHACBU3BVfSpbXeLY008F0tZ3pv8B3Teq9WQfgWi9sPKUA3DW9ZQ2PfzJt
8lpqS2IB7qw4NFlFNkkF2njKam1bwIFrEczSPKiL+HEayjvigN0WtGd6izbqTpEp
PbNRXK2oDL6dNOPRDReDdcQ5HrCUCxLx1WmOJfS4PSu/wI7DHjulv1UQqyquF5de
M87I8/QJB+MChjFGawHFEAwRx1npAgMBAAGjggF0MIIBcDAOBgNVHQ8BAf8EBAMC
AQYwHQYDVR0OBBYEFJPj2DIm2tXxSqWRSuDqS+KiDM/hMB8GA1UdIwQYMBaAFL9Z
IDYAeaCgImuM1fJh0rgsy4JKMBIGA1UdEwEB/wQIMAYBAf8CAQIwMwYDVR0gBCww
KjAPBg0rBgEEAYGtIYIsAQEEMA0GCysGAQQBga0hgiweMAgGBmeBDAECAjBMBgNV
HR8ERTBDMEGgP6A9hjtodHRwOi8vcGtpMDMzNi50ZWxlc2VjLmRlL3JsL1RlbGVT
ZWNfR2xvYmFsUm9vdF9DbGFzc18yLmNybDCBhgYIKwYBBQUHAQEEejB4MCwGCCsG
AQUFBzABhiBodHRwOi8vb2NzcDAzMzYudGVsZXNlYy5kZS9vY3NwcjBIBggrBgEF
BQcwAoY8aHR0cDovL3BraTAzMzYudGVsZXNlYy5kZS9jcnQvVGVsZVNlY19HbG9i
YWxSb290X0NsYXNzXzIuY2VyMA0GCSqGSIb3DQEBCwUAA4IBAQCHC/8+AptlyFYt
1juamItxT9q6Kaoh+UYu9bKkD64ROHk4sw50unZdnugYgpZi20wz6N35at8yvSxM
R2BVf+d0a7Qsg9h5a7a3TVALZge17bOXrerufzDmmf0i4nJNPoRb7vnPmep/11I5
LqyYAER+aTu/de7QCzsazeX3DyJsR4T2pUeg/dAaNH2t0j13s+70103/w+jlkk9Z
PpBHEEqwhVjAb3/4ru0IQp4e1N8ULk2PvJ6Uw+ft9hj4PEnnJqinNtgs3iLNi4LY
2XjiVRKjO4dEthEL1QxSr2mMDwbf0KJTi1eYe8/9ByT0/L3D/UqSApcb8re2z2WK
GqK1chk5
-----END CERTIFICATE-----
27 changes: 27 additions & 0 deletions RDF-Visualization/certs/key.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAoPOjgb/YtH4TgXzYuGD7SoOJSMbyRtVFzqx3mI2i48MAxFDB
+qnWUQfKQ361o48T0m/7jsLTDTybESk30VoUXHrQSS1w7dYkBQO5ooaff6cEbbBU
hMhlRF1a0dSoYFfGl+PYNvVgqUe0ht1OPqU6us3cIOirODKj7xPQXINIBRzVkenu
77AmqCalIbHF0zemLLnuNQAsur6dngxjSOjsbRNzNCVQyGGlR+MLKzZN8lXU5mur
ZtvO0XQlIlyTeelmaSOmM9a/lGdOndptaa650vm3J33gmOQqb7u3QovbjVTPa9yq
H3ngrXNZ9ipGXWYe7VlAIeJ8InjLjbSPrLOdSQIDAQABAoIBAFB2XIhR20koOiIi
wskyGo4+wdPzOU1180cF62gFbqhEZU6/PKpOW4j4xwIFB1M0BOnP98d/2Dim0rK6
k2ACk2lEMHpU0D7mLe2f1h7NBFGxskIPw8D52b5amTuK/33ig7KNQhr/goo+AZ7m
ZeZlfb3DikedaXNXxaKQmjqVmtyKqZ2JdQmbY7FXkQo4ZSJI9pdDGDuPzymCycuR
OUDupnpCpIwxDYkBCWNyqn/jWiJJiUeVLLJr7I2BnIzdG+kwcydT5NrTZl5gmJOW
tliyjsRrctovH6VHNIXp7JsJXi+oFrc6SBs8bCJz89JEpyW1gMZBjqzJ9WYafMGc
xQS/8m0CgYEA0b+VCExjMh/luUhFVWMLYUNEuMDi+p2HxkRyDPPdM2mbCLiApMtU
rr0JXqz+BYF/WrlP/E6Q3cUDIQOZQY6RuO0XmnFO4upPaot10Id/ZJF50iOmXbn3
dEpAmk9ecZloa0Naw39mvoXnTKn3mJL0f4PJSoNJhPAsO2IW9dgkaSMCgYEAxHF0
+L3hI7iiSuOP9x4S3ir+ZdKwzm6uH2W0xbkV0pal7KUPFrEa2kzHI9/GY/KiNQAr
BSJ2GMkiDuw8BxXSnZnfHaPKJt1v95rJXPLeLSf6d0JJ/67/I0OBZCgJiBsNXrOp
V39yzSZ51gmZIPY4CDIjIYGekQovOU4F5KRxZKMCgYBv/LkmkBpaVduCnIqgN1yJ
FrBncFz/8AHhIwQ91CpjW9wxwMi2s/VHwphxGy4ZZHXJy61gCdahAaJVCyXVcbhu
IvB6PksfLnkuar2BlAa5fE6tmuklm7f6N/bcLMpBHuY4duLMBIan7Lh9HzaaGMRA
HO3pQcWMG+uR3SJjKn7uPwKBgBm4lU1AZ2sq8K0HkMEVgfju/jJM3POakFfyFDJT
YqUZLo6GqiwZcl+k7+olka9ihJSV+gwJEBd8tmXnzpBK7jHOhOU3ne9qzQ9JiBYQ
gsC83FGjL1c4DZYLb7SyfVUB3cVJluGrAVgVMpyw0wj61ClWjz0C4MUy5S4GpkTi
tyorAoGAEziyAhADfTZXEgPGHvhJ/KZop9fEZLkZztllsXZXm0HhVibF1CuhKndN
SNNem6lILLAAtDjL1QYuZk807UpPmhLsr7n8t0uhyaTN54WN4NLZCazTJ5a9Uk4M
n2iI820W7al182e5aefe+8wDV/5S+jKy8CrMRnoVfb20cVxWQ+A=
-----END RSA PRIVATE KEY-----
7 changes: 7 additions & 0 deletions RDF-Visualization/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Flask ==2.0.1
rdflib==5.0.0
pyvis==0.1.9
requests==2.25.1
SPARQLWrapper==1.8.5
qanary-helpers==0.1.0
configparser==5.0.2
Loading

0 comments on commit 93fe769

Please sign in to comment.