0
以下の形式のN3 RDFファイルをセサミリポジトリに読み込むと、セサミ '|'セパレータとして?セサームで非標準のRDF形式を読む方法
以下のトリプルは| :
http://article.com/1-3|http://relationship.com/wasGeneratedBy|http://edit.com/comment1-2
以下の形式のN3 RDFファイルをセサミリポジトリに読み込むと、セサミ '|'セパレータとして?セサームで非標準のRDF形式を読む方法
以下のトリプルは| :
http://article.com/1-3|http://relationship.com/wasGeneratedBy|http://edit.com/comment1-2
としてもコメントで示されている:あなたはごまのN3パーサーを使用して、これをアップロードすることはできませんので、あなたは、単に持っているフォーマットは、N3構文ではありません。他の標準化されたフォーマットでもないので、それを扱うためのパーサーはありません。
しかし、この形式のファイルを「手作業で」処理し、それをご自分でSesameに追加するのはかなり簡単です。あなたのファイルは、虹彩よりも(例えば、リテラルまたは空白ノードのための)他のものが含まれている場合は、これらを区別するのではなく、ただやみくもに作成するためにいくつかのロジックを含める必要があります、もちろん
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();
}
}
:これはおそらく、トリックを行いますすべてのIRI。しかし、これは、標準化された構文形式を使用しないために支払う価格です。
N3では、N3ではそのような区切り文字を使用できないため、N3ではそのようには言えません。単にN3ファイルではありません。おそらく、テキストをテキストとして前処理して、これまでに変換したフォーマットと同じように読み込むべきです。あなたのケースでは、スペースではまだN3ではありません。それらのIRIを角かっこで囲み、トリプルの最後にピリオドを追加する必要があります。 –