On 10/08/18 14:36, Arunkumar Krishnamoorthy wrote:
Even i don't know where that particular date is coming from. The dataset
is attached.
if it is not in the data and not in query, then it is in your code.
What about URLConnection.getLastModifed?
NB: You are in timezone +05:00 judging by ncsu.edu.
1969-12-31T19:00:00 +05:00
is
1970-01-01T00:00:00
which 0 in Unix time.
>> SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Isn't a date, it's dateTime format.
>>
NodeValue date = NodeValue.makeDate(lastModified);
is "make date"
Andy
On Fri, Aug 10, 2018 at 3:57 AM, Andy Seaborne <a...@apache.org
<mailto:a...@apache.org>> wrote:
>> But i have given the type as xsd:dateTime, so it should take it right?
The computer says otherwise.
>>myfn:LastModified(?r) >
>> "2005-11-06T00:00:00Z"^^xsd:dateTime )
"2005-11-06T00:00:00Z"^^xsd:dateTime is OK
>> "1969-12-31T19:00:00"^^xsd:date
Not OK. Find out where "1969-12-31T19:00:00" comes from. Is it in
the data?
Andy
On 10/08/18 06:53, Lorenz Buehmann wrote:
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
<mailto: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 <mailto: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#
<http://www.w3.org/2000/01/rdf-schema#>>
PREFIX dc: <http://purl.org/dc/elements/1.1/
<http://purl.org/dc/elements/1.1/>>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#
<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 <mailto: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
<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
<mailto: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
<mailto: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
<mailto: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
<mailto: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>
<mailto:
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