Я создал модель онтологии, используя протеже.Я использовал Java для заполнения своей онтологии (reate user, resources ..), а затем сохраняю все изменения в файл.
Теперь мне нужно интегрировать RDF-сервер для сохранения изменений после некоторых исследований, которые я обнаружил, что FusekiЭто один из лучших серверов, которые я могу использовать. После некоторых исследований я также обнаружил, что мне нужно использовать RDFCOnnexion для связи с сервером fuseki, но у меня возникают некоторые трудности с интеграцией сервера и манипулированием всеми моими классами Java.
Чтобы запросить мою онтологию, я использовал RDFconnexion: пример: public static void main (String [] args) {
RDFConnection conn1 =
RDFConnectionFactory.connect("http://localhost:3030/test/") ;
try( QueryExecution qExec = conn1.query("PREFIX ex: <http://example.org/>
SELECT * { ?s ?p ?o }") ) {
ResultSet rs = qExec.execSelect();
ResultSetFormatter.out(rs, qExec.getQuery());
}
}
, но у меня возникают проблемы при попытке создать агента (пользователя)или ресурс ... ниже вы найдете только часть моего кода Java:
private final OntModel onto;
private OntModel inferred;
public test() {
onto = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
OntDocumentManager manager = onto.getDocumentManager();
manager.addAltEntry("http://www-test/1.0.0", "ontologies/test.owl");
}
public String createUri(String prefix, String localName){
String uri = prefix + "#" + localName ;
uri = uri.replaceAll(" ", "_") ;
return uri ;
}
// to create Agent
public Resource createAgent(String uri) throws
AlreadyExistingRdfResourceException {
Resource agent = this.createEntity(uri) ;
if (agent==null) return null ;
Property prop ; Statement s ;
s = ResourceFactory.createStatement(agent, RDF.type,
onto.getIndividual(EngineConstants.CD_Agent)) ;
onto.add(s) ;
this.synchronize();
return agent ;
}
// TO get Agent Activty
public Set<Resource> getAgentActivities(String agentUri){
final String query = "SELECT ?entity WHERE { ?entity CD:hasAgent <"+
agentUri +">}" ;
ResultSet resultSet = this.queryExec(this.getInferred(), query);
return this.getRdfResources(resultSet, "entity") ;
}
Мне нужно знать, может ли кто-нибудь мне помочь, и дать мне пример, как я могу использовать и интегрировать Fuseki для (изменения).и запросите мою онтологию).
спасибо за вашу помощь