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 <[email protected]> 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
>>>> <[email protected]>
>>>> 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 <
>>>>> [email protected]> 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 <[email protected]>
>>>>>> 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 <[email protected]>
>>>>>>>> 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 <[email protected]
>>>>>>>>>> <mailto:
>>>>>>>>>> [email protected]>> wrote:
>>>>>>>>>>
>>>>>>>>>>        Hi - Please send email to the jena users mailing list.
>>>>>>>>>>
>>>>>>>>>>        (It is correct if it works!)
>>>>>>>>>>
>>>>>>>>>>             Andy
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>
>>

Reply via email to