Sorry, I accidentally hit Send button before I finished my email...

Here is the complete one
---------- Forwarded message ----------
From: Xingmin Zhang <[email protected]>
Date: Mon, Feb 26, 2018 at 8:32 AM
Subject: Jena not working from Jar file
To: [email protected]


Hi all,

I used Jena to load an .owl ontology to the default model for Sparql query
and it works well from IntelliJ IDE, however, the Jar file built from the
source code has a problem initiating Jena.

Here is the function that has issues

protected Model call() throws Exception {

    logger.trace("enter function to build ontology model for Sparql query");

    org.apache.jena.rdf.model.Model model = ModelFactory.createDefaultModel();

    logger.info("default ontology model created");
    try {
        logger.trace("start reading hpo");
        InputStream in = FileManager.get().open(pathToOntology);
        model.read(in, null);
    } catch (JenaException je) {
        logger.error("cannot open hpo.owl");
    }
    logger.trace("exit function to build ontology model for Sparql query.");
    return model;

}

You can see that from my IDE, the loggers indicates that the function
completes running successfully.

>From IDE:

[Thread-6] TRACE (OntologyModelBuilderForJena.java:36) - enter
function to build ontology model for Sparql query
[Thread-6] DEBUG (JenaSystem.java:212) - Jena initialization[Thread-6]
TRACE (SystemUtils.java:37) - Using thread classloader
[Thread-6] DEBUG (FileManager.java:158) - Add location: LocatorFile
[Thread-6] DEBUG (FileManager.java:158) - Add location: ClassLoaderLocator
[Thread-6] TRACE (LocatorFile.java:112) - Not found: file:location-mapping.rdf
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:location-mapping.rdf
[Thread-6] TRACE (LocatorFile.java:112) - Not found: file:location-mapping.n3
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:location-mapping.n3
[Thread-6] TRACE (LocatorFile.java:112) - Not found: file:location-mapping.ttl
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:location-mapping.ttl
[Thread-6] TRACE (LocatorFile.java:112) - Not found:
file:etc/location-mapping.rdf
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:etc/location-mapping.rdf
[Thread-6] TRACE (LocatorFile.java:112) - Not found:
file:etc/location-mapping.n3
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:etc/location-mapping.n3
[Thread-6] TRACE (LocatorFile.java:112) - Not found:
file:etc/location-mapping.ttl
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:etc/location-mapping.ttl
[Thread-6] DEBUG (LocationMapper.java: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
[Thread-6] DEBUG (FileManager.java:158) - Add location: LocatorFile
[Thread-6] DEBUG (FileManager.java:158) - Add location: LocatorURL
[Thread-6] DEBUG (FileManager.java:158) - Add location: ClassLoaderLocator
[Thread-6] TRACE (LocatorFile.java:159) - Not found: location-mapping.ttl
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
location-mapping.ttl
[Thread-6] TRACE (LocatorFile.java:159) - Not found: location-mapping.rdf
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
location-mapping.rdf
[Thread-6] TRACE (LocatorFile.java:159) - Not found: location-mapping.n3
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
location-mapping.n3
[Thread-6] TRACE (LocatorFile.java:159) - Not found: etc/location-mapping.rdf
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
etc/location-mapping.rdf
[Thread-6] TRACE (LocatorFile.java:159) - Not found: etc/location-mapping.n3
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
etc/location-mapping.n3
[Thread-6] TRACE (LocatorFile.java:159) - Not found: etc/location-mapping.ttl
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
etc/location-mapping.ttl
[Thread-6] DEBUG (JenaIOEnvironment.java:180) - Failed to find
configuration: 
location-mapping.ttl;location-mapping.rdf;location-mapping.n3;etc/location-mapping.rdf;etc/location-mapping.n3;etc/location-mapping.ttl
[Thread-6] DEBUG (SystemTDB.java:334) - System architecture: 64 bit
[Thread-6] DEBUG (SystemTDB.java:330) - System architecture: 64 bit
[Thread-6] INFO  (OntologyModelBuilderForJena.java:51) - default
ontology model created
[Thread-6] TRACE (OntologyModelBuilderForJena.java:53) - start reading hpo
[Thread-6] DEBUG (StreamManager.java:121) -
open(/Users/zhangx/.loinc2hpo/hp.owl)
[Thread-6] DEBUG (StreamManager.java:140) - Not mapped:
/Users/zhangx/.loinc2hpo/hp.owl
[Thread-6] TRACE (LocatorFile.java:171) - Found: /Users/zhangx/.loinc2hpo/hp.owl
[Thread-6] DEBUG (StreamManager.java:170) - Found:
/Users/zhangx/.loinc2hpo/hp.owl (LocatorFile)
[Thread-6] TRACE (OntologyModelBuilderForJena.java:59) - exit function
to build ontology model for Sparql query.

However, when I start from the Jar file, it enters the functions and fails
(the cyan-colored messages above are missing here).

[Thread-6] TRACE (OntologyModelBuilderForJena.java:29) - enter
function to build ontology model for Sparql query
[Thread-6] DEBUG (JenaSystem.java:212) - Jena initialization
[Thread-6] DEBUG (SystemTDB.java:334) - System architecture: 64 bit

In my desperation to solve this issue, I actually added a few lines that I
don't think is helpful but is interesting :


protected Model call() throws Exception {

    logger.trace("enter function to build ontology model for Sparql query");
    LocationMapper locationMapper = new LocationMapper();

    logger.trace("location map is set");
    
FileManager.get().addLocatorClassLoader(OntologyModelBuilderForJena.class.getClassLoader());
    logger.trace("locator is set");

org.apache.jena.rdf.model.Model model = ModelFactory.createDefaultModel();
logger.info("default ontology model created");
try {
logger.trace("start reading hpo");
InputStream in = FileManager.get().open(pathToOntology);
model.read(in, null);
} catch (JenaException je) {
logger.error("cannot open hpo.owl");
}
logger.trace("exit function to build ontology model for Sparql query.");
return model;
}

Those lines also run ok from IDE.

[Thread-6] TRACE (OntologyModelBuilderForJena.java:36) - enter
function to build ontology model for Sparql query
[Thread-6] TRACE (OntologyModelBuilderForJena.java:40) - location map is set
[Thread-6] DEBUG (JenaSystem.java:212) - Jena initialization
[Thread-6] TRACE (SystemUtils.java:37) - Using thread classloader
[Thread-6] DEBUG (FileManager.java:158) - Add location: LocatorFile
[Thread-6] DEBUG (FileManager.java:158) - Add location: ClassLoaderLocator
[Thread-6] TRACE (LocatorFile.java:112) - Not found: file:location-mapping.rdf
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:location-mapping.rdf
[Thread-6] TRACE (LocatorFile.java:112) - Not found: file:location-mapping.n3
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:location-mapping.n3
[Thread-6] TRACE (LocatorFile.java:112) - Not found: file:location-mapping.ttl
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:location-mapping.ttl
[Thread-6] TRACE (LocatorFile.java:112) - Not found:
file:etc/location-mapping.rdf
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:etc/location-mapping.rdf
[Thread-6] TRACE (LocatorFile.java:112) - Not found:
file:etc/location-mapping.n3
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:etc/location-mapping.n3
[Thread-6] TRACE (LocatorFile.java:112) - Not found:
file:etc/location-mapping.ttl
[Thread-6] TRACE (LocatorClassLoader.java:67) - Failed to open:
file:etc/location-mapping.ttl
[Thread-6] DEBUG (LocationMapper.java: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
[Thread-6] DEBUG (FileManager.java:158) - Add location: LocatorFile
[Thread-6] DEBUG (FileManager.java:158) - Add location: LocatorURL
[Thread-6] DEBUG (FileManager.java:158) - Add location: ClassLoaderLocator
[Thread-6] TRACE (LocatorFile.java:159) - Not found: location-mapping.ttl
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
location-mapping.ttl
[Thread-6] TRACE (LocatorFile.java:159) - Not found: location-mapping.rdf
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
location-mapping.rdf
[Thread-6] TRACE (LocatorFile.java:159) - Not found: location-mapping.n3
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
location-mapping.n3
[Thread-6] TRACE (LocatorFile.java:159) - Not found: etc/location-mapping.rdf
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
etc/location-mapping.rdf
[Thread-6] TRACE (LocatorFile.java:159) - Not found: etc/location-mapping.n3
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
etc/location-mapping.n3
[Thread-6] TRACE (LocatorFile.java:159) - Not found: etc/location-mapping.ttl
[Thread-6] TRACE (LocatorClassLoader.java:65) - Failed to open:
etc/location-mapping.ttl
[Thread-6] DEBUG (JenaIOEnvironment.java:180) - Failed to find
configuration: 
location-mapping.ttl;location-mapping.rdf;location-mapping.n3;etc/location-mapping.rdf;etc/location-mapping.n3;etc/location-mapping.ttl
[Thread-6] DEBUG (SystemTDB.java:334) - System architecture: 64 bit
[Thread-6] DEBUG (SystemTDB.java:330) - System architecture: 64 bit
[Thread-6] TRACE (OntologyModelBuilderForJena.java:42) - locator is set
[Thread-6] INFO  (OntologyModelBuilderForJena.java:51) - default
ontology model created
[Thread-6] TRACE (OntologyModelBuilderForJena.java:53) - start reading hpo
[Thread-6] DEBUG (StreamManager.java:121) -
open(/Users/zhangx/.loinc2hpo/hp.owl)
[Thread-6] DEBUG (StreamManager.java:140) - Not mapped:
/Users/zhangx/.loinc2hpo/hp.owl
[Thread-6] TRACE (LocatorFile.java:171) - Found: /Users/zhangx/.loinc2hpo/hp.owl
[Thread-6] DEBUG (StreamManager.java:170) - Found:
/Users/zhangx/.loinc2hpo/hp.owl (LocatorFile)
[Thread-6] TRACE (OntologyModelBuilderForJena.java:59) - exit function
to build ontology model for Sparql query.

But again, they don't work from Jar. However, it is interesting to me that
it appears to say that nothing from Jena is working from the Jar because
even this line is not working.

LocationMapper locationMapper = new LocationMapper();

[Thread-6] TRACE (OntologyModelBuilderForJena.java:29) - enter
function to build ontology model for Sparql query
[Thread-6] DEBUG (JenaSystem.java:212) - Jena initialization
[Thread-6] DEBUG (SystemTDB.java:334) - System architecture: 64 bit

So the only thing I can think of is whether I have everything necessary for
Jena packed into Jar. I used this dependency for Jena in my pom file, is
there anything wrong with it, and what other possibilities are for my
issue?  Thank you for your time!

<dependency>
    <groupId>org.apache.jena</groupId>
    <artifactId>apache-jena-libs</artifactId>
    <type>pom</type>
    <version>3.6.0</version>
</dependency>


Best,
Xingmin Zhang
-- 




--

Reply via email to