Re: Safe manipulation of RDF data (from semantic-web)

Hi Martynas,

I have a compose file now:

version: "2"
services:
   processor:
     image: atomgraph/processor
     ports:
       - 8090:8080
       - 8010:8000 # debugger
     environment:
       - JPDA_ADDRESS=8000 # debugger port
       - ENDPOINT="https://semantic-dev.lingsoft.fi/fuseki/ds" # 
hostname equals service name
       - GRAPH_STORE="https://semantic-dev.lingsoft.fi/fuseki/ds" # 
hostname equals service name
       - ONTOLOGY="https://resource.lingsoft.fi/aabb#"
     volumes:
       - 
/home/text/cases/nimisampo/proxy/location-mapping.n3:/usr/local/tomcat/webapps/ROOT/WEB-INF/classes/custom-mapping.n3
       - 
/home/text/cases/nimisampo/proxy/person.ttl:/usr/local/tomcat/webapps/ROOT/WEB-INF/classes/org/wikidata/ldt.ttl
       - 
/home/text/cases/nimisampo/proxy/log4j.properties:/usr/local/tomcat/webapps/ROOT/WEB-INF/classes/log4j.properties
   nginx:
     image: nginx
     depends_on:
       - processor
     ports:
       - 80:80
     environment:
       - PROXY_PASS=http://localhost:8080 # internal Processor URL 
(hostname equals docker-compose service name)
       - PROXY_SET_HOST=https://resource.lingsoft.fi # the hostname set 
on the request URI before it's passed to Processor
     volumes:
       - ./nginx.conf.template:/etc/nginx/nginx.conf.template:ro
     command: /bin/bash -c "envsubst '$$PROXY_PASS $$PROXY_SET_HOST' < 
/etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf && nginx -g 
'daemon off;'"


Not sure how nginx env should be, but running this results error

 >> docker-compose up
ERROR: Couldn't connect to Docker daemon at 
http+docker://localunixsocket - is it running?


 >> sudo service docker status
● docker.service - Docker Application Container Engine
    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor 
preset: enabled)
    Active: active (running) since Tue 2019-09-17 16:06:30 EEST; 1 weeks 
6 days ago
      Docs: https://docs.docker.com
  Main PID: 15816 (dockerd)
     Tasks: 13
    Memory: 610.3M
       CPU: 5min 15.038s
    CGroup: /system.slice/docker.service
            └─15816 /usr/bin/dockerd -H fd:// 
--containerd=/run/containerd/containerd.sock

This is probably related to setting up docker but looks like we have 
limited knowledge on that here. Do you have an idea?

Mikael

