Как уже отмечались в комментариях: формат у вас есть просто не Н3 синтаксиса, поэтому вы не можете загрузить это с помощью N3 парсера Сезам в. Это также не в любом стандартизованном формате, поэтому для его обработки нет парсера.
Однако было бы довольно просто обработать файл в этом формате «вручную» и добавить его к Сезам непосредственно. Это, вероятно, сделать трюк:
try (RepositoryConnection conn = rep.getConnection()) {
ValueFactory vf = conn.getValueFactory();
File file = new File("/path/to/weirdlyformattedrdffile.txt");
// open the file for reading
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
// start a transaction
conn.begin();
// read the file line-by-line
while ((line = br.readLine()) != null) {
// each line is an RDF triple with a subject, predicate, and object
String[] triple = line.split("|");
IRI subject = vf.createIRI(triple[0]);
IRI predicate = vf.createIRI(triple[1]);
IRI object = vf.createIRI(triple[2]);
// add the triple to the database
conn.add(subject, predicate, object);
}
// commit the txn when all lines are read
conn.commit();
}
}
Конечно, если ваш файл содержит также другие вещи, чем IRIs (например литералы или пустые узлы), вы должны включать в себя определенную логику, чтобы отличать их, а не просто слепо созданием ИРИ за все. Но это цена, которую вы платите за не использование стандартизованного формата синтаксиса.
Нельзя сказать, что для N3, поскольку N3 не позволяет использовать разные разделители. У вас просто нет файла N3. Вероятно, вы должны просто предварительно обработать текст как текст, а затем загрузить его в качестве того формата, в который вы его конвертировали. И обратите внимание, что в вашем случае, даже если вы замените | с пространством, это все еще не N3; вам нужно обернуть эти IRI угловыми скобками и добавить период в конце тройки. –