Closed ablaette closed 5 months ago
This is preliminary code to determine the number of escaped characters that can be processed:
library(dbpedia)
x <- "D Gesetzentwurf Änderung Bürgerlichen Gesetzbuchs Gesetze — Drucksache 7/63 —
Rechtsausschuß Ausschuß Raumordnung Bauwesen Städtebau Gesetzentwurf Übereinkommen Internationale Fernmeldesatellitenorganisation ' INTELSAT ' —
Drucksache 7/120 — Auswärtigen Ausschuß — federführend — Ausschuß Forschung Technologie Post Fernmeldewesen Gesetzentwurf Abkommen
Parteien Nordatlantikvertrags Rechtsstellung Truppen hinsichtlich Bundesrepublik Deutschland stationierten ausländischen Truppen — Drucksache 7/119 —
Auswärtigen Ausschuß — federführend — Verteidigungsausschuß Ausschuß Arbeit Sozialordnung Gesetzentwurf Abkommen Bundesrepublik Deutschland
Republik Singapur Vermeidung Doppelbesteuerung Gebiete Steuern Einkommen Vermögen — Drucksache 7/106 — Finanzausschuß Gesetzentwurf Vereinbarung
Bundesrepublik Deutschland italienischen Republik Erleichterungen fiskalischen Behandlung grenzüberschreitenden deutsch italienischen
Straßengüterverkehrs — Drucksache 7/113 — Finanzausschuß — federführend — Ausschuß Verkehr Gesetzentwurf Abkommen Regierung Bundesrepublik
Deutschland Regierung Vereinigten Königreichs Großbritanniens Nordirland steuerliche Behandlung Straßenfahrzeugen internationalen Verkehr —
Drucksache 7/107 — Finanzausschuß — federführend — Ausschuß Verkehr Gesetzentwurf Abkommen Bundesrepublik Deutschland Republik Island Vermeidung
Doppelbesteuerung Gebiete Steuern Einkommen Vermögen — Drucksache 7/99 — Finanzausschuß Gesetzentwurf Abkommen Bundesrepublik Deutschland
Königreich Niederlande Krankenversicherung alte Rentner — Drucksache 7/110 — Ausschuß Arbeit Sozialordnung Gesetzentwurf Übereinkommen
Internationalen Arbeitsorganisation Arbeitsaufsicht Landwirtschaft — Drucksache 7/109 — Ausschuß Arbeit Sozialordnung — federführend —
Ausschuß Ernährung Landwirtschaft Forsten Gesetzentwurf Vereinbarung Bundesrepublik Deutschland Sozialistischen Föderativen Republik
Jugoslawien Durchführung Abkommens Soziale Sicherheit — Drucksache 7/108 — Ausschuß Arbeit Sozialordnung Gesetzentwurf Übereinkommen
Internationalen Arbeitsorganisation Schutz Arbeitnehmer ionisierenden Strahlen — Drucksache 7/105 — Ausschuß Arbeit Sozialordnung
Gesetzentwurf internationalen Einheits Übereinkommen Suchtstoffe — Drucksache 7/126 — Ausschuß Jugend Familie Gesundheit — federführend —
Rechtsausschuß Haushaltsausschuß gemäß § 96 GO Gesetzentwurf Übereinkommen Ausarbeitung Europäischen Arzneibuches — Drucksache 7/125 —
Ausschuß Jugend Familie Gesundheit Gesetzentwurf Europäischen Übereinkommen Schutz Tieren beim internationalen Transport Drucksache 7/127 —
Ausschuß Ernährung Landwirtschaft Forsten Gesetzentwurf Übereinkommen Schutz Hersteller Tonträgern unerlaubte Vervielfältigung Tonträger —
Drucksache 7/121 — Rechtsausschuß Gesetzentwurf Haager Kaufrechtsübereinkommen — Drucksache 7/115 Rechtsausschuß Gesetzentwurf Vertrag
Bundesrepublik Deutschland Republik Österreich Führung geschlossenen Zügen Österreichischen Bundesbahnen Strecken Deutschen Bundesbahn
Bundesrepublik Deutschland — Drucksache 7/134 — Ausschuß Verkehr Gesetzentwurf Abkommen Bundesrepublik Deutschland Mauritius Förderung
gegenseitigen Schutz Kapitalanlagen — Drucksache 7/104 — Ausschuß Wirtschaft — federführend — Ausschuß wirtschaftliche Zusammenarbeit Gesetzentwurf
Abkommen Assoziation betreffend Beitritt Mauritius Assoziierungsabkommen Europäischen Wirtschaftsgemeinschaft Gemeinschaft assoziierten afrikanischen
Staaten Madagaskar sowie Änderung Internen Abkommens Finanzierung Verwaltung Hilfe Gemeinschaft — Drucksache 7/132 — Ausschuß Wirtschaft — federführend —
Ausschuß wirtschaftliche Zusammenarbeit Entwurf Konsulargesetzes — Drucksache 7/131 — Auswärtigen Ausschuß — federführend — Rechtsausschuß Entwurf
Einheitlichen Gesetzes internationalen Kauf beweglicher Sachen — Drucksache 7/123 — Rechtsausschuß Entwurf einheitlichen Gesetzes Abschluß
internationalen Kaufverträgen bewegliche Sachen — Drucksache 7/124 — Rechtsausschuß Gesetzentwurf Änderung Hypothekenbankgesetzes Schiffsbankgesetzes —
Drucksache 7/114 — Finanzausschuß — federführuend — Ausschuß Wirtschaft Rechtsausschuß Ausschuß Raumordnung Bauwesen Städtebau Gesetzentwurf Änderung
Gesetzes Beaufsichtigung privaten Versicherungsunternehmungen Bausparkassen Drucksache 7/100 — Finanzausschuß federführend — Ausschuß Wirtschaft
Rechtsausschuß Ausschuß Raumordnung Bauwesen Städtebau Gesetzentwurf Änderung Börsengesetzes — Drucksache 7/101 — Finanzausschuß — federführend —
Ausschuß Wirtschaft Rechtsausschuß Gesetzentwurf Änderung Gesetzes Pfandbriefe verwandte Schuldverschreibungen öffentlich rechtlicher Kreditanstalten —
Drucksache 7/112 Finanzausschuß — federführend — Ausschuß Wirtschaft Rechtsausschuß Ausschuß Raumordnung Bauwesen Städtebau Gesetzentwurf Änderung
Gesetzes Finanzstatistik — Drucksache 7/98 — Haushaltsausschuß — federführend — Finanzausschuß Innenausschuß Ausschuß Arbeit Sozialordnung Gesetzentwurf
Änderung Eichgesetzes — Drucksache 7/103 — Ausschuß Wirtschaft Gesetzentwurf Änderung Gesetzes Einheiten Meßwesen — Drucksache 7/102 — Ausschuß Wirtschaft
Entwurf Zweiten Gesetzes Änderung Viehzählungsgesetzes — Drucksache 7/128 — Ausschuß Ernährung Landwirtschaft Forsten — federführend — Innenausschuß
Haushaltsausschuß gemäß § 96 GO Gesetzentwurf Beruf Diätassistenten — Drucksache 7/116 — Ausschuß Jugend Familie Gesundheit Gesetzentwurf Änderung
Fleischbeschaugesetzes — Drucksache 7/122 — Ausschuß Jugend Familie Gesundheit — federführend — Ausschuß Ernährung Landwirtschaft Forsten Gesetzentwurf
Änderung Unterhaltssicherungsgesetzes Arbeitsplatzschutzgesetzes — Drucksache 7/129 — Verteidigungsschuß"
x <- gsub("\\s+", " ", gsub("\\n", " ", x))
nchar(x) # 5600
nchar(curl::curl_escape(x)) # 8396
x_splitted <- strsplit(x, split = " ")[[1]]
x_chunks <- lapply(
seq_along(x_splitted),
function(i) paste0(x_splitted[1:i], collapse = " ")
)
nchar_plain <- nchar(x_chunks)
nchar_escaped <- nchar(curl::curl_escape(x_chunks))
for (i in seq_along(x_chunks)){
message(
"processing chunk ", i,
" (nchar: ", nchar_plain[i], ", nchar escaped: ", nchar_escaped[i], ")"
)
get_dbpedia_uris(
x = x_chunks[[i]],
language = getOption("dbpedia.lang"),
max_len = 5600L,
confidence = 0.35,
support = 20,
api = getOption("dbpedia.endpoint"),
logfile = NULL,
retry = 1,
verbose = FALSE
)
}
The value is somewhere around 8000 characters.
Adapted in default values and documentation.
This is related to #47 but an effort to specify the problem. We see aborts when the text to be processed exceeds a specific length. But whe default
max_len
ofget_dbpedia_uris()
is guesswork. One possible explanation for the aborts is that escaping strings bloats the the length of the string, and we do not yet anticipate sufficiently what happens.As explained in the documentation of
httr::GET()
, the argumentquery
is passed tourl_modify()
, passed to further functions, and at the end, we have a call ofcurl::curl_escape()
. The following minmal example shows how escaping non-ASCII-characters increases the string size:So we could run an experiment to determine the maximum parsed string length that can be processed. An example we could use is the string reported in issue #47: