On 03/09/12 16:36, Yoga Indra Pamungkas wrote:
I have store rdf statement to database from inference ontology such as example 
below :

(http://www.digilib.stis.ac.id/skripsi/78 rdf:type 
http://www.semanticweb.org/ontologies/2012/7/OntologySkripsiKomputasi.owl#pengembanganWebService)
  - (http://www.digilib.stis.ac.id/skripsi/78 rdf:type 
http://www.semanticweb.org/ontologies/2012/7/OntologySkripsiKomputasi.owl#aplikasiWeb)
  - (http://www.digilib.stis.ac.id/skripsi/78 rdf:type 
http://www.semanticweb.org/ontologies/2012/7/OntologySkripsiKomputasi.owl#pengembanganSistem)
  - (http://www.digilib.stis.ac.id/skripsi/78 rdf:type 
http://www.semanticweb.org/ontologies/2012/7/OntologySkripsiKomputasi.owl#skripsiKS)
  - (http://www.digilib.stis.ac.id/skripsi/78 owl:sameAs 
http://www.digilib.stis.ac.id/skripsi/78)
  - (http://www.digilib.stis.ac.id/skripsi/69 
http://www.semanticweb.org/ontoloies/2012/7/OntologySkripsiKomputasi.owl#anotasiOleh
 'Indra')
  - (http://www.digilib.stis.ac.id/skripsi/69 
http://purl.org/dc/elements/1.1/creator '07.5371')
  - (http://www.digilib.stis.ac.id/skripsi/69 rdf:type 
'semantic.OntologyKomputasi.metodelogiPenelitian')

rdf:type does not take a literal string object.

  - (http://www.digilib.stis.ac.id/skripsi/200491 rdf:type 
'semantic.OntologyKomputasi.mechanicalTurk')
  - (http://www.digilib.stis.ac.id/skripsi/200491 rdf:type 
http://www.semanticweb.org/ontologies/2012/7/OntologySkripsiKomputasi.owl#mechanicalTurk)
  - (http://www.digilib.stis.ac.id/skripsi/200491 rdf:type 
http://www.semanticweb.org/ontologies/2012/7/OntologySkripsiKomputasi.owl#aplikasiWeb)

I assume from many example that I've been read, sparql query cannot directly to 
the database, but we have to create a model and call it from database and then 
query it.
So I try this :

m = maker.getModel(DOCUMENT_NAME);

         String queryString =
                 "PREFIX ont: 
<http://www.semanticweb.org/ontologies/2012/7/OntologySkripsiKomputasi.owl#>"
                 + "PREFIX dl: <http://www.digilib.stis.ac.id/skripsi/>"
                 + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>"
                 + "PREFIX dc:  <http://purl.org/dc/elements/1.1/>"
                 + "SELECT DISTINCT ?type ?title ?creator"
                 + "WHERE {" + "?type rdf:type dl:aplikasiWeb"

ont:aplikasiWeb, not dl:....

                 + "?title dc:title "
                 + "?creator dc:creator "
                          +"}";

That is not valid syntax. (and putting newlines in helps)

Query query = QueryFactory.create(queryString);

This will give you an exception.

         QueryExecution qeExec = QueryExecutionFactory.create(query, m);

printStatements(m, null, null, null);

         //output

         ResultSet result = qeExec.execSelect();
         ResultSetFormatter.out(System.out, result, query);

         qeExec.close();

To get resource http://www.digilib.stis.ac.id/skripsi/78 and the thesis creator 
& title. But it doesn't work.


Something like:

PREFIX dl: <http://www.digilib.stis.ac.id/skripsi/>
PREFIX dc:  <http://purl.org/dc/elements/1.1/>

SELECT ?x ?title ?creator
{
    ?x rdf:type dl:pengembanganWebService ;
       dc:title ?title ;
       dc:creator ?creator .
}

        Andy

My Question :

1. Is there something direct query over database, so I don't have to call the 
model and sparql it?
2. If there's no way to do that, and I should call the model and do like my 
code above, is there any way to store it like SQL code below?

     while (rs.next()) {
             Thesis thesis= new Thesis();
             thesis.setIdThesis(rs.getString("thesis_code"));
             thesis.setTitle(rs.getString("thesis_title"));

}


Thanks for your help.


Reply via email to