Hi Jason, I have been able to compile and run your program and can see the problem:
De-iMac-232:virtuoso_driver hwilliams$ javac -classpath ".:../lib-3.3.0/commons-lang3-3.4.jar:../lib-3.3.0/jena-arq-3.3.0-SNAPSHOT.jar:../lib-3.3.0/jena-iri-3.3.0-SNAPSHOT.jar:../lib-3.3.0/jena-base-3.3.0-SNAPSHOT.jar:../lib-3.3.0/jena-core-3.3.0-SNAPSHOT.jar:../../../libsrc/JDBCDriverType4/virtjdbc4.jar:../virt_jena3.jar:../lib-3.3.0/jcl-over-slf4j-1.7.21.jar:../lib-3.3.0/log4j-1.2.17.jar:../lib-3.3.0/slf4j-api-1.7.21.jar:../lib-3.3.0/slf4j-log4j12-1.7.21.jar:../lib-3.3.0/xercesImpl-2.11.0.jar:../lib-3.3.0/xml-apis-1.4.01.jar:../lib-3.3.0/jena-shaded-guava-3.3.0-SNAPSHOT.jar:../lib-3.3.0/libthrift-0.9.3.jar:../lib-3.3.0/sparql-generate-jena-1.0.jar:../lib-3.3.0/jena-arq-3.3.0-SNAPSHOT.jar:../lib-3.3.0/httpclient-4.5.2.jar:../lib-3.3.0/httpclient-cache-4.5.2.jar" Tester.java De-iMac-232:virtuoso_driver hwilliams$ java -classpath ".:../lib-3.3.0/commons-lang3-3.4.jar:../lib-3.3.0/jena-arq-3.3.0-SNAPSHOT.jar:../lib-3.3.0/jena-iri-3.3.0-SNAPSHOT.jar:../lib-3.3.0/jena-base-3.3.0-SNAPSHOT.jar:../lib-3.3.0/jena-core-3.3.0-SNAPSHOT.jar:../../../libsrc/JDBCDriverType4/virtjdbc4.jar:../virt_jena3.jar:../lib-3.3.0/jcl-over-slf4j-1.7.21.jar:../lib-3.3.0/log4j-1.2.17.jar:../lib-3.3.0/slf4j-api-1.7.21.jar:../lib-3.3.0/slf4j-log4j12-1.7.21.jar:../lib-3.3.0/xercesImpl-2.11.0.jar:../lib-3.3.0/xml-apis-1.4.01.jar:../lib-3.3.0/jena-shaded-guava-3.3.0-SNAPSHOT.jar:../lib-3.3.0/libthrift-0.9.3.jar:../lib-3.3.0/sparql-generate-jena-1.0.jar:../lib-3.3.0/jena-arq-3.3.0-SNAPSHOT.jar:../lib-3.3.0/httpclient-4.5.2.jar:../lib-3.3.0/httpclient-cache-4.5.2.jar" Tester log4j:WARN No appenders could be found for logger (Jena). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. failed! De-iMac-232:virtuoso_driver hwilliams$ In fact turning Virtuoso tracing on (with the “trace_on();” function) I see the query being run against Virtuoso by the Jena layer is: SPARQL define input:default-graph-uri <testGraph> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX base: <http://base.org#> SELECT ?s WHERE { ?s base:name "test_sensor" }; which when I run against “isql” also returns no results: SQL> SPARQL define input:default-graph-uri <testGraph> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX base: <http://base.org#> SELECT ?s WHERE { ?s base:name "test_sensor" }; s LONG VARCHAR _______________________________________________________________________________ 0 Rows. -- 2 msec. SQL> Nor does even: SQL> SPARQL define input:default-graph-uri <testGraph> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX base: <http://base.org#> SELECT ?s WHERE { ?s ?p "test_sensor" }; s LONG VARCHAR _______________________________________________________________________________ 0 Rows. -- 2 msec. SQL> But the following does: SQL> SPARQL define input:default-graph-uri <testGraph> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX base: <http://base.org#> SELECT ?s WHERE { ?s ?p ?o }; s LONG VARCHAR _______________________________________________________________________________ http://base.org#xxxxx1 http://base.org#xxxxx2 2 Rows. -- 5 msec. SQL> Which is strange as my test case does work with the same type of query and both literal values are string types: SQL> SPARQL define input:default-graph-uri <testGraph> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX base: <http://base.org#> SELECT ?s ?o ?datatype WHERE { ?s ?p ?o . BIND (DATATYPE(?o) as ?datatype)}; s o datatype LONG VARCHAR LONG VARCHAR LONG VARCHAR _______________________________________________________________________________ http://base.org#xxxxx1 test_sensor http://www.w3.org/2001/XMLSchema#string http://base.org#xxxxx2 test_sensor http://www.w3.org/2001/XMLSchema#string 2 Rows. -- 11 msec. SQL> SQL> SPARQL PREFIX base: <base> SELECT ?s ?o ?datatype FROM <koh> WHERE {?s ?p ?o . BIND (DATATYPE(?o) as ?datatype)}; s o datatype LONG VARCHAR LONG VARCHAR LONG VARCHAR _______________________________________________________________________________ 1 sensor1 http://www.w3.org/2001/XMLSchema#string 1 Rows. -- 6 msec. SQL> Will have to look into this further ... Best Regards Hugh Williams Professional Services OpenLink Software, Inc. // http://www.openlinksw.com/ Weblog -- http://www.openlinksw.com/blogs/ LinkedIn -- http://www.linkedin.com/company/openlink-software/ Twitter -- http://twitter.com/OpenLink Google+ -- http://plus.google.com/100570109519069333827/ Facebook -- http://www.facebook.com/OpenLinkSoftware Universal Data Access, Integration, and Management Technology Providers > On 24 Jan 2018, at 21:42, Jason Koh <jb...@eng.ucsd.edu> wrote: > > Dear Hugh and the community, > > I have created a regenerator repository: > https://github.com/jbkoh/virtjena_regenerator > > If available, please review the problem. I think it's the problem of Virt > Jena, your feedback would be much useful for me to write the right code. > > Thanks! > > > With regards, > Jason Koh > cseweb.ucsd.edu/~jbkoh > > On Tue, Jan 23, 2018 at 12:50 PM, Jason Koh <jb...@eng.ucsd.edu> wrote: > Forgot to clarify the configuration: > > Ubuntu 16.04 (64bit) > Virtuoso 7.2.4.2 > Virtuoso Jean: virt_jena3 > Virtuodo JDBC: virtjdbc4 > Java: openjdk version "1.8.0_151" > > Thank you. > > > With regards, > Jason Koh > cseweb.ucsd.edu/~jbkoh > > On Tue, Jan 23, 2018 at 12:46 PM, Jason Koh <jb...@eng.ucsd.edu> wrote: > Here's the Java code snippet not working: > ```java > String nameStr = "test_sensor1"; > String BASE = "http://base.org#"; > String uuid = "xxxxx"; > Node name = NodeFactory.createLiteralByValue(nameStr, XSDstring); > Node point = NodeFactory.createURI(BASE + uuid); > Node hasName = NodeFactory.createURI(BASE + "name"); > graph.add(new Triple(point, hasName, name)); > String qStr = > "PREFIX base: <http://base.org#>\n" + > "SELECT ?s WHERE {\n" + > "?s base:name \"test_sensor1\" . \n" + > "}"; > Query sparql = QueryFactory.create(qStr); > VirtuosoQueryExecution vqd = VirtuosoQueryExecutionFactory.create(sparql, > graph); > ResultSet results = vqd.execSelect(); > while (results.hasNext()) { > QuerySolution result = results.nextSolution(); > System.out.println(result.get("s").toString()); > } > System.out.println("Done"); > } > ``` > > The value ``results`` is empty and this code does not print anything. I can > make a regenerator. Let me know if that helps. > > > With regards, > Jason Koh > cseweb.ucsd.edu/~jbkoh > > On Tue, Jan 23, 2018 at 12:16 PM, Jason Koh <jb...@eng.ucsd.edu> wrote: > Hi Hugh, > > I inserted the tripled through Virtuoso Jena and I can see triples like > ``ex:xxxx base:name test_sensor0`` > when I query just with ?s ?p ?o. However, I don't get any result with ``?s > base:name "test_sensor0"``. > > As you showed, it works with command line insertions. Let me verify the > source of the problem once again and come back. > > Thank you! > > > With regards, > Jason Koh > cseweb.ucsd.edu/~jbkoh > > On Tue, Jan 23, 2018 at 3:17 AM, Hugh Williams <hwilli...@openlinksw.com> > wrote: > Hi Jason, > > What exactly is not working for you ? As the following works for me: > > SQL> SPARQL PREFIX base: <base> INSERT DATA { GRAPH <koh> { <1> base:name > "sensor1" . } }; > > Done. -- 1 msec. > SQL> SPARQL SELECT * FROM <koh> WHERE {?s ?p ?o}; > s > p > o > LONG VARCHAR > LONG VARCHAR > LONG VARCHAR > _______________________________________________________________________________ > > 1 > basename > sensor1 > > 1 Rows. -- 2 msec. > SQL> SPARQL PREFIX base: <base> SELECT ?s {?s base:name "sensor1"}; > s > LONG VARCHAR > _______________________________________________________________________________ > > 1 > > 1 Rows. -- 1 msec. > SQL> SPARQL PREFIX base: <base> SELECT ?g ?s {GRAPH ?g {?s base:name > "sensor1"}}; > g > s > LONG VARCHAR > LONG VARCHAR > _______________________________________________________________________________ > > koh > 1 > > 1 Rows. -- 1 msec. > SQL> > > > Best Regards > Hugh Williams > Professional Services > OpenLink Software, Inc. // http://www.openlinksw.com/ > Weblog -- http://www.openlinksw.com/blogs/ > LinkedIn -- http://www.linkedin.com/company/openlink-software/ > Twitter -- http://twitter.com/OpenLink > Google+ -- http://plus.google.com/100570109519069333827/ > Facebook -- http://www.facebook.com/OpenLinkSoftware > Universal Data Access, Integration, and Management Technology Providers > > > > > On 23 Jan 2018, at 09:58, Jason Koh <jb...@eng.ucsd.edu> wrote: > > > > Hi Kingsley, > > > > Thanks for the prompt response. I just tried it and it works well. I > > haven't compared the performance yet but wish the string match is faster. > > > > However, I am having trouble querying with the String Literal with SPARQL. > > The following query does not work for Virtuoso. > > ```sparql > > select ?s { > > ?s base:name "sensor1". # also tried "sensor1"^^xsd:string but the same > > result. > > } > > ``` > > This query returns empty result. > > > > If I query with no pattern (?s ?p ?o), I can see the following triple: > > :xxxx base:name "sensor1", > > > > Can't sort out the problem. Do you have any ideas on this? > > > > Thank you! > > > > > > > > > > > > With regards, > > Jason Koh > > cseweb.ucsd.edu/~jbkoh > > > > On Mon, Jan 22, 2018 at 2:52 PM, Kingsley Idehen <kide...@openlinksw.com> > > wrote: > > On 1/22/18 5:11 PM, Jason Koh wrote: > >> Hi there, > >> > >> I am trying to use Virtuoso for metadata of city-scale sensor database. > >> (metroinsight.io). > >> > >> I wonder if there is a way to optimize certain SPARQL query pattern. I > >> often query this: > >> ```sparql > >> select ?s where { > >> ?s base:name ex:mySensor1 . > >> } > >> ``` > >> > >> I could optimize it by caching those with Redis or else, but I wonder if I > >> can force indexing "name" properties in Virtuoso. > >> > >> Thank you! > >> > >> > >> With regards, > >> Jason Koh > >> cseweb.ucsd.edu/~jbkoh > > > > Have you looked at text indexing in Virtuoso with regards to SPARQL? > > [1] http://docs.openlinksw.com/virtuoso/rdfsparqlrulefulltext/ . > > -- > > Regards, > > > > Kingsley Idehen > > Founder & CEO > > OpenLink Software (Home Page: > > http://www.openlinksw.com > > ) > > > > Weblogs (Blogs): > > Legacy Blog: > > http://www.openlinksw.com/blog/~kidehen/ > > > > Blogspot Blog: > > http://kidehen.blogspot.com > > > > Medium Blog: > > https://medium.com/@kidehen > > > > > > Profile Pages: > > Pinterest: > > https://www.pinterest.com/kidehen/ > > > > Quora: > > https://www.quora.com/profile/Kingsley-Uyi-Idehen > > > > Twitter: > > https://twitter.com/kidehen > > > > Google+: > > https://plus.google.com/+KingsleyIdehen/about > > > > LinkedIn: > > http://www.linkedin.com/in/kidehen > > > > > > Web Identities (WebID): > > Personal: > > http://kingsley.idehen.net/public_home/kidehen/profile.ttl#i > > > > : > > http://id.myopenlink.net/DAV/home/KingsleyUyiIdehen/Public/kingsley.ttl#this > > > > > > > > > > ------------------------------------------------------------------------------ > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > _______________________________________________ > > Virtuoso-users mailing list > > Virtuoso-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/virtuoso-users > > > > > > ------------------------------------------------------------------------------ > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, Slashdot.org! > > http://sdm.link/slashdot_______________________________________________ > > Virtuoso-users mailing list > > Virtuoso-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/virtuoso-users > > > > > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Virtuoso-users mailing list Virtuoso-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtuoso-users