public static List<String> getTriplesFromFile(String filename) {
        List<String> lines = new ArrayList<>();

        try (
                FileInputStream fileInputStream= new FileInputStream(filename);
                InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
                BufferedReader in = new BufferedReader(inputStreamReader)
        ) {

            String line;
            while ((line = in.readLine()) != null) {
                String triple = line.trim();

                // Ends with is a hack for not correctly decompressed changesets
                if (!triple.isEmpty() && !triple.startsWith("#") && triple.endsWith(" .")) {
                    lines.add(triple);
                }

            }
        } catch (FileNotFoundException e) {
            throw new IllegalArgumentException("File " + filename + " not fount!", e);
        } catch (UnsupportedEncodingException e) {
            throw new IllegalArgumentException("UnsupportedEncodingException: ", e);
        } catch (IOException e) {
            throw new IllegalArgumentException("IOException in file " + filename, e);
        }

        return lines;

    }