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










Reply via email to