Hi Hugh
That sorted it out, it works perfectly fine now.
Thanks for your help

regards

Dhaval

On Tue, Sep 8, 2009 at 4:30 PM, Hugh Williams <hwilli...@openlinksw.com>wrote:

> Hi Dhaval,
> The "...lexical..." errors you are getting is coming from the Jena SPARQL
> parser being invoked when using the QueryFactory.create method, if you by
> pass this method and execute the query directly with
> the VirtuosoQueryExecutionFactory.create method it should then work.
>
> I was able to recreate the error you report using the sample inference rule
> set in our documentation at:
>
>
> http://docs.openlinksw.com/virtuoso/rdfsparqlrule.html#rdfsparqlruleexamples
>
> Amended the code as follows then enabled me to successfully run the
> inference query from Jena:
>
> import com.hp.hpl.jena.query.*;
> import com.hp.hpl.jena.rdf.model.RDFNode;
>
> import virtuoso.jena.driver.*;
>
> public class VirtuosoSPARQLExample10 {
>
> /**
>  * Executes a SPARQL query against a virtuoso url and prints results.
>  */
> public static void main(String[] args) {
>
> VirtGraph set = new VirtGraph ("gr", "jdbc:virtuoso://localhost:1111",
> "dba", "dba");
>
> String query = "define input:inference '
> http://localhost:8890/schema/property_rules1' select ?s from <
> http://localhost:8890/test> where {?s <
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type>  <
> http://rdfs.org/sioc/ns#Space> }";
>
> VirtuosoQueryExecution vqe = VirtuosoQueryExecutionFactory.create (query,
> set);
>
> ResultSet results = vqe.execSelect();
>  while (results.hasNext()) {
> QuerySolution result = results.nextSolution();
>     RDFNode graph = result.get("graph");
>     RDFNode s = result.get("s");
>     RDFNode p = result.get("p");
>     RDFNode o = result.get("o");
>     System.out.println(graph + " { " + s + " " + p + " " + o + " . }");
> }
>  }
> }
>
> VIRTMAIN@hugh-williams-computer-2323:~/binsrc/jena$ /usr/bin/javac
> -classpath
> "lib/arq.jar:lib/iri.jar:lib/jena.jar:../../libsrc/JDBCDriverType4/virtjdbc3.jar:./virt_jena.jar:./virtuoso_driver:."
> VirtuosoSPARQLExample10.java
> VIRTMAIN@hugh-williams-computer-2323:~/binsrc/jena$ /usr/bin/java
> -classpath
> "lib/arq.jar:lib/iri.jar:lib/jena.jar:lib/icu4j_3_4.jar:lib/xercesImpl.jar:lib/commons-logging-1.1.1.jar:lib/axis.jar:../../libsrc/JDBCDriverType4/virtjdbc3.jar:./virt_jena.jar:."
> VirtuosoSPARQLExample10
> gr { http://localhost:8890/dataspace/discussion/oWiki-test1Wiki null null
> . }
> gr { http://localhost:8890/dataspace/test2/weblog/test2tWeblog null null .
> }
> gr { http://localhost:8890/dataspace null null . }
>
> Having successfully run the same query from isql and the sparql endpoint:
>
> hugh-williams-computer-2323:~ hughwilliams $
> /usr/local/virtuoso-opensource/bin/isql
> OpenLink Interactive SQL (Virtuoso), version 0.9849b.
> Type HELP; for help and EXIT; to exit.
> SQL> shutdown();
> Connected to OpenLink Virtuoso
> Driver: 05.11.3039 OpenLink Virtuoso ODBC Driver
> hugh-williams-computer-2323:~ hughwilliams$
> /usr/local/virtuoso-opensource/bin/isql
> OpenLink Interactive SQL (Virtuoso), version 0.9849b.
> Type HELP; for help and EXIT; to exit.
> SQL> sparql define input:inference '
> http://localhost:8890/schema/property_rules1' select ?s from <
> http://localhost:8890/test> where {?s <
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type>  <
> http://rdfs.org/sioc/ns#Space> };
> s
> VARCHAR
>
> _______________________________________________________________________________
>
> http://localhost:8890/dataspace/discussion/oWiki-test1Wiki
> http://localhost:8890/dataspace/test2/weblog/test2tWeblog
> http://localhost:8890/dataspace
>
> 3 Rows. -- 39 msec.
> SQL>
>
> Thus amending your sample likewise should enable you query to run also ...
>
> Best Regards
> Hugh Williams
> Professional Services
> OpenLink Software
> Web: http://www.openlinksw.com
> Support: http://support.openlinksw.com
> Forums: http://boards.openlinksw.com/support
>
>
>
> On 7 Sep 2009, at 18:11, Dhaval Thakker wrote:
>
> Dear List members,
>
> I am still hanging on this problem and though would send you another email.
> Here is what i have done so far:
>
> 1. Let's say I have an ontology which I have loaded with TTLP function as
> graph "http://myontology.org";. This ontology contains atleast this:
> (baseuri: http://Entity.owl <http://entity.owl/>)
>
> Person a owl:Class
> Actor a owl:Class
> Actor rdfs:subclassOf Person
>
> 2. And I have data that refers to the elements from the above ontology and
> is loaded again with TTLP as graph "http://mydata.org";
>
> a sample data is:
>
> Don a Actor
>
> 3. Now I create a ruleset from the ontology in 1 using RDFS_Ruleset
> function such as:
> rdfs_rule_set ('http://inference.org', 'http://myontology.org');
> 4. As I am interested in checking the subclass relationship: here is what I
> do at my local sparql endpoint interface:
>
> define input:inference 'http://inference.org'  select ?s where {?s <
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type>  <
> http://Entity.owl#Person <http://Entity.owl/#Person>>}
>
> I successfully get *Don*  as answer.
>
> However when I do the same with the API as follows I get nothing:
>
>
> ///code start
>
> String url;
> if(args.length == 0)
>             url = "jdbc:virtuoso://localhost:
> 1111/charset=UTF-8/log_enable=2";
>  else
>             url = args[0];
>
>
>  VirtGraph set = new VirtGraph (url, "dba", "dba");
>
>
>
> Query sparql = QueryFactory.create("define input:inference '
> http://inference.org'  select ?s where {?s <
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type>  <
> http://Entity.owl#Person <http://Entity.owl/#Person>>}");
>
> VirtuosoQueryExecution vqe = VirtuosoQueryExecutionFactory.create (sparql,
> set);
>
> ResultSet results = vqe.execSelect();
>
> while (results.hasNext())
>   {
> com.hp.hpl.jena.query.QuerySolution result = results.nextSolution();
>             RDFNode s = result.get("s");
>             System.out.println("{ " + " " + s + "  }");
>
>  }
>
> ///code end
>
> due to define:inference in the above it gives me lexical error (as
> obviously not being a standard sparql syntax) and when I remove it and try
> it again it returns nothing. When I try it with
>
>
> select ?s where {?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>  <
> http://Entity.owl#Actor <http://Entity.owl/#Actor>>}
>
>
> It works fine with *Don *again as an answer.
>
> Any hints?
>
>
> Thanks for your help
>
> Dhaval
>
>
>
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
>
> trial. Simplify your report design, integration and deployment - and focus
> on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.
> http://p.sf.net/sfu/bobj-july_______________________________________________
> Virtuoso-users mailing list
> Virtuoso-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>
>
>


-- 
Regards

Dhaval Thakker

Reply via email to