which type? in the function or in the data? both have to match, there is no implicit conversion I guess.
On 09.08.2018 21:29, Arunkumar Krishnamoorthy wrote: > But i have given the type as xsd:dateTime, so it should take it right? > > On Thu, Aug 9, 2018 at 3:24 PM, ajs6f <aj...@apache.org> wrote: > >>> 13:44:11 WARN NodeValue :: Datatype format exception: >>> "1969-12-31T19:00:00"^^xsd:date >> No, Jena is just telling you (quite correctly) that "1969-12-31T19:00:00" >> is not an xsd:date. Notice the time that is included. xsd:date does not >> include time. >> >> ajs6f >> >>> On Aug 9, 2018, at 2:35 PM, Arunkumar Krishnamoorthy <akris...@ncsu.edu> >> wrote: >>> Hello Andy, >>> >>> I am getting the below error when i run the query against the dataset >>> shared with you, >>> >>> PREFIX myfn: <java:samplejena.> >>> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> >>> PREFIX dc: <http://purl.org/dc/elements/1.1/> >>> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> >>> SELECT ?title ?r >>> WHERE { >>> ?s rdfs:seeAlso ?r. >>> OPTIONAL {?r dc:title ?title.} >>> FILTER ( isURI(?r) && >>> myfn:LastModified(?r) > >>> "2005-11-06T00:00:00Z"^^xsd:dateTime ) >>> } >>> >>> 13:44:11 WARN NodeValue :: Datatype format exception: >>> "1969-12-31T19:00:00"^^xsd:date >>> >>> Is this because of any old version or something? >>> >>> >>> >>> On Thu, Aug 9, 2018 at 6:34 AM, Andy Seaborne <a...@apache.org> wrote: >>> >>>> Good question - there is still a noticeable tail of com.hp.hpl, here and >>>> on Stackoverflow. >>>> >>>> Some is due to old apps; that is good in that the software is useful >>>> enough to be used for such a long time. >>>> >>>> I suspect that some of the rest is university courses providing the >>>> materials that have not been updated. >>>> >>>> (Jena3 was 2015-07-29) >>>> >>>> Andy >>>> >>>> >>>> On 09/08/18 06:48, Lorenz Buehmann wrote: >>>> >>>>> I'm always wondering how people that are new to Apache Jena still use >>>>> the old version. I mean, the first hit via Google is the Apache Jena >>>>> webpage which clearly refers to the latest version. >>>>> >>>>> In the current case, he just copied the code example from [1] which >>>>> indeed uses the old version given that the blog entry is from 2005. >>>>> Well, at this time I didn't know about Semantic Web at all... >>>>> >>>>> [1] http://www.ldodds.com/projects/sparql/LastModified.txt >>>>> >>>>> >>>>> On 08.08.2018 22:14, Andy Seaborne wrote: >>>>> >>>>>> com.hp.hpl.jena -- that's Jena2. >>>>>> >>>>>> Packages are "org.apache.jena" in Jena3. >>>>>> >>>>>> The code seems to have been compiled against Jena2 and run against >>>>>> Jena3. That won't work. >>>>>> >>>>>> Andy >>>>>> >>>>>> On 08/08/18 18:14, Arunkumar Krishnamoorthy wrote: >>>>>> >>>>>>> The java code i am executing is, >>>>>>> >>>>>>> package samplejena; >>>>>>> >>>>>>> import com.hp.hpl.jena.query.expr.NodeValue; >>>>>>> import com.hp.hpl.jena.query.function.FunctionBase1; >>>>>>> >>>>>>> import java.net.*; >>>>>>> import java.text.SimpleDateFormat; >>>>>>> import java.util.*; >>>>>>> >>>>>>> public class LastModified extends FunctionBase1 >>>>>>> { >>>>>>> private static final SimpleDateFormat format = new >>>>>>> SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); >>>>>>> private Map _cache; >>>>>>> public LastModified() >>>>>>> { >>>>>>> _cache = new HashMap(); >>>>>>> } >>>>>>> public NodeValue exec(NodeValue nodeValue) >>>>>>> { >>>>>>> String value = nodeValue.asString(); >>>>>>> if (_cache.containsKey(value)) >>>>>>> { >>>>>>> return (NodeValue)_cache.get(value); >>>>>>> } >>>>>>> String lastModified = ""; >>>>>>> try { >>>>>>> lastModified = getLastModified( nodeValue.asString() ); >>>>>>> } catch (Exception e) { >>>>>>> // TODO Auto-generated catch block >>>>>>> e.printStackTrace(); >>>>>>> } >>>>>>> >>>>>>> NodeValue date = NodeValue.makeDate(lastModified); >>>>>>> _cache.put(value, date); >>>>>>> return date; >>>>>>> } >>>>>>> public String getLastModified(String link) throws Exception >>>>>>> { >>>>>>> URL url = new URL(link); >>>>>>> URLConnection connection = url.openConnection(); >>>>>>> connection.setAllowUserInteraction(false); >>>>>>> long secs = connection.getLastModified(); >>>>>>> String xsdDate = dateToXSD(secs); >>>>>>> return xsdDate; >>>>>>> } >>>>>>> public String dateToXSD(long secs) >>>>>>> { >>>>>>> Date date = new Date(secs); >>>>>>> return format.format(date); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Aug 8, 2018 at 1:14 PM, Arunkumar Krishnamoorthy >>>>>>> <akris...@ncsu.edu> >>>>>>> wrote: >>>>>>> >>>>>>> Hello Andy, >>>>>>>> I am getting the following issue when i run the code, >>>>>>>> >>>>>>>> Caused by: java.lang.ClassNotFoundException: com.hp.hpl.jena.query. >>>>>>>> function.FunctionBase1 >>>>>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:381) >>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) >>>>>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.j >>>>>>>> >>>>>>>> I have added the .class file in the directory. Do i need to package >> the >>>>>>>> dependancy jars also? Please advice. >>>>>>>> >>>>>>>> Regards, >>>>>>>> Arun >>>>>>>> >>>>>>>> On Tue, Aug 7, 2018 at 2:11 PM, Arunkumar Krishnamoorthy < >>>>>>>> akris...@ncsu.edu> wrote: >>>>>>>> >>>>>>>> It is executing now Andy. Thanks a lot. I missed to add the >> directory. >>>>>>>>> Thanks again for this help. >>>>>>>>> >>>>>>>>> On Tue, Aug 7, 2018 at 2:06 PM, Andy Seaborne <a...@apache.org> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>>> On 07/08/18 18:07, Arunkumar Krishnamoorthy wrote: >>>>>>>>>> >>>>>>>>>> So my JENA_CP >>>>>>>>>>> is JENA_CP='/home/ak/Downloads/apache-jena-3.8.0/lib/*:/home/ak >>>>>>>>>>> /Documents'. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> Does the file >>>>>>>>>> >>>>>>>>>> /home/ak/Documents/samplejena/LastModified.class >>>>>>>>>> >>>>>>>>>> exist? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> /home/ak/Documents location has the classfile/jar of the code >>>>>>>>>>> But still when i run this command, >>>>>>>>>>> >>>>>>>>>>> /home/ak/Downloads/apache-jena-3.8.0/bin/arq --data >>>>>>>>>>> /home/ak/Desktop/dataset.rdf --query /home/ak/Desktop/query.rq >>>>>>>>>>> >>>>>>>>>>> I am getting the below error, >>>>>>>>>>> >>>>>>>>>>> ak@akrish12:~$ /home/ak/Downloads/apache-jena-3.8.0/bin/arq >> --data >>>>>>>>>>> /home/ak/Desktop/dataset.rdf --query /home/ak/Desktop/query.rq >>>>>>>>>>> 12:41:35 WARN ClsLoader :: Class not found: >>>>>>>>>>> samplejena.LastModified >>>>>>>>>>> 12:41:35 WARN exec :: URI >>>>>>>>>>> <java:samplejena.LastModified> >>>>>>>>>>> has no registered function factory >>>>>>>>>>> ------------- >>>>>>>>>>> | title | r | >>>>>>>>>>> ============= >>>>>>>>>>> ------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> Arun >>>>>>>>>>> >>>>>>>>>>> On Tue, Aug 7, 2018 at 12:20 PM, Andy Seaborne <a...@apache.org> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> The list doesn't accept attachments. >>>>>>>>>>> >>>>>>>>>>>> JENA_CP="$JENA_HOME"'/home/ak/Documents' >>>>>>>>>>>> >>>>>>>>>>>>> This needs to be a valid java classpath. >>>>>>>>>>>> $JENA_HOME is directory of the Jena installation. >>>>>>>>>>>> >>>>>>>>>>>> In the original it says: >>>>>>>>>>>> >>>>>>>>>>>> JENA_CP="$JENA_HOME"'/lib/*' >>>>>>>>>>>> >>>>>>>>>>>> the .../lib/* (NB single quotes - no * expansion) puts all the >>>>>>>>>>>> jars in >>>>>>>>>>>> that direct on the classpath. >>>>>>>>>>>> >>>>>>>>>>>> For you: >>>>>>>>>>>> >>>>>>>>>>>> JENA_CP='/home/ak/Downloads/apache-jena-3.8.0/lib/*' >>>>>>>>>>>> >>>>>>>>>>>> You need to add the package/classfile tree for you code. >>>>>>>>>>>> >>>>>>>>>>>> As you have: java:samplejena >>>>>>>>>>>> >>>>>>>>>>>> Suppoose /DIR is the top of that directory tree so "samplejena" >>>>>>>>>>>> is one >>>>>>>>>>>> directory within /DIR. >>>>>>>>>>>> >>>>>>>>>>>> You then want: >>>>>>>>>>>> >>>>>>>>>>>> JENA_CP='/home/afs/jlib/apache-jena/lib/*:/DIR' >>>>>>>>>>>> >>>>>>>>>>>> : is the classpath separator. >>>>>>>>>>>> >>>>>>>>>>>> Andy >>>>>>>>>>>> >>>>>>>>>>>> On 07/08/18 16:25, Arunkumar Krishnamoorthy wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hello, >>>>>>>>>>>> >>>>>>>>>>>>> I have attached the file with the change, i am getting Could >>>>>>>>>>>>> not find >>>>>>>>>>>>> or >>>>>>>>>>>>> load main class arq.arq >>>>>>>>>>>>> >>>>>>>>>>>>> My classpath location is /home/ak/Documents. Please let me know >>>>>>>>>>>>> whether >>>>>>>>>>>>> my change is correct. >>>>>>>>>>>>> >>>>>>>>>>>>> Regards, >>>>>>>>>>>>> Arun >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Tue, Aug 7, 2018 at 11:11 AM, Andy Seaborne < >> a...@apache.org >>>>>>>>>>>>> <mailto: >>>>>>>>>>>>> a...@apache.org>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> Hi - Please send email to the jena users mailing list. >>>>>>>>>>>>> >>>>>>>>>>>>> (It is correct if it works!) >>>>>>>>>>>>> >>>>>>>>>>>>> Andy >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>> >>