On 27/09/2019 10:46, Martynas Jusevičius wrote:
> Hi Mikael,
>
> On Tue, Sep 24, 2019 at 11:21 AM Mikael Pesonen
> <mikael.pesonen@lingsoft.fi> wrote:
>
>> On 23/09/2019 23:23, Martynas Jusevičius wrote:
>>> No not exactly. Let me picture the basic setup:
>>>
>>> HTTP client -> [ nginx/localhost:8090 ->
>>> Processor/resource.lingsoft.fi:80 ] -> SPARQL endpoint
>>>
>>> You can continue using port 8090 if that is what you prefer, or you
>>> can choose any different port. But what you have now is nginx fronting
>>> Processor, just for the purpose of rewriting the URL base to
>>> resource.lingsoft.fi before Processor receives the request, and that
>>> way making sure that the queries from the LDT ontology will select
>>> something from your dataset.
>>>
>>> Nothing changes for the outside consumer -- since nginx and Processor
>>> are both running as Docker containers, they communicate via the
>>> internal Docker network and the host network is not affected.
>>>
>>> I'm pretty sure nginx can do this, will try tomorrow.
>> Okay thanks for this, forwarded to our tech support.
> I've setup an example as promised. nginx is now a reverse proxy in
> front of Processor in the Fuseki example:
> https://github.com/AtomGraph/Processor#default-ontology-and-a-local-sparql-service
>
> Processor is now available on two different hostnames. In the second
> case the request goes through nginx and the hostname is rewritten to
> example.org before the Processor, and becomes BASE
> <http://example.org/> in queries.
>
> $ curl http://localhost:8080/
> <http://localhost:8080/>
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> <http://xmlns.com/foaf/0.1/Document> .
> <http://localhost:8080/> <http://purl.org/dc/terms/title> "localhost:8080" .
> <http://localhost:8080/> <http://purl.org/dc/terms/description> "This
> is an RDF document served by AtomGraph Processor" .
> <http://localhost:8080/>
> <http://www.w3.org/2000/01/rdf-schema#seeAlso>
> <http://localhost:8080/sparql> .
>
> $ curl http://localhost/
> <http://example.org/>
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> <http://xmlns.com/foaf/0.1/Document> .
> <http://example.org/> <http://purl.org/dc/terms/title> "example.org" .
> <http://example.org/> <http://purl.org/dc/terms/description> "This is
> an RDF document served by AtomGraph Processor" .
> <http://example.org/> <http://www.w3.org/2000/01/rdf-schema#seeAlso>
> <http://example.org/sparql> .
>
> The key configuration is PROXY_SET_HOST=example.org in
> docker-compose.yml. In your case it would be
> PROXY_SET_HOST=resource.lingsoft.fi.
>
>>> Re. parameters, you cannot supply the template URI itself as a
>>> parameter -- only parameters for whichever template matches the path
>>> of the request URI by ldt:match. In other words, the URL is a template
>>> call, with ?this being the default argument, and then any parameters
>>> from the URL query string.
>>> An example of agent param (basically same as in Wikidata's example):
>>>
>>> :PersonItem a ldt:Template ;
>>>       rdfs:label "Person template" ;
>>>       ldt:match "/{uuid}" ;
>>>       ldt:param :AgentParam ;
>>>       ldt:query [ a :PersonQueryTemplate ] ;
>>>       rdfs:isDefinedBy : .
>>>
>>> :AgentParam a ldt:Parameter ;
>>>       rdfs:label "Agent parameter" ;
>>>       spl:predicate :agent ; # parameter name in the URL query string
>>>       spl:valueType rdfs:Resource ;
>>>       spl:optional true ;
>>>       rdfs:isDefinedBy : .
>>>
>>> :PersonQueryTemplate a spin:Template ;
>>>       rdfs:label "Person query template" ;
>>>       spin:constraint :AgentParam ;
>>>       spin:body :PersonQuery ;
>>>       rdfs:isDefinedBy : .
>>>
>>> :PersonQuery a ldt:Query, sp:Construct ;
>>>       rdfs:label "Person query" ;
>>>       sp:text """
>>> CONSTRUCT
>>> {
>>>       ...
>>> }
>>>       """ ;
>>>       rdfs:isDefinedBy : .
>> So in this case, how does the query url look like?
>> https://resource.lingsoft.fi/<uuid> plus something.
> For example:
> https://resource.lingsoft.fi/c5401732-c75d-4f44-b9d1-4e9e95297d9d?agent=https%3A%2F%2Fresource.lingsoft.fi%2F1ecec683-8df3-4e39-9ecd-64ed5617767a
>
> URL parameter values have to be percent-encoded:
> https://en.wikipedia.org/wiki/Percent-encoding
>
>>
>>> More info on parameters:
>>> https://github.com/AtomGraph/Processor/wiki/Linked-Data-Templates#parameters
>>>
>>> On Mon, Sep 23, 2019 at 1:56 PM Mikael Pesonen
>>> <mikael.pesonen@lingsoft.fi> wrote:
>>>> Okay so it's possible to have servers on same name? We have public
>>>> server resource.lingsoft.fi serving content, and
>>>> another server, say ldt.lingsoft.fi, where reverse proxy is redirecting
>>>> calls to AtomGraph at localhost:8090 so that AtomGraph thinks it's
>>>> running at resource.lingsoft.fi? I have to test that with our tech support.
>>>>
>>>> Then there is still the question about passing more than one parameters.
>>>> So when we make a query
>>>>
>>>> ldt.lingsoft.fi/<uuid>?template=entire_person&agent=some_agent
>>>>
>>>> what kind of ontology is needed for the mapping. Could we please have an
>>>> example of that too?
>>>>
>>>> Mikael
>>>>
>>>>
>>>> On 23/09/2019 13:37, Martynas Jusevičius wrote:
>>>>> Mikael,
>>>>>
>>>>> I agree this is a common use case that needs a solution, but I don't
>>>>> think the LDT specification is the right place to address it. More
>>>>> like the Processor documentation.
>>>>>
>>>>> I think the core issue here is information hiding:
>>>>> https://en.wikipedia.org/wiki/Information_hiding
>>>>> You want the Processor to work as if the request is coming from
>>>>> https://resource.lingsoft.fi/, yet it is really coming from
>>>>> http://localhost:8090/. You want to introduce an indirection that is
>>>>> hidden from the data consumer.
>>>>>
>>>>> This is very much like having a webapp running on
>>>>> http://localhost:8090/ but wanting to expose it as http://localhost/,
>>>>> i.e. hiding the port number.
>>>>> What you would normally do is put a reverse proxy server such as
>>>>> Apache or nginx in front of the webapp that would rewrite the URL and
>>>>> hide the port from the outside.
>>>>>
>>>>> The same solution applies here. You could have nginx in front of
>>>>> Processor that rewrites the request URL from http://localhost:8090/ to
>>>>> https://resource.lingsoft.fi/.
>>>>> I think this is the cleanest approach - one simple component is
>>>>> introduced and neither Processor nor LDT spec require changes.
>>>>> More info: https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/
>>>>>
>>>>> If you want to try this, I can put together a docker-compose.yml with
>>>>> nginx in front of Processor, using their Docker image:
>>>>> https://hub.docker.com/_/nginx
>>>>>
>>>>> Martynas
>>>>>
>>>>> On Mon, Sep 23, 2019 at 11:35 AM Mikael Pesonen
>>>>> <mikael.pesonen@lingsoft.fi> wrote:
>>>>>> Hi Martynas,
>>>>>>
>>>>>> On 21/09/2019 12:20, Martynas Jusevičius wrote:
>>>>>>
>>>>>> Hi Mikael,
>>>>>>
>>>>>> OK there is quite a bit to unpack here :)
>>>>>>
>>>>>> In relation to your first question, I added such a paragraph to documentation:
>>>>>> https://github.com/AtomGraph/Processor/wiki/Linked-Data-Templates#execution
>>>>>>
>>>>>> "Note that the base URI of the RDF dataset in the SPARQL service needs
>>>>>> to be aligned with the base URI of the Processor instance. Considering
>>>>>> the example above, the dataset should contain some
>>>>>> http://localhost:8080/-based URIs, otherwise ?this will never match
>>>>>> any resources and the query results will be empty, leading to a 404
>>>>>> Not Found response."
>>>>>>
>>>>>> So in your case the Processor base URI is http://localhost:8090/, but
>>>>>> the issue is the same: the base URI of your dataset is totally
>>>>>> different: http://resource.lingsoft.fi/.
>>>>>>
>>>>>> ?this URI has to have a direct match in your dataset. And its value is
>>>>>> the *full* request URI (though without query string), not a URI
>>>>>> provided in the path as you are attempting.
>>>>>>
>>>>>> In other words, if you want this LDT example to work on your
>>>>>> http://resource.lingsoft.fi/-based dataset, the Processor should be
>>>>>> deployed on http://resource.lingsoft.fi/, and then requests to
>>>>>> https://resource.lingsoft.fi/286c384d-cd5c-4887-9b85-94c0c147f709
>>>>>> would work.
>>>>>>
>>>>>> This is easier said than done, because you most likely already have a
>>>>>> system running on that domain.
>>>>>>
>>>>>> You are right, we have this server https://resource.lingsoft.fi/ running for serving content. This is probably quite common scenario.
>>>>>>
>>>>>> So what we usually do is "rebase" the
>>>>>> RDF dataset to the base URI of the Processor that we are testing on.
>>>>>> You could do that by exporting your RDF dataset as N-Triples or
>>>>>> N-Quads and simply replacing http://resource.lingsoft.fi/ with
>>>>>> http://localhost:8090/. Put the rebased dataset in a separate test
>>>>>> triplestore.
>>>>>> Then a request to
>>>>>> http://localhost:8090/286c384d-cd5c-4887-9b85-94c0c147f709 should
>>>>>> work.
>>>>>>
>>>>>> This seems quite a heavy solution, to keep in sync two datasets.
>>>>>>
>>>>>> There are workarounds without doing URI rebasing, for example you
>>>>>> could still request
>>>>>> http://localhost:8090/286c384d-cd5c-4887-9b85-94c0c147f709 and in the
>>>>>> query do smth like (not tested)
>>>>>>
>>>>>>        BIND (STRAFTER(STR(?this), STR(<>)) AS ?id)
>>>>>>        BIND (URI(CONCAT("https://resource.lingsoft.fi/", ?id)) AS ?realThis)
>>>>>>
>>>>>> and then use ?realThis in the query instead of ?this. What this code
>>>>>> does is extract the ID from the request URI by stripping the
>>>>>> http://localhost:8090/ base URI (which comes from BASE
>>>>>> <http://localhost:8090/>) and concatenating it with the real base URI
>>>>>> of your dataset, which is <https://resource.lingsoft.fi/>.
>>>>>> This approach is not recommended however, because URIs are opaque
>>>>>> identifiers, and their contents should not be parsed in order to
>>>>>> extract information (such as the ID in this case):
>>>>>> https://www.w3.org/DesignIssues/Axioms.html#opaque
>>>>>>
>>>>>> Alternatively, you could have a JAX-RS filter that changes the base
>>>>>> URI in the UriInfo object. That way the LDT processor could use a
>>>>>> ?this URI in queries which is different from the real request URI. But
>>>>>> again, this is more of a hack.
>>>>>>
>>>>>> Since the resource uri is most often used for serving content, it would seem that LDT spec needs some "official",  non hack way to handle the calls? One way that comes to mind is to use URL parameters so that for example call to
>>>>>> https://resource.lingsoft.fi/<uuid>?ldt=person&agent=...
>>>>>> would be parsed at our content server and forwarded to AtomGraph when ldt parameter is seen. But still LDT would need to support this in some official way. What do you think?
>>>>>>
>>>>>> Br,
>>>>>> Mikael
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Lets address the rest of your questions when we have this figured out.
>>>>>>
>>>>>>
>>>>>> On Fri, Sep 20, 2019 at 12:13 PM Mikael Pesonen
>>>>>> <mikael.pesonen@lingsoft.fi> wrote:
>>>>>>
>>>>>> Thanks, makes more sense now.
>>>>>>
>>>>>> We needed to add parameter --network=host to get connections to out
>>>>>> local network, but that results a bind error, since we are already 8080
>>>>>> in use on our servers. We can figure this out here first...
>>>>>>
>>>>>> But I'm getting the SPARQL query now.
>>>>>>
>>>>>> So my ontology is now:
>>>>>>
>>>>>> @base         <https://resource.lingsoft.fi/aabb> . # just for testing
>>>>>>
>>>>>> @prefix :     <#> .
>>>>>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
>>>>>> @prefix owl:  <http://www.w3.org/2002/07/owl#> .
>>>>>> @prefix ldt:  <https://www.w3.org/ns/ldt#> .
>>>>>> @prefix sp:   <http://spinrdf.org/sp#> .
>>>>>> @prefix spl:  <http://spinrdf.org/spl#> .
>>>>>>
>>>>>> : a ldt:Ontology ;
>>>>>>         owl:imports ldt:, sp: ;
>>>>>>         rdfs:label "LDT ontology" .
>>>>>>
>>>>>> :AdminPersonItem a ldt:Template ;
>>>>>>           ldt:match "/{id}" ;
>>>>>>           ldt:query :ConstructAdminPerson ;
>>>>>>           rdfs:isDefinedBy : .
>>>>>>
>>>>>> :ConstructAdminPerson a sp:Construct ;
>>>>>>           sp:text """
>>>>>>           CONSTRUCT
>>>>>>           FROM <http://www.lingsoft.fi/graph/common_insight/>
>>>>>>           WHERE
>>>>>>           {
>>>>>>               ?this ?p ?o
>>>>>>           }
>>>>>>           """ ;
>>>>>>           rdfs:isDefinedBy : .
>>>>>>
>>>>>> Query URL is
>>>>>> http://localhost:8090/https%3A%2F%2Fresource.lingsoft.fi%2F286c384d-cd5c-4887-9b85-94c0c147f709
>>>>>>
>>>>>> Resulted SPARQL is
>>>>>>
>>>>>> BASE    <http://localhost:8090/>
>>>>>>
>>>>>> CONSTRUCT
>>>>>>       {
>>>>>> <https%253A%252F%252Fresource.lingsoft.fi%252F286c384d-cd5c-4887-9b85-94c0c147f709>
>>>>>> ?p ?o .
>>>>>>       }
>>>>>> FROM <http://www.lingsoft.fi/graph/common_insight/>
>>>>>> WHERE
>>>>>>       {
>>>>>> <https%253A%252F%252Fresource.lingsoft.fi%252F286c384d-cd5c-4887-9b85-94c0c147f709>
>>>>>>                   ?p  ?o
>>>>>>       }
>>>>>>
>>>>>> So resource id is still double encoded. Perhaps I'm still missing
>>>>>> something about the parameter mapping.
>>>>>>
>>>>>>
>>>>>> So now I'm bit further and know how to ask right questions :) So we need
>>>>>> to be able to send 3 parameters:
>>>>>>
>>>>>> 1) Resource URL = in this case person's id
>>>>>> (https://resource.lingsoft.fi/286c384d-cd5c-4887-9b85-94c0c147f709)
>>>>>>
>>>>>> 2) Resource type for selecting correct template/SPARQL query. in this
>>>>>> case a person.
>>>>>>
>>>>>> 3) Access level: how much details are you allowed the query of the person.
>>>>>>
>>>>>> So how are these 3 parameters mapped to the ontology and generated
>>>>>> SPARQL - what kind of modifications are needed for the request URL and
>>>>>> template ontology? I'm trying to read the examples but not getting this
>>>>>> still...
>>>>>>
>>>>>> Br,
>>>>>> Mikael
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 19/09/2019 16:18, Martynas Jusevičius wrote:
>>>>>>
>>>>>> Hi Mikael,
>>>>>>
>>>>>> the -v and -e are docker run options:
>>>>>> https://docs.docker.com/engine/reference/run/
>>>>>> -v specifically mounts a file or folder from the host to the container
>>>>>> (which is internally Ubuntu in this case):
>>>>>> https://docs.docker.com/storage/bind-mounts/
>>>>>>
>>>>>> ENDPOINT, ONTOLOGY etc. are defined in the Processor's Dockerfile
>>>>>> and/or entrypoint:
>>>>>> https://github.com/AtomGraph/Processor/blob/master/Dockerfile
>>>>>> https://github.com/AtomGraph/Processor/blob/master/entrypoint.sh
>>>>>>
>>>>>> Different Docker images can use ENV variables and mounts in different
>>>>>> ways and for different purposes. But if you see a container as a large
>>>>>> function, they usually serve as user inputs.
>>>>>> But Docker and Dockerfiles are large topics on their own :)
>>>>>>
>>>>>> You could use curl to query an ontology from Fuseki (most likely a
>>>>>> different instance than ENDPOINT), store it into a file and then mount
>>>>>> it to Processor. Easy to script something like this in bash.
>>>>>> We also have a Knowledge Graph management system that builds on top of
>>>>>> Processor and provides a UI, for general RDF as well as ontology
>>>>>> editing. But it is not open-source so far -- lets take it off-list if
>>>>>> it sounds interesting.
>>>>>>
>>>>>> I need to check how GRAPH_STORE is used and whether it can be made
>>>>>> optional. If you don't have one, just provide a bogus (but valid) URL
>>>>>> for now, it shouldn't be a problem.
>>>>>>
>>>>>> On Thu, Sep 19, 2019 at 12:08 PM Mikael Pesonen
>>>>>> <mikael.pesonen@lingsoft.fi> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> already some more questions:
>>>>>>
>>>>>> About docker command line parameters, who defines the -e and -v command
>>>>>> line parameters? Looking at the document -v displays the docker version.
>>>>>> -e I'm guessing sets an environment variable but what -v does? Sets some
>>>>>> input file locations? Couldn't find the document for those.
>>>>>>
>>>>>> How do I read the template ontologies (any RDF content) from Fuseki
>>>>>> endpoint instead of a file(s)?
>>>>>>
>>>>>> There are separate environment variables for SPARQL and GSP endpoints.
>>>>>> Are both required?
>>>>>>
>>>>>> Mikael
>>>>>>
>>>>>>
>>>>>> On 18/09/2019 16:33, Martynas Jusevičius wrote:
>>>>>>
>>>>>> Hurray! Thanks a lot for going through this. If you have any
>>>>>> suggestions on how to improve the documentation or the setup, please
>>>>>> let me know.
>>>>>>
>>>>>> Now you have these basic options:
>>>>>> - change ENDPOINT/GRAPH_STORE values to your own endpoint URLs
>>>>>> - edit wikidata.ttl to change LDT templates (or their URI templates,
>>>>>> or their queries)
>>>>>>
>>>>>> If you have a public SPARQL endpoint, we can try the config here.
>>>>>>
>>>>>> Remember that ?this is a "magic" variable in the queries, which is
>>>>>> bound to the request URI. So in the case of the example (?this,
>>>>>> <http://localhost:8080/birthdays>), although the Wikidata query does
>>>>>> not use ?this variable.
>>>>>>
>>>>>> On Wed, Sep 18, 2019 at 3:25 PM Mikael Pesonen
>>>>>> <mikael.pesonen@lingsoft.fi> wrote:
>>>>>>
>>>>>> Okay now it seems to work except for connection to wikidata as you
>>>>>> mentioned earlier:
>>>>>>
>>>>>> 18-Sep-2019 13:21:43.730 WARNING [localhost-startStop-1]
>>>>>> org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom
>>>>>> Creation of SecureRandom instance for session ID generation using
>>>>>> [SHA1PRNG] took [162,901] milliseconds.
>>>>>> 18-Sep-2019 13:21:43.742 INFO [localhost-startStop-1]
>>>>>> org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of
>>>>>> configuration descriptor
>>>>>> /usr/local/tomcat/conf/Catalina/localhost/ROOT.xml has finished in
>>>>>> 164,533 ms
>>>>>> 18-Sep-2019 13:21:43.745 INFO [main]
>>>>>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>>>>>> ["http-apr-8080"]
>>>>>> 18-Sep-2019 13:21:43.753 INFO [main]
>>>>>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>>>>>> ["ajp-apr-8009"]
>>>>>> 18-Sep-2019 13:21:43.756 INFO [main]
>>>>>> org.apache.catalina.startup.Catalina.start Server startup in 164576 ms
>>>>>> 18-Sep-2019 13:21:43.918 INFO [http-apr-8080-exec-1]
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl._initiate
>>>>>> Initiating Jersey application, version 'Jersey: 1.19 02/11/2015 03:25 AM'
>>>>>> 13:21:44,148 DEBUG Jena:189 - Jena initialization
>>>>>> 13:21:44,341 DEBUG FileManager:157 - Add location: LocatorFile
>>>>>> 13:21:44,342 DEBUG FileManager:157 - Add location: ClassLoaderLocator
>>>>>> 13:21:44,346 DEBUG LocationMapper:152 - Failed to find configuration:
>>>>>> file:location-mapping.rdf;file:location-mapping.n3;file:location-mapping.ttl;file:etc/location-mapping.rdf;file:etc/location-mapping.n3;file:etc/location-mapping.ttl
>>>>>> 13:21:44,346 DEBUG FileManager:157 - Add location: LocatorFile
>>>>>> 13:21:44,348 DEBUG FileManager:157 - Add location: LocatorURL
>>>>>> 13:21:44,348 DEBUG FileManager:157 - Add location: ClassLoaderLocator
>>>>>> 13:21:44,354 DEBUG StreamManager:142 - Found: location-mapping.n3
>>>>>> (ClassLoaderLocator)
>>>>>> 13:21:44,731 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:21:44,732 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/named-graphs/templates# =>
>>>>>> com/atomgraph/processor/ngt.ttl
>>>>>> 13:21:44,732 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http# => com/atomgraph/processor/http.owl
>>>>>> 13:21:44,733 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/sp => etc/sp.ttl
>>>>>> 13:21:44,733 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt# => com/atomgraph/processor/ldt.ttl
>>>>>> 13:21:44,733 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes# =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:21:44,734 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/sp# => etc/sp.ttl
>>>>>> 13:21:44,734 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/topic-hierarchy/templates# =>
>>>>>> com/atomgraph/processor/tht.ttl
>>>>>> 13:21:44,736 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spin => etc/spin.ttl
>>>>>> 13:21:44,737 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/templates# => com/atomgraph/processor/ct.ttl
>>>>>> 13:21:44,737 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#
>>>>>> => org/wikidata/ldt.ttl
>>>>>> 13:21:44,738 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/ns/sparql-service-description# =>
>>>>>> com/atomgraph/processor/sparql-service.owl
>>>>>> 13:21:44,738 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://rdfs.org/ns/void# => com/atomgraph/processor/void.owl
>>>>>> 13:21:44,741 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spl => etc/spl.spin.ttl
>>>>>> 13:21:44,741 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/document-hierarchy/domain# =>
>>>>>> com/atomgraph/processor/dh.ttl
>>>>>> 13:21:44,741 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spin# => etc/spin.ttl
>>>>>> 13:21:44,742 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/domain# => com/atomgraph/processor/c.ttl
>>>>>> 13:21:44,742 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http => com/atomgraph/processor/http.owl
>>>>>> 13:21:44,742 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://xmlns.com/foaf/0.1/ => com/atomgraph/processor/foaf.owl
>>>>>> 13:21:44,743 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://rdfs.org/sioc/ns# => com/atomgraph/processor/sioc.owl
>>>>>> 13:21:44,743 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spl# => etc/spl.spin.ttl
>>>>>> 13:21:44,792 DEBUG info:334 - System architecture: 64 bit
>>>>>> 13:21:44,861 DEBUG FileManager:157 - Add location: LocatorFile
>>>>>> 13:21:44,862 DEBUG FileManager:157 - Add location: LocatorURL
>>>>>> 13:21:44,862 DEBUG FileManager:157 - Add location: ClassLoaderLocator
>>>>>> 13:21:44,863 DEBUG FileManager:527 - Found: ont-policy.rdf
>>>>>> (ClassLoaderLocator)
>>>>>> 13:21:45,083 DEBUG FileManager:157 - Add location: LocatorFile
>>>>>> 13:21:45,084 DEBUG FileManager:157 - Add location: ClassLoaderLocator
>>>>>> 13:21:45,084 DEBUG FileManager:527 - Found: location-mapping.n3
>>>>>> (ClassLoaderLocator)
>>>>>> 13:21:45,104 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/spl#
>>>>>> => etc/spl.spin.ttl
>>>>>> 13:21:45,105 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:21:45,105 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes# =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:21:45,106 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/sp#
>>>>>> => etc/sp.ttl
>>>>>> 13:21:45,106 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http# => com/atomgraph/processor/http.owl
>>>>>> 13:21:45,107 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/spin
>>>>>> => etc/spin.ttl
>>>>>> 13:21:45,107 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/ns/sparql-service-description# =>
>>>>>> com/atomgraph/processor/sparql-service.owl
>>>>>> 13:21:45,108 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/domain# => com/atomgraph/processor/c.ttl
>>>>>> 13:21:45,108 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/document-hierarchy/domain# =>
>>>>>> com/atomgraph/processor/dh.ttl
>>>>>> 13:21:45,108 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://spinrdf.org/spin# => etc/spin.ttl
>>>>>> 13:21:45,109 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/templates# => com/atomgraph/processor/ct.ttl
>>>>>> 13:21:45,109 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/topic-hierarchy/templates# =>
>>>>>> com/atomgraph/processor/tht.ttl
>>>>>> 13:21:45,109 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://xmlns.com/foaf/0.1/ => com/atomgraph/processor/foaf.owl
>>>>>> 13:21:45,110 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt# => com/atomgraph/processor/ldt.ttl
>>>>>> 13:21:45,110 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://rdfs.org/sioc/ns# => com/atomgraph/processor/sioc.owl
>>>>>> 13:21:45,110 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http => com/atomgraph/processor/http.owl
>>>>>> 13:21:45,111 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#
>>>>>> => org/wikidata/ldt.ttl
>>>>>> 13:21:45,111 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/sp
>>>>>> => etc/sp.ttl
>>>>>> 13:21:45,111 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/spl
>>>>>> => etc/spl.spin.ttl
>>>>>> 13:21:45,112 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://rdfs.org/ns/void# => com/atomgraph/processor/void.owl
>>>>>> 13:21:45,115 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/named-graphs/templates# =>
>>>>>> com/atomgraph/processor/ngt.ttl
>>>>>> 13:21:45,774 DEBUG FileManager:157 - Add location: LocatorFile
>>>>>> 13:21:45,775 DEBUG FileManager:157 - Add location: LocatorURL
>>>>>> 13:21:45,775 DEBUG FileManager:157 - Add location: ClassLoaderLocator
>>>>>> 13:21:45,777 DEBUG Application:179 - FileManager.get():
>>>>>> com.atomgraph.core.util.jena.DataManager@dd75c2f
>>>>>> 13:21:45,777 DEBUG Application:182 -
>>>>>> OntDocumentManager.getInstance().getFileManager():
>>>>>> com.atomgraph.core.util.jena.DataManager@dd75c2f
>>>>>> 13:21:45,778 DEBUG OntologyProvider:183 - Loading sitemap ontology from
>>>>>> URI: https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#
>>>>>> 13:21:45,800 DEBUG FileManager:472 - Mapped:
>>>>>> https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#
>>>>>> => org/wikidata/ldt.ttl
>>>>>> 13:21:45,801 DEBUG FileManager:324 -
>>>>>> readModel(model,https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#)
>>>>>> 13:21:45,801 DEBUG FileManager:340 -
>>>>>> readModel(model,https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#,
>>>>>> null)
>>>>>> 13:21:45,802 DEBUG FileManager:472 - Mapped:
>>>>>> https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#
>>>>>> => org/wikidata/ldt.ttl
>>>>>> 13:21:45,802 DEBUG FileManager:368 - Map:
>>>>>> https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#
>>>>>> => org/wikidata/ldt.ttl
>>>>>> 13:21:45,803 DEBUG FileManager:384 - Syntax guess: TURTLE
>>>>>> 13:21:45,804 DEBUG FileManager:527 - Found: org/wikidata/ldt.ttl
>>>>>> (ClassLoaderLocator)
>>>>>> 13:21:45,810 DEBUG FileManager:472 - Mapped: https://www.w3.org/ns/ldt#
>>>>>> => com/atomgraph/processor/ldt.ttl
>>>>>> 13:21:45,811 DEBUG FileManager:324 -
>>>>>> readModel(model,https://www.w3.org/ns/ldt#)
>>>>>> 13:21:45,811 DEBUG FileManager:340 -
>>>>>> readModel(model,https://www.w3.org/ns/ldt#, null)
>>>>>> 13:21:45,811 DEBUG FileManager:472 - Mapped: https://www.w3.org/ns/ldt#
>>>>>> => com/atomgraph/processor/ldt.ttl
>>>>>> 13:21:45,812 DEBUG FileManager:368 - Map: https://www.w3.org/ns/ldt# =>
>>>>>> com/atomgraph/processor/ldt.ttl
>>>>>> 13:21:45,812 DEBUG FileManager:384 - Syntax guess: TURTLE
>>>>>> 13:21:45,813 DEBUG FileManager:527 - Found:
>>>>>> com/atomgraph/processor/ldt.ttl (ClassLoaderLocator)
>>>>>> 13:21:45,825 DEBUG FileManager:472 - Mapped: http://spinrdf.org/sp# =>
>>>>>> etc/sp.ttl
>>>>>> 13:21:45,825 DEBUG FileManager:324 - readModel(model,http://spinrdf.org/sp#)
>>>>>> 13:21:45,825 DEBUG FileManager:340 -
>>>>>> readModel(model,http://spinrdf.org/sp#, null)
>>>>>> 13:21:45,825 DEBUG FileManager:472 - Mapped: http://spinrdf.org/sp# =>
>>>>>> etc/sp.ttl
>>>>>> 13:21:45,826 DEBUG FileManager:368 - Map: http://spinrdf.org/sp# =>
>>>>>> etc/sp.ttl
>>>>>> 13:21:45,826 DEBUG FileManager:384 - Syntax guess: TURTLE
>>>>>> 13:21:45,827 DEBUG FileManager:527 - Found: etc/sp.ttl (ClassLoaderLocator)
>>>>>> 13:21:45,842 DEBUG FileManager:472 - Mapped:
>>>>>> http://www.w3.org/ns/sparql-service-description# =>
>>>>>> com/atomgraph/processor/sparql-service.owl
>>>>>> 13:21:45,843 DEBUG FileManager:324 -
>>>>>> readModel(model,http://www.w3.org/ns/sparql-service-description#)
>>>>>> 13:21:45,843 DEBUG FileManager:340 -
>>>>>> readModel(model,http://www.w3.org/ns/sparql-service-description#, null)
>>>>>> 13:21:45,843 DEBUG FileManager:472 - Mapped:
>>>>>> http://www.w3.org/ns/sparql-service-description# =>
>>>>>> com/atomgraph/processor/sparql-service.owl
>>>>>> 13:21:45,843 DEBUG FileManager:368 - Map:
>>>>>> http://www.w3.org/ns/sparql-service-description# =>
>>>>>> com/atomgraph/processor/sparql-service.owl
>>>>>> 13:21:45,844 DEBUG FileManager:384 - Syntax guess: RDF/XML
>>>>>> 13:21:45,844 DEBUG FileManager:527 - Found:
>>>>>> com/atomgraph/processor/sparql-service.owl (ClassLoaderLocator)
>>>>>> 13:21:45,873 DEBUG FileManager:472 - Mapped: http://spinrdf.org/spin# =>
>>>>>> etc/spin.ttl
>>>>>> 13:21:45,874 DEBUG FileManager:324 -
>>>>>> readModel(model,http://spinrdf.org/spin#)
>>>>>> 13:21:45,874 DEBUG FileManager:340 -
>>>>>> readModel(model,http://spinrdf.org/spin#, null)
>>>>>> 13:21:45,874 DEBUG FileManager:472 - Mapped: http://spinrdf.org/spin# =>
>>>>>> etc/spin.ttl
>>>>>> 13:21:45,874 DEBUG FileManager:368 - Map: http://spinrdf.org/spin# =>
>>>>>> etc/spin.ttl
>>>>>> 13:21:45,875 DEBUG FileManager:384 - Syntax guess: TURTLE
>>>>>> 13:21:45,875 DEBUG FileManager:527 - Found: etc/spin.ttl
>>>>>> (ClassLoaderLocator)
>>>>>> 13:21:45,888 DEBUG FileManager:472 - Mapped: http://spinrdf.org/sp =>
>>>>>> etc/sp.ttl
>>>>>> 13:21:45,889 DEBUG FileManager:324 - readModel(model,http://spinrdf.org/sp)
>>>>>> 13:21:45,889 DEBUG FileManager:340 -
>>>>>> readModel(model,http://spinrdf.org/sp, null)
>>>>>> 13:21:45,890 DEBUG FileManager:472 - Mapped: http://spinrdf.org/sp =>
>>>>>> etc/sp.ttl
>>>>>> 13:21:45,890 DEBUG FileManager:368 - Map: http://spinrdf.org/sp =>
>>>>>> etc/sp.ttl
>>>>>> 13:21:45,891 DEBUG FileManager:384 - Syntax guess: TURTLE
>>>>>> 13:21:45,893 DEBUG FileManager:527 - Found: etc/sp.ttl (ClassLoaderLocator)
>>>>>> 18-Sep-2019 13:21:45.997 INFO [http-apr-8080-exec-1]
>>>>>> com.sun.jersey.server.impl.application.DeferredResourceConfig$ApplicationHolder.<init>
>>>>>> Instantiated the Application class com.atomgraph.server.Application
>>>>>> 13:21:46,388 DEBUG OntologyProvider:183 - Loading sitemap ontology from
>>>>>> URI: https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#
>>>>>> 13:21:46,390 DEBUG OntologyProvider:183 - Loading sitemap ontology from
>>>>>> URI: https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#
>>>>>> 13:21:46,395 DEBUG TemplateMatcher:245 - Path: /birthdays matched
>>>>>> Template:
>>>>>> [<https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#BirthdaysTemplate>:
>>>>>> "/birthdays", 0.0]
>>>>>> 13:21:46,396 DEBUG OntologyProvider:183 - Loading sitemap ontology from
>>>>>> URI: https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#
>>>>>> 13:21:46,398 DEBUG TemplateMatcher:245 - Path: /birthdays matched
>>>>>> Template:
>>>>>> [<https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#BirthdaysTemplate>:
>>>>>> "/birthdays", 0.0]
>>>>>> 13:21:46,399 DEBUG TemplateCallProvider:85 - Building TemplateCall from
>>>>>> Template
>>>>>> [<https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#BirthdaysTemplate>:
>>>>>> "/birthdays", 0.0]
>>>>>> 13:21:46,404 DEBUG ResourceBase:79 - Request URI:
>>>>>> http://localhost:8090/birthdays
>>>>>> 13:21:46,434 DEBUG ResourceBase:166 - Constructing ResourceBase with
>>>>>> matched Template:
>>>>>> [<https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#BirthdaysTemplate>:
>>>>>> "/birthdays", 0.0]
>>>>>> 13:21:46,442 DEBUG SPARQLEndpointBase:80 - Constructing SPARQLEndpointBase
>>>>>> 13:21:46,455 DEBUG SPARQLEndpointBase:158 - Loading Dataset using
>>>>>> CONSTRUCT/DESCRIBE query: BASE    <http://localhost:8090/>
>>>>>> PREFIX  bd:   <http://www.bigdata.com/rdf#>
>>>>>> PREFIX  wdt:  <http://www.wikidata.org/prop/direct/>
>>>>>> PREFIX  wikibase: <http://wikiba.se/ontology#>
>>>>>>
>>>>>> CONSTRUCT
>>>>>>         {
>>>>>>           ?entity
>>>>>> <https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#year>
>>>>>> ?year .
>>>>>>         }
>>>>>> WHERE
>>>>>>         { SELECT  ?entity ?year
>>>>>>           WHERE
>>>>>>             { BIND(month(now()) AS ?nowMonth)
>>>>>>               BIND(day(now()) AS ?nowDay)
>>>>>>               ?entity  wdt:P569  ?date
>>>>>>               FILTER ( ( month(?date) = ?nowMonth ) && ( day(?date) = ?nowDay ) )
>>>>>>               SERVICE wikibase:label
>>>>>>                 { bd:serviceParam
>>>>>>                             wikibase:language  "en"
>>>>>>                 }
>>>>>>               BIND(year(?date) AS ?year)
>>>>>>             }
>>>>>>           LIMIT   100
>>>>>>         }
>>>>>>
>>>>>> 13:21:46,462 DEBUG SPARQLClient:141 - Remote SPARQL service
>>>>>> https://query.wikidata.org/bigdata/namespace/wdq/sparql GET query:
>>>>>> BASE    <http://localhost:8090/>
>>>>>> PREFIX  bd:   <http://www.bigdata.com/rdf#>
>>>>>> PREFIX  wdt:  <http://www.wikidata.org/prop/direct/>

>>>>>> PREFIX  wikibase: <http://wikiba.se/ontology#>
>>>>>>
>>>>>> CONSTRUCT
>>>>>>         {
>>>>>>           ?entity
>>>>>> <https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#year>
>>>>>> ?year .
>>>>>>         }
>>>>>> WHERE
>>>>>>         { SELECT  ?entity ?year
>>>>>>           WHERE
>>>>>>             { BIND(month(now()) AS ?nowMonth)
>>>>>>               BIND(day(now()) AS ?nowDay)
>>>>>>               ?entity  wdt:P569  ?date
>>>>>>               FILTER ( ( month(?date) = ?nowMonth ) && ( day(?date) = ?nowDay ) )
>>>>>>               SERVICE wikibase:label
>>>>>>                 { bd:serviceParam
>>>>>>                             wikibase:language  "en"
>>>>>>                 }
>>>>>>               BIND(year(?date) AS ?year)
>>>>>>             }
>>>>>>           LIMIT   100
>>>>>>         }
>>>>>>
>>>>>> 1 * Client out-bound request
>>>>>> 1 > GET
>>>>>> https://query.wikidata.org/bigdata/namespace/wdq/sparql?query=BASE%20%20%20%20%3Chttp%3A%2F%2Flocalhost%3A8090%2F%3E%0APREFIX%20%20bd%3A%20%20%20%3Chttp%3A%2F%2Fwww.bigdata.com%2Frdf%23%3E%0APREFIX%20%20wdt%3A%20%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0APREFIX%20%20wikibase%3A%20%3Chttp%3A%2F%2Fwikiba.se%2Fontology%23%3E%0A%0ACONSTRUCT%20%0A%20%20%7B%20%0A%20%20%20%20%3Fentity%20%3Chttps%3A%2F%2Fgithub.com%2FAtomGraph%2FProcessor%2Fblob%2Fdevelop%2Fexamples%2Fwikidata%23year%3E%20%3Fyear%20.%0A%20%20%7D%0AWHERE%0A%20%20%7B%20SELECT%20%20%3Fentity%20%3Fyear%0A%20%20%20%20WHERE%0A%20%20%20%20%20%20%7B%20BIND%28month%28now%28%29%29%20AS%20%3FnowMonth%29%0A%20%20%20%20%20%20%20%20BIND%28day%28now%28%29%29%20AS%20%3FnowDay%29%0A%20%20%20%20%20%20%20%20%3Fentity%20%20wdt%3AP569%20%20%3Fdate%0A%20%20%20%20%20%20%20%20FILTER%20%28%20%28%20month%28%3Fdate%29%20%3D%20%3FnowMonth%20%29%20%26%26%20%28%20day%28%3Fdate%29%20%3D%20%3FnowDay%20%29%20%29%0A%20%20%20%20%20%20%20%20SERVICE%20wikibase%3Alabel%0A%20%20%20%20%20%20%20%20%20%20%7B%20bd%3AserviceParam%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20wikibase%3Alanguage%20%20%22en%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20BIND%28year%28%3Fdate%29%20AS%20%3Fyear%29%0A%20%20%20%20%20%20%7D%0A%20%20%20%20LIMIT%20%20%20100%0A%20%20%7D%0A
>>>>>> 1 > Accept: application/n-quads,application/rdf+thrift,text/trig
>>>>>> 18-Sep-2019 13:22:06.781 SEVERE [http-apr-8080-exec-1]
>>>>>> com.sun.jersey.spi.container.ContainerResponse.mapMappableContainerException
>>>>>> The RuntimeException could not be mapped to a response, re-throwing to
>>>>>> the HTTP container
>>>>>>        com.sun.jersey.api.client.ClientHandlerException:
>>>>>> java.net.UnknownHostException: query.wikidata.org
>>>>>>               at
>>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155)
>>>>>>               at
>>>>>> com.sun.jersey.api.client.filter.LoggingFilter.handle(LoggingFilter.java:217)
>>>>>>               at com.sun.jersey.api.client.Client.handle(Client.java:652)
>>>>>>               at
>>>>>> com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
>>>>>>               at
>>>>>> com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
>>>>>>               at
>>>>>> com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509)
>>>>>>               at
>>>>>> com.atomgraph.core.client.SPARQLClient.get(SPARQLClient.java:145)
>>>>>>               at
>>>>>> com.atomgraph.core.client.SPARQLClient.query(SPARQLClient.java:173)
>>>>>>               at
>>>>>> com.atomgraph.core.model.impl.remote.SPARQLEndpointBase.loadDataset(SPARQLEndpointBase.java:77)
>>>>>>               at
>>>>>> com.atomgraph.core.model.impl.SPARQLEndpointBase.getResponseBuilder(SPARQLEndpointBase.java:159)
>>>>>>               at
>>>>>> com.atomgraph.core.model.impl.SPARQLEndpointBase.get(SPARQLEndpointBase.java:88)
>>>>>>               at
>>>>>> com.atomgraph.core.model.impl.QueriedResourceBase.describe(QueriedResourceBase.java:107)
>>>>>>               at
>>>>>> com.atomgraph.core.model.impl.QueriedResourceBase.get(QueriedResourceBase.java:122)
>>>>>>               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>               at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>>>               at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>               at java.lang.reflect.Method.invoke(Method.java:498)
>>>>>>               at
>>>>>> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
>>>>>>               at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
>>>>>>               at
>>>>>> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
>>>>>>               at
>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
>>>>>>               at
>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
>>>>>>               at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>>>>>>               at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
>>>>>>               at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
>>>>>>               at
>>>>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>>>>>>               at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
>>>>>>               at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
>>>>>>               at
>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
>>>>>>               at
>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
>>>>>>               at
>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
>>>>>>               at
>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
>>>>>>               at
>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
>>>>>>               at
>>>>>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
>>>>>>               at
>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
>>>>>>               at
>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
>>>>>>               at
>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1156)
>>>>>>               at
>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
>>>>>>               at
>>>>>> org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2464)
>>>>>>               at
>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>>>>>>               at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>>>>>>               at
>>>>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>>>>>               at java.lang.Thread.run(Thread.java:748)
>>>>>> Caused by: java.net.UnknownHostException: query.wikidata.org
>>>>>>               at
>>>>>> java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
>>>>>>               at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
>>>>>>               at java.net.Socket.connect(Socket.java:589)
>>>>>>               at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673)
>>>>>>               at
>>>>>> sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
>>>>>>               at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
>>>>>>               at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
>>>>>>               at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
>>>>>>               at
>>>>>> sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
>>>>>>               at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
>>>>>>               at
>>>>>> sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
>>>>>>               at
>>>>>> sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
>>>>>>               at
>>>>>> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
>>>>>>               at
>>>>>> sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
>>>>>>               at
>>>>>> sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
>>>>>>               at
>>>>>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
>>>>>>               at
>>>>>> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
>>>>>>               at
>>>>>> sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347)
>>>>>>               at
>>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:253)
>>>>>>               at
>>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153)
>>>>>>               ... 53 more
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 18/09/2019 16:12, Martynas Jusevičius wrote:
>>>>>>
>>>>>> Oops, I pointed you to the wrong mapping file - one that is already
>>>>>> built-in. Sorry about that.
>>>>>>
>>>>>> This is the location-mapping.n3 for the Wikidata example:
>>>>>> https://raw.githubusercontent.com/AtomGraph/Processor/master/examples/location-mapping.n3
>>>>>>
>>>>>> I think if you use this one, all should be good. Fingers crossed.
>>>>>>
>>>>>> On Wed, Sep 18, 2019 at 3:09 PM Mikael Pesonen
>>>>>> <mikael.pesonen@lingsoft.fi> wrote:
>>>>>>
>>>>>> Mapping file was indeed html... So now got a bit further:
>>>>>>
>>>>>> 18-Sep-2019 13:06:13.088 WARNING [localhost-startStop-1]
>>>>>> org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom
>>>>>> Creation of SecureRandom instance for session ID generation using
>>>>>> [SHA1PRNG] took [285,439] milliseconds.
>>>>>> 18-Sep-2019 13:06:13.122 INFO [localhost-startStop-1]
>>>>>> org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of
>>>>>> configuration descriptor
>>>>>> /usr/local/tomcat/conf/Catalina/localhost/ROOT.xml has finished in
>>>>>> 286,901 ms
>>>>>> 18-Sep-2019 13:06:13.125 INFO [main]
>>>>>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>>>>>> ["http-apr-8080"]
>>>>>> 18-Sep-2019 13:06:13.134 INFO [main]
>>>>>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>>>>>> ["ajp-apr-8009"]
>>>>>> 18-Sep-2019 13:06:13.137 INFO [main]
>>>>>> org.apache.catalina.startup.Catalina.start Server startup in 286945 ms
>>>>>> 18-Sep-2019 13:06:13.280 INFO [http-apr-8080-exec-1]
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl._initiate
>>>>>> Initiating Jersey application, version 'Jersey: 1.19 02/11/2015 03:25 AM'
>>>>>> 13:06:13,435 DEBUG Jena:189 - Jena initialization
>>>>>> 13:06:13,603 DEBUG FileManager:157 - Add location: LocatorFile
>>>>>> 13:06:13,604 DEBUG FileManager:157 - Add location: ClassLoaderLocator
>>>>>> 13:06:13,607 DEBUG LocationMapper:152 - Failed to find configuration:
>>>>>> file:location-mapping.rdf;file:location-mapping.n3;file:location-mapping.ttl;file:etc/location-mapping.rdf;file:etc/location-mapping.n3;file:etc/location-mapping.ttl
>>>>>> 13:06:13,607 DEBUG FileManager:157 - Add location: LocatorFile
>>>>>> 13:06:13,608 DEBUG FileManager:157 - Add location: LocatorURL
>>>>>> 13:06:13,609 DEBUG FileManager:157 - Add location: ClassLoaderLocator
>>>>>> 13:06:13,614 DEBUG StreamManager:142 - Found: location-mapping.n3
>>>>>> (ClassLoaderLocator)
>>>>>> 13:06:13,993 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http => com/atomgraph/processor/http.owl
>>>>>> 13:06:13,993 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt# => com/atomgraph/processor/ldt.ttl
>>>>>> 13:06:13,994 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://rdfs.org/ns/void# => com/atomgraph/processor/void.owl
>>>>>> 13:06:13,994 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://rdfs.org/ns/void# => com/atomgraph/processor/void.owl
>>>>>> 13:06:13,995 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://xmlns.com/foaf/0.1/ => com/atomgraph/processor/foaf.owl
>>>>>> 13:06:13,995 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://xmlns.com/foaf/0.1/ => com/atomgraph/processor/foaf.owl
>>>>>> 13:06:13,995 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:06:13,996 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spin# => etc/spin.ttl
>>>>>> 13:06:13,997 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/templates# => com/atomgraph/processor/ct.ttl
>>>>>> 13:06:13,997 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http => com/atomgraph/processor/http.owl
>>>>>> 13:06:13,998 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:06:13,998 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/templates# => com/atomgraph/processor/ct.ttl
>>>>>> 13:06:13,998 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/document-hierarchy/domain# =>
>>>>>> com/atomgraph/processor/dh.ttl
>>>>>> 13:06:13,999 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes# =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:06:13,999 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/domain# => com/atomgraph/processor/c.ttl
>>>>>> 13:06:13,999 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spin => etc/spin.ttl
>>>>>> 13:06:14,000 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/topic-hierarchy/templates# =>
>>>>>> com/atomgraph/processor/tht.ttl
>>>>>> 13:06:14,000 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http# => com/atomgraph/processor/http.owl
>>>>>> 13:06:14,000 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/sp => etc/sp.ttl
>>>>>> 13:06:14,001 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/sp => etc/sp.ttl
>>>>>> 13:06:14,001 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://rdfs.org/sioc/ns# => com/atomgraph/processor/sioc.owl
>>>>>> 13:06:14,001 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/sp# => etc/sp.ttl
>>>>>> 13:06:14,001 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/document-hierarchy/domain# =>
>>>>>> com/atomgraph/processor/dh.ttl
>>>>>> 13:06:14,002 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spl => etc/spl.spin.ttl
>>>>>> 13:06:14,002 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes# =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:06:14,002 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt# => com/atomgraph/processor/ldt.ttl
>>>>>> 13:06:14,003 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spl# => etc/spl.spin.ttl
>>>>>> 13:06:14,003 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/domain# => com/atomgraph/processor/c.ttl
>>>>>> 13:06:14,003 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/ns/sparql-service-description# =>
>>>>>> com/atomgraph/processor/sparql-service.owl
>>>>>> 13:06:14,004 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/named-graphs/templates# =>
>>>>>> com/atomgraph/processor/ngt.ttl
>>>>>> 13:06:14,004 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spl => etc/spl.spin.ttl
>>>>>> 13:06:14,004 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spin# => etc/spin.ttl
>>>>>> 13:06:14,005 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://rdfs.org/sioc/ns# => com/atomgraph/processor/sioc.owl
>>>>>> 13:06:14,005 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/2011/http# => com/atomgraph/processor/http.owl
>>>>>> 13:06:14,005 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/sp# => etc/sp.ttl
>>>>>> 13:06:14,006 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/topic-hierarchy/templates# =>
>>>>>> com/atomgraph/processor/tht.ttl
>>>>>> 13:06:14,006 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://www.w3.org/ns/sparql-service-description# =>
>>>>>> com/atomgraph/processor/sparql-service.owl
>>>>>> 13:06:14,006 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spin => etc/spin.ttl
>>>>>> 13:06:14,007 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/named-graphs/templates# =>
>>>>>> com/atomgraph/processor/ngt.ttl
>>>>>> 13:06:14,007 DEBUG JenaIOEnvironment:119 - Mapping:
>>>>>> http://spinrdf.org/spl# => etc/spl.spin.ttl
>>>>>> 13:06:14,050 DEBUG info:334 - System architecture: 64 bit
>>>>>> 13:06:14,113 DEBUG FileManager:157 - Add location: LocatorFile
>>>>>> 13:06:14,113 DEBUG FileManager:157 - Add location: LocatorURL
>>>>>> 13:06:14,113 DEBUG FileManager:157 - Add location: ClassLoaderLocator
>>>>>> 13:06:14,115 DEBUG FileManager:527 - Found: ont-policy.rdf
>>>>>> (ClassLoaderLocator)
>>>>>> 13:06:14,308 DEBUG FileManager:157 - Add location: LocatorFile
>>>>>> 13:06:14,309 DEBUG FileManager:157 - Add location: ClassLoaderLocator
>>>>>> 13:06:14,309 DEBUG FileManager:527 - Found: location-mapping.n3
>>>>>> (ClassLoaderLocator)
>>>>>> 13:06:14,334 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/spin
>>>>>> => etc/spin.ttl
>>>>>> 13:06:14,335 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/spl#
>>>>>> => etc/spl.spin.ttl
>>>>>> 13:06:14,335 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://rdfs.org/ns/void# => com/atomgraph/processor/void.owl
>>>>>> 13:06:14,336 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/domain# => com/atomgraph/processor/c.ttl
>>>>>> 13:06:14,336 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/ns/sparql-service-description# =>
>>>>>> com/atomgraph/processor/sparql-service.owl
>>>>>> 13:06:14,336 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http# => com/atomgraph/processor/http.owl
>>>>>> 13:06:14,337 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://spinrdf.org/spin# => etc/spin.ttl
>>>>>> 13:06:14,337 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://rdfs.org/sioc/ns# => com/atomgraph/processor/sioc.owl
>>>>>> 13:06:14,337 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/sp
>>>>>> => etc/sp.ttl
>>>>>> 13:06:14,338 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:06:14,338 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/templates# => com/atomgraph/processor/ct.ttl
>>>>>> 13:06:14,338 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://xmlns.com/foaf/0.1/ => com/atomgraph/processor/foaf.owl
>>>>>> 13:06:14,339 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/document-hierarchy/domain# =>
>>>>>> com/atomgraph/processor/dh.ttl
>>>>>> 13:06:14,339 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/ns/sparql-service-description# =>
>>>>>> com/atomgraph/processor/sparql-service.owl
>>>>>> 13:06:14,339 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://rdfs.org/sioc/ns# => com/atomgraph/processor/sioc.owl
>>>>>> 13:06:14,340 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/document-hierarchy/domain# =>
>>>>>> com/atomgraph/processor/dh.ttl
>>>>>> 13:06:14,340 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/named-graphs/templates# =>
>>>>>> com/atomgraph/processor/ngt.ttl
>>>>>> 13:06:14,340 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:06:14,341 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/named-graphs/templates# =>
>>>>>> com/atomgraph/processor/ngt.ttl
>>>>>> 13:06:14,341 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/sp#
>>>>>> => etc/sp.ttl
>>>>>> 13:06:14,341 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/spl#
>>>>>> => etc/spl.spin.ttl
>>>>>> 13:06:14,342 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/domain# => com/atomgraph/processor/c.ttl
>>>>>> 13:06:14,342 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/spl
>>>>>> => etc/spl.spin.ttl
>>>>>> 13:06:14,342 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/spl
>>>>>> => etc/spl.spin.ttl
>>>>>> 13:06:14,343 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http => com/atomgraph/processor/http.owl
>>>>>> 13:06:14,343 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt# => com/atomgraph/processor/ldt.ttl
>>>>>> 13:06:14,343 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/spin
>>>>>> => etc/spin.ttl
>>>>>> 13:06:14,344 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://spinrdf.org/spin# => etc/spin.ttl
>>>>>> 13:06:14,344 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/sp#
>>>>>> => etc/sp.ttl
>>>>>> 13:06:14,344 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/topic-hierarchy/templates# =>
>>>>>> com/atomgraph/processor/tht.ttl
>>>>>> 13:06:14,344 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://rdfs.org/ns/void# => com/atomgraph/processor/void.owl
>>>>>> 13:06:14,345 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes# =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:06:14,345 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http-statusCodes# =>
>>>>>> com/atomgraph/processor/http-statusCodes.rdf
>>>>>> 13:06:14,345 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt# => com/atomgraph/processor/ldt.ttl
>>>>>> 13:06:14,346 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://xmlns.com/foaf/0.1/ => com/atomgraph/processor/foaf.owl
>>>>>> 13:06:14,346 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/core/templates# => com/atomgraph/processor/ct.ttl
>>>>>> 13:06:14,346 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http => com/atomgraph/processor/http.owl
>>>>>> 13:06:14,347 DEBUG LocationMapper:371 - Mapping: http://spinrdf.org/sp
>>>>>> => etc/sp.ttl
>>>>>> 13:06:14,347 DEBUG LocationMapper:371 - Mapping:
>>>>>> https://www.w3.org/ns/ldt/topic-hierarchy/templates# =>
>>>>>> com/atomgraph/processor/tht.ttl
>>>>>> 13:06:14,347 DEBUG LocationMapper:371 - Mapping:
>>>>>> http://www.w3.org/2011/http# => com/atomgraph/processor/http.owl
>>>>>> 13:06:14,900 DEBUG FileManager:157 - Add location: LocatorFile
>>>>>> 13:06:14,901 DEBUG FileManager:157 - Add location: LocatorURL
>>>>>> 13:06:14,902 DEBUG FileManager:157 - Add location: ClassLoaderLocator
>>>>>> 13:06:14,904 DEBUG Application:179 - FileManager.get():
>>>>>> com.atomgraph.core.util.jena.DataManager@2991c893
>>>>>> 13:06:14,904 DEBUG Application:182 -
>>>>>> OntDocumentManager.getInstance().getFileManager():
>>>>>> com.atomgraph.core.util.jena.DataManager@2991c893
>>>>>> 13:06:14,906 DEBUG OntologyProvider:183 - Loading sitemap ontology from
>>>>>> URI: https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#
>>>>>> 13:06:14,929 DEBUG FileManager:466 - Not mapped:
>>>>>> https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#
>>>>>> 1 * Client out-bound request
>>>>>> 1 > GET
>>>>>> https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata
>>>>>> 1 > Accept:
>>>>>> application/rdf+xml,text/rdf+n3,application/n-triples,text/csv,application/rdf+xml,application/rdf+thrift,text/turtle,application/rdf+json
>>>>>> 13:06:35,068  WARN OntDocumentManager:1076 - An error occurred while
>>>>>> attempting to read from
>>>>>> https://github.com/AtomGraph/Processor/blob/develop/examples/wikidata#.
>>>>>> Msg was 'java.net.UnknownHostException: github.com'.
>>>>>> com.sun.jersey.api.client.ClientHandlerException:
>>>>>> java.net.UnknownHostException: github.com
>>>>>>                at
>>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155)
>>>>>>                at
>>>>>> com.sun.jersey.api.client.filter.LoggingFilter.handle(LoggingFilter.java:217)
>>>>>>                at com.sun.jersey.api.client.Client.handle(Client.java:652)
>>>>>>                at
>>>>>> com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
>>>>>>                at
>>>>>> com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
>>>>>>                at
>>>>>> com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509)
>>>>>>                at
>>>>>> com.atomgraph.core.client.LinkedDataClient.get(LinkedDataClient.java:91)
>>>>>>                at
>>>>>> com.atomgraph.core.client.LinkedDataClient.get(LinkedDataClient.java:80)
>>>>>>                at
>>>>>> com.atomgraph.core.client.LinkedDataClient.get(LinkedDataClient.java:99)
>>>>>>                at
>>>>>> com.atomgraph.core.util.jena.DataManager.readModel(DataManager.java:150)
>>>>>>                at
>>>>>> org.apache.jena.ontology.OntDocumentManager.read(OntDocumentManager.java:1062)
>>>>>>                at
>>>>>> org.apache.jena.ontology.OntDocumentManager.getOntology(OntDocumentManager.java:584)
>>>>>>                at
>>>>>> com.atomgraph.server.provider.OntologyProvider.getOntModel(OntologyProvider.java:187)
>>>>>>                at
>>>>>> com.atomgraph.server.provider.OntologyProvider.<init>(OntologyProvider.java:72)
>>>>>>                at com.atomgraph.server.Application.init(Application.java:197)
>>>>>>                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>                at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>>>                at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>                at java.lang.reflect.Method.invoke(Method.java:498)
>>>>>>                at
>>>>>> com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:183)
>>>>>>                at
>>>>>> com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider(ProviderFactory.java:166)
>>>>>>                at
>>>>>> com.sun.jersey.core.spi.component.ProviderFactory._getComponentProvider(ProviderFactory.java:159)
>>>>>>                at
>>>>>> com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:153)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.DeferredResourceConfig$ApplicationHolder.<init>(DeferredResourceConfig.java:86)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.DeferredResourceConfig$ApplicationHolder.<init>(DeferredResourceConfig.java:79)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.DeferredResourceConfig.getApplication(DeferredResourceConfig.java:76)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1164)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795)
>>>>>>                at
>>>>>> com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)
>>>>>>                at javax.servlet.GenericServlet.init(GenericServlet.java:158)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1188)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1132)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:811)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
>>>>>>                at
>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
>>>>>>                at
>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
>>>>>>                at
>>>>>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
>>>>>>                at
>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
>>>>>>                at
>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1156)
>>>>>>                at
>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
>>>>>>                at
>>>>>> org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2464)
>>>>>>                at
>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>>>>>>                at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>>>>>>                at
>>>>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>>>>>                at java.lang.Thread.run(Thread.java:748)
>>>>>> Caused by: java.net.UnknownHostException: github.com
>>>>>>                at
>>>>>> java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
>>>>>>                at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
>>>>>>                at java.net.Socket.connect(Socket.java:589)
>>>>>>                at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673)
>>>>>>                at
>>>>>> sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
>>>>>>                at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
>>>>>>                at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
>>>>>>                at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
>>>>>>                at
>>>>>> sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
>>>>>>                at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
>>>>>>                at
>>>>>> sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
>>>>>>                at
>>>>>> sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
>>>>>>                at
>>>>>> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
>>>>>>                at
>>>>>> sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
>>>>>>                at
>>>>>> sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
>>>>>>                at
>>>>>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
>>>>>>                at
>>>>>> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
>>>>>>                at
>>>>>> sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347)
>>>>>>                at
>>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:253)
>>>>>>                at
>>>>>> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153)
>>>>>>                ... 57 more
>>>>>> 18-Sep-2019 13:06:35.087 SEVERE [http-apr-8080-exec-1]
>>>>>> com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider
>>>>>> The provider class, class com.atomgraph.server.Application, could not be
>>>>>> instantiated. Processing will continue but the class will not be utilized
>>>>>>         java.lang.IllegalArgumentException: Ontology cannot be null
>>>>>>                at
>>>>>> com.atomgraph.server.provider.OntologyProvider$ImportCycleChecker.check(OntologyProvider.java:96)
>>>>>>                at
>>>>>> com.atomgraph.server.provider.OntologyProvider.<init>(OntologyProvider.java:76)
>>>>>>                at com.atomgraph.server.Application.init(Application.java:197)
>>>>>>                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>                at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>>>                at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>                at java.lang.reflect.Method.invoke(Method.java:498)
>>>>>>                at
>>>>>> com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:183)
>>>>>>                at
>>>>>> com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider(ProviderFactory.java:166)
>>>>>>                at
>>>>>> com.sun.jersey.core.spi.component.ProviderFactory._getComponentProvider(ProviderFactory.java:159)
>>>>>>                at
>>>>>> com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:153)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.DeferredResourceConfig$ApplicationHolder.<init>(DeferredResourceConfig.java:86)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.DeferredResourceConfig$ApplicationHolder.<init>(DeferredResourceConfig.java:79)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.DeferredResourceConfig.getApplication(DeferredResourceConfig.java:76)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1164)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795)
>>>>>>                at
>>>>>> com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)
>>>>>>                at
>>>>>> com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)
>>>>>>                at
>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)
>>>>>>                at javax.servlet.GenericServlet.init(GenericServlet.java:158)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1188)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1132)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:811)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
>>>>>>                at
>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
>>>>>>                at
>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
>>>>>>                at
>>>>>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
>>>>>>                at
>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
>>>>>>                at
>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
>>>>>>                at
>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1156)
>>>>>>                at
>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
>>>>>>                at
>>>>>> org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2464)
>>>>>>                at
>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>>>>>>                at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>>>>>>                at
>>>>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>>>>>                at java.lang.Thread.run(Thread.java:748)
>>>>>>
>>>>>> --
>>>>>> Lingsoft - 30 years of Leading Language Management
>>>>>>
>>>>>> www.lingsoft.fi
>>>>>>
>>>>>> Speech Applications - Language Management - Translation - Reader's and Writer's Tools - Text Tools - E-books and M-books
>>>>>>
>>>>>> Mikael Pesonen
>>>>>> System Engineer
>>>>>>
>>>>>> e-mail: mikael.pesonen@lingsoft.fi
>>>>>> Tel. +358 2 279 3300
>>>>>>
>>>>>> Time zone: GMT+2
>>>>>>
>>>>>> Helsinki Office
>>>>>> Eteläranta 10
>>>>>> FI-00130 Helsinki
>>>>>> FINLAND
>>>>>>
>>>>>> Turku Office
>>>>>> Kauppiaskatu 5 A
>>>>>> FI-20100 Turku
>>>>>> FINLAND
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Lingsoft - 30 years of Leading Language Management
>>>>>>
>>>>>> www.lingsoft.fi
>>>>>>
>>>>>> Speech Applications - Language Management - Translation - Reader's and Writer's Tools - Text Tools - E-books and M-books
>>>>>>
>>>>>> Mikael Pesonen
>>>>>> System Engineer
>>>>>>
>>>>>> e-mail: mikael.pesonen@lingsoft.fi
>>>>>> Tel. +358 2 279 3300
>>>>>>
>>>>>> Time zone: GMT+2
>>>>>>
>>>>>> Helsinki Office
>>>>>> Eteläranta 10
>>>>>> FI-00130 Helsinki
>>>>>> FINLAND
>>>>>>
>>>>>> Turku Office
>>>>>> Kauppiaskatu 5 A
>>>>>> FI-20100 Turku
>>>>>> FINLAND
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Lingsoft - 30 years of Leading Language Management
>>>>>>
>>>>>> www.lingsoft.fi
>>>>>>
>>>>>> Speech Applications - Language Management - Translation - Reader's and Writer's Tools - Text Tools - E-books and M-books
>>>>>>
>>>>>> Mikael Pesonen
>>>>>> System Engineer
>>>>>>
>>>>>> e-mail: mikael.pesonen@lingsoft.fi
>>>>>> Tel. +358 2 279 3300
>>>>>>
>>>>>> Time zone: GMT+2
>>>>>>
>>>>>> Helsinki Office
>>>>>> Eteläranta 10
>>>>>> FI-00130 Helsinki
>>>>>> FINLAND
>>>>>>
>>>>>> Turku Office
>>>>>> Kauppiaskatu 5 A
>>>>>> FI-20100 Turku
>>>>>> FINLAND
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Lingsoft - 30 years of Leading Language Management
>>>>>>
>>>>>> www.lingsoft.fi
>>>>>>
>>>>>> Speech Applications - Language Management - Translation - Reader's and Writer's Tools - Text Tools - E-books and M-books
>>>>>>
>>>>>> Mikael Pesonen
>>>>>> System Engineer
>>>>>>
>>>>>> e-mail: mikael.pesonen@lingsoft.fi
>>>>>> Tel. +358 2 279 3300
>>>>>>
>>>>>> Time zone: GMT+2
>>>>>>
>>>>>> Helsinki Office
>>>>>> Eteläranta 10
>>>>>> FI-00130 Helsinki
>>>>>> FINLAND
>>>>>>
>>>>>> Turku Office
>>>>>> Kauppiaskatu 5 A
>>>>>> FI-20100 Turku
>>>>>> FINLAND
>>>> --
>>>> Lingsoft - 30 years of Leading Language Management
>>>>
>>>> www.lingsoft.fi
>>>>
>>>> Speech Applications - Language Management - Translation - Reader's and Writer's Tools - Text Tools - E-books and M-books
>>>>
>>>> Mikael Pesonen
>>>> System Engineer
>>>>
>>>> e-mail: mikael.pesonen@lingsoft.fi
>>>> Tel. +358 2 279 3300
>>>>
>>>> Time zone: GMT+2
>>>>
>>>> Helsinki Office
>>>> Eteläranta 10
>>>> FI-00130 Helsinki
>>>> FINLAND
>>>>
>>>> Turku Office
>>>> Kauppiaskatu 5 A
>>>> FI-20100 Turku
>>>> FINLAND
>>>>
>>>>
>> --
>> Lingsoft - 30 years of Leading Language Management
>>
>> www.lingsoft.fi
>>
>> Speech Applications - Language Management - Translation - Reader's and Writer's Tools - Text Tools - E-books and M-books
>>
>> Mikael Pesonen
>> System Engineer
>>
>> e-mail: mikael.pesonen@lingsoft.fi
>> Tel. +358 2 279 3300
>>
>> Time zone: GMT+2
>>
>> Helsinki Office
>> Eteläranta 10
>> FI-00130 Helsinki
>> FINLAND
>>
>> Turku Office
>> Kauppiaskatu 5 A
>> FI-20100 Turku
>> FINLAND
>>
>>

-- 
Lingsoft - 30 years of Leading Language Management

www.lingsoft.fi

Speech Applications - Language Management - Translation - Reader's and Writer's Tools - Text Tools - E-books and M-books

Mikael Pesonen
System Engineer

e-mail: mikael.pesonen@lingsoft.fi
Tel. +358 2 279 3300

Time zone: GMT+2

Helsinki Office
Eteläranta 10
FI-00130 Helsinki
FINLAND

Turku Office
Kauppiaskatu 5 A
FI-20100 Turku
FINLAND

Received on Tuesday, 1 October 2019 09:48:01 UTC