モデルの作成方法が、データのダウンロード方法に実際に影響するとは思いません。好きな URI 識別子を使用してモデルを作成できます。
ここでは、DBPedia からトリプルを取得する方法と、バックエンド システムにトリプルを格納する方法を分離する方法のアイデアを示す例を示します。
あなたの質問から、データベース バックエンドを使用していると思われるので、私のコードは Jena のそのようなバックエンドを対象としています。
import java.sql.SQLException;
import com.hp.hpl.jena.util.FileManager;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.SimpleSelector;
import com.hp.hpl.jena.rdf.model.Property;
import com.hp.hpl.jena.rdf.model.RDFNode;
import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.rdf.model.StmtIterator;
import com.hp.hpl.jena.rdf.model.Statement;
import com.hp.hpl.jena.db.DBConnection;
import com.hp.hpl.jena.rdf.model.ModelMaker;
import com.hp.hpl.jena.rdf.model.ModelFactory;
public class TestJena {
public static void main(String[] args) throws java.lang.ClassNotFoundException, java.sql.SQLException {
Class.forName("com.mysql.jdbc.Driver");
//The database backend initialization.
DBConnection connection = new DBConnection(MY_DB, USER, PASS, "mysql");
ModelMaker dbMaker = ModelFactory.createModelRDBMaker(connection);
//A file manager to get the triples from the DBPedia revolvable URI.
FileManager fManager = FileManager.get();
fManager.addLocatorURL();
Model linkedDataModel =
fManager.loadModel("http://dbpedia.org/data/Frederick_of_Sweden.rdf");
//Now we copy the in-memory model into our DB backend.
//When the model is created you can give it the name that you like.
Model dbModel =
dbMaker.createModel("http://dbpedia.org/resource/Frederick_of_Sweden");
dbModel.add(linkedDataModel);
StmtIterator iter = dbModel.listStatements();
while (iter.hasNext()) {
Statement stmt = iter.nextStatement();
System.out.println(stmt);
}
linkedDataModel.close();
dbModel.close();
connection.close();
}
この例では ...
[http://dbpedia.org/resource/Frederick_i_of_sweden, http://dbpedia.org/ontology/wikiPageRedirects, http://dbpedia.org/resource/Frederick_of_Sweden]
[http://dbpedia.org/resource/Frederick_I_%28of_Sweden%29, http://dbpedia.org/ontology/wikiPageRedirects, http://dbpedia.org/resource/Frederick_of_Sweden]
[http://dbpedia.org/resource/Frederick_I,_Landgrave_of_Hesse-Kassel, http://dbpedia.org/ontology/wikiPageRedirects, http://dbpedia.org/resource/Frederick_of_Sweden]
[http://dbpedia.org:8890/data/Frederick_of_Sweden.rdf, http://xmlns.com/foaf/0.1/primaryTopic, http://dbpedia.org/resource/Frederick_of_Sweden]
(....)