Skip to content
Snippets Groups Projects
Commit 5d9efa3c authored by Marc Feger's avatar Marc Feger
Browse files

Add path to test if the dbpedia result set is enlargeable

parent 5ebf4eb2
Branches
No related tags found
No related merge requests found
......@@ -3,11 +3,20 @@ from flask.json import jsonify
from src.main import assemble_wikidata_groundtruth_english, assemble_dbpedia_groundtruth_english, \
assemble_wikidata_triples, \
assemble_dbpedia_triples, collect_wikidata_results_with_title
assemble_dbpedia_triples, collect_wikidata_results_with_title, test_if_data_is_enlargeable_for_dbpedia
app = Flask(__name__)
# Todo: Füge eine Route ein die die englischen Werte nicht enhält
# Todo: Füge eine Route ein die die zusätlichen Werte in die Triple-Dateien einbringt.
# Todo: Es soll vorher immer erst der Grunddatensatz erzeugt werden und dann die zusätzlichen Informationen ergänzt werden.
@app.route('/dbpedia/collect/enlargeable')
def dbpedia_data_can_enlarge():
return jsonify(test_if_data_is_enlargeable_for_dbpedia())
@app.route('/wikidata/collect/title')
def wikidata_collect_title():
return jsonify(collect_wikidata_results_with_title())
......
import json
from tokenize import String
from typing import Dict, List
from src import WIKIDATA_ENTRYPOINT, DBPEDIA_ENTRYPOINT
from src.dbpedia.keys import ResultKeys
from src.lib.decapper import Decapper
from src.lib.engine import SPARQLEngine
from src.lib.reader import FileReader
from src.lib.ntriple import NTriple
from src.lib.reader import FileReader
from src.lib.writer import FileWriter
from src.wikidata.keys import ResultKeys
from src.dbpedia.keys import ResultKeys
def test_if_data_is_enlargeable_for_dbpedia() -> Dict:
"""
This method assembles a groundtruth an checks during 10 iterations if the collected data size increase or not.
:return: Result set with the information if it is possible for dbpedia to gain more data.
"""
engine = SPARQLEngine(entrypoint=DBPEDIA_ENTRYPOINT, query='static/dbpedia_groundtruth.sparql')
data = engine.get_json()
size = len(data['results']['bindings'])
increased = False
for i in range(0, 10):
all_movies = [Decapper(movie[ResultKeys.movie.value]).unpack() for movie in data['results']['bindings']]
engine = SPARQLEngine(entrypoint=DBPEDIA_ENTRYPOINT, query='static/dbpedia_groundtruth.sparql')
appendix_res = engine.get_json()
for candidate in appendix_res['results']['bindings']:
if Decapper(candidate[ResultKeys.movie.value]).unpack() not in all_movies:
data['results']['bindings'] += [candidate]
increased = True
print('Gain after step ' + str(i) + ' is: ' + str(size - len(all_movies)))
size = len(all_movies)
return {
'increase': increased,
'current_size': size
}
def assemble_wikidata_groundtruth_english() -> Dict:
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment