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








Reply via email to