Самый простой способ сделать это, как объяснить в пункте (16.8.3) этой страницы документации HTTP PUT using Content-Type: application/rdf+xml
. Этот механизм в основном выполняет HTTP PUT
отправку вашего файла в тройное хранилище.
curl -T your_file.rdf entity_uri_to_store_file -u user:pass
Думайте о entity_uri_to_store_file
как о таблице, в которой вы хотите сохранить этот файл.
Итак, допустим, что ваш файл - ontology1.owl, и вы хотите сохранить его в сущности http://myorganisation.com/ontologies/ontology1
Тогда ваша команда будет выглядеть так ...
curl -T ontology1.owl <a href="http://myorganisation.com/ontologies/ontology1" rel="nofollow">http://myorganisation.com/ontologies/ontology1</a> -u user:pass
Примечание: если вы используете Windows, вы можете установить curl
с здесь .
Чтобы запросить данные потом ... вы также можете сделать это с помощью curl
.
curl -F "query=YOUR SPARQL QUERY" <a href="http://your.virtuososerver.org/sparql" rel="nofollow">http://your.virtuososerver.org/sparql</a>
Обратите внимание, что вы должны использовать SPARQL для доступа к данным.
В случае с Jena вы должны использовать Jena ARQ в командной строке ...
java -cp ... arq.query --service 'hhttp://your.virtuososerver.org/sparql' 'SELECT * WHERE {?s ?p ?o}'
или программно с использованием API ...
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.sparql.engine.http.QueryExceptionHTTP;
public class QueryTest {
public static void main(String[] args) {
String service = "http://your.virtuososerver.org/sparql";
String query = "SELECT * WHERE {?s ?p ?o}";
QueryExecution qe = QueryExecutionFactory.sparqlService(service, query);
try {
ResultSet results = qe.execSelect() ;
for ( ; results.hasNext() ; ) {
QuerySolution soln = results.nextSolution() ;
RDFNode x = soln.get("s") ;
RDFNode r = soln.get("p") ;
RDFNode l = soln.get("o") ;
}
} catch (Exception e) {
System.out.println("Query error:"+e);
} finally {
qe.close();
}
}
Просто не забудьте указать переменную service
там, где слушает ваш виртуозный сервер.