Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pinpoint maximum length that can be processed #51

Closed
ablaette opened this issue Apr 8, 2024 · 2 comments
Closed

Pinpoint maximum length that can be processed #51

ablaette opened this issue Apr 8, 2024 · 2 comments

Comments

@ablaette
Copy link
Contributor

ablaette commented Apr 8, 2024

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 of get_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 argument query is passed to url_modify(), passed to further functions, and at the end, we have a call of curl::curl_escape(). The following minmal example shows how escaping non-ASCII-characters increases the string size:

curl::curl_escape("Smörebröd")

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:

villaine <- "Der 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ß"
@ablaette
Copy link
Contributor Author

ablaette commented Apr 8, 2024

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.

ablaette pushed a commit that referenced this issue Apr 12, 2024
@ablaette
Copy link
Contributor Author

Adapted in default values and documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant