Giter VIP home page Giter VIP logo

graphdb-free's Introduction

๐Ÿ‘‹ Hi, I am Kevin

I am a software developer at deepsearch, and I am passionate about knowledge graphs.

๐Ÿ”ญ Hobby Projects

KG-based recommendations

Together with Eleni Ilkou, I am working on a KG-based recommendation engine for an e-learning platform, on which students collaborate in groups for a project. Using named entity recognition on the search queries of students and their group members, we aim to infer their current interests and provide good query suggestions. Related repositories are:

Repositories will be published later after the paper gets accepted.

Exploratory Search System (inactive)

I was working on an exploratory search system which can be applied to any RDF-based knowledge graph that is aligned to a rich ontology. This system provides an adaptive user interface with different search paradigms such as full-text search, tree views and faceted navigation. You can see my workshop paper for details: Enabling Exploratory Search on Manufacturing Knowledge Graphs | (Slides).

  • khaller93/es-middleware - Middleware offering exploratory search services for a general knowledge graph over a HTTP+JSON API.
  • khaller93/es-web-app - Single-page web application providing an user interface for exploring knowledge graphs in a human-friendly manner.

๐Ÿ“ซ My online presence

graphdb-free's People

Contributors

khaller93 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

culturecreates

graphdb-free's Issues

Java Compiler Not Found Exception on Rule Insert

When trying to submit any falid rule via GraphDB-Sparql-Editor, e.g.

prefix sys: <http://www.ontotext.com/owlim/system#>
INSERT DATA {
    <_:custom> sys:addRuleset
        '''Prefices {
				rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
			}
           Axioms {}
           Rules
           {
           	Id: firstRule
           		e	a	c
            	-------------------------------
				e <rdf:type> c
           }'''
}

GraphDB throws a Compiler not found exception.

The below stack trace from the graphdb error logs suggests that this Exception is thrown when committing a rule via rdf4j SAIL.

This does not happen in on the GraphDB-Free version 10.0.0 when run without docker, but only using this docker image (tested with image versions 9.11.0 and 10.0.0).
Any idea why this happens?

[ERROR] 2022-08-18 13:32:16,447 [repositories/repo | c.o.t.SailConnectionImpl] Transaction failed. Commit will be rolled back.
java.lang.RuntimeException: java.lang.RuntimeException: Java compiler not found!
        at com.ontotext.trree.SwitchableInferencer.addRuleset(SwitchableInferencer.java:216)
        at com.ontotext.trree.SwitchableInferencerTransactionState.addRuleset(SwitchableInferencerTransactionState.java:327)
        at com.ontotext.trree.SwitchableInferencerTransactionState.manipulateRuleset(SwitchableInferencerTransactionState.java:98)
        at com.ontotext.trree.SwitchableInferencerTransactionState.onCommitStart(SwitchableInferencerTransactionState.java:81)
        at com.ontotext.trree.SailConnectionImpl.doActualCommit(SailConnectionImpl.java:817)
        at com.ontotext.trree.SailConnectionImpl.flushInternal(SailConnectionImpl.java:1006)
        at com.ontotext.trree.SailConnectionImpl.flush(SailConnectionImpl.java:2880)
        at org.eclipse.rdf4j.repository.sail.SailRepositoryConnection.commit(SailRepositoryConnection.java:213)
        at com.ontotext.trree.monitorRepository.MonitorRepositoryConnection.commit(MonitorRepositoryConnection.java:302)
        at org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection.conditionalCommit(AbstractRepositoryConnection.java:326)
        at com.ontotext.trree.monitorRepository.MonitorRepositoryConnection.access$100(MonitorRepositoryConnection.java:76)
        at com.ontotext.trree.monitorRepository.MonitorRepositoryConnection$1.execute(MonitorRepositoryConnection.java:466)
        at org.eclipse.rdf4j.http.server.repository.statements.StatementsController.getSparqlUpdateResult(StatementsController.java:257)
        at org.eclipse.rdf4j.http.server.repository.statements.StatementsController.handleRequestInternal(StatementsController.java:115)
        at com.ontotext.graphdb.sesame.StatementsController.handleRequestInternal(StatementsController.java:67)
        at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177)
        at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:51)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

...skipping 1 line
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at com.github.ziplet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:263)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at com.ontotext.forest.security.AdminDelegatingFilterProxy.doFilter(AdminDelegatingFilterProxy.java:84)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at com.ontotext.forest.clusterproxy.ClusterFilterBean.doFilter(ClusterFilterBean.java:70)
        at com.ontotext.forest.clusterproxy.ClusterLoadBalancerFilter.doFilterInternal(ClusterLoadBalancerFilter.java:28)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)

...skipping 1 line
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: Java compiler not found!
        at com.ontotext.trree.rules.RuntimeInferencerCompilerBase.compileSource(RuntimeInferencerCompilerBase.java:56)
        at com.ontotext.trree.SwitchableInferencer.addRuleset(SwitchableInferencer.java:214)
        ... 62 common frames omitted
[ERROR] 2022-08-18 13:32:16,552 [repositories/repo | c.o.f.s.GraphDBProtocolExceptionResolver] Error while handling request (500)
org.eclipse.rdf4j.http.server.ServerHTTPException: org.eclipse.rdf4j.repository.RepositoryException: org.eclipse.rdf4j.sail.SailException: java.lang.RuntimeException: java.lang.RuntimeException: Java compiler not found!
        at org.eclipse.rdf4j.http.server.repository.statements.StatementsController.getSparqlUpdateResult(StatementsController.java:269)
        at org.eclipse.rdf4j.http.server.repository.statements.StatementsController.handleRequestInternal(StatementsController.java:115)
        at com.ontotext.graphdb.sesame.StatementsController.handleRequestInternal(StatementsController.java:67)
        at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177)
        at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:51)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at com.ontotext.forest.core.request.RequestFilter.doFilterInternal(RequestFilter.java:47)

...skipping 1 line
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at com.github.ziplet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:263)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at com.ontotext.forest.security.AdminDelegatingFilterProxy.doFilter(AdminDelegatingFilterProxy.java:84)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at com.ontotext.forest.clusterproxy.ClusterFilterBean.doFilter(ClusterFilterBean.java:70)
        at com.ontotext.forest.clusterproxy.ClusterLoadBalancerFilter.doFilterInternal(ClusterLoadBalancerFilter.java:28)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)

...skipping 1 line
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.eclipse.rdf4j.repository.RepositoryException: org.eclipse.rdf4j.sail.SailException: java.lang.RuntimeException: java.lang.RuntimeException: Java compiler not found!
        at org.eclipse.rdf4j.repository.sail.SailRepositoryConnection.commit(SailRepositoryConnection.java:217)
        at com.ontotext.trree.monitorRepository.MonitorRepositoryConnection.commit(MonitorRepositoryConnection.java:302)
        at org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection.conditionalCommit(AbstractRepositoryConnection.java:326)
        at com.ontotext.trree.monitorRepository.MonitorRepositoryConnection.access$100(MonitorRepositoryConnection.java:76)
        at com.ontotext.trree.monitorRepository.MonitorRepositoryConnection$1.execute(MonitorRepositoryConnection.java:466)
        at org.eclipse.rdf4j.http.server.repository.statements.StatementsController.getSparqlUpdateResult(StatementsController.java:257)
        ... 50 common frames omitted
Caused by: org.eclipse.rdf4j.sail.SailException: java.lang.RuntimeException: java.lang.RuntimeException: Java compiler not found!
        at com.ontotext.trree.SailConnectionImpl.handleTransactionFailure(SailConnectionImpl.java:1479)
        at com.ontotext.trree.SailConnectionImpl$CommitContext.handleFailure(SailConnectionImpl.java:692)
        at com.ontotext.trree.SailConnectionImpl.flush(SailConnectionImpl.java:2883)
        at org.eclipse.rdf4j.repository.sail.SailRepositoryConnection.commit(SailRepositoryConnection.java:213)
        ... 55 common frames omitted
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Java compiler not found!
        at com.ontotext.trree.SwitchableInferencer.addRuleset(SwitchableInferencer.java:216)
        at com.ontotext.trree.SwitchableInferencerTransactionState.addRuleset(SwitchableInferencerTransactionState.java:327)
        at com.ontotext.trree.SwitchableInferencerTransactionState.manipulateRuleset(SwitchableInferencerTransactionState.java:98)
        at com.ontotext.trree.SwitchableInferencerTransactionState.onCommitStart(SwitchableInferencerTransactionState.java:81)
        at com.ontotext.trree.SailConnectionImpl.doActualCommit(SailConnectionImpl.java:817)
        at com.ontotext.trree.SailConnectionImpl.flushInternal(SailConnectionImpl.java:1006)
        at com.ontotext.trree.SailConnectionImpl.flush(SailConnectionImpl.java:2880)

...skipping 1 line
Caused by: java.lang.RuntimeException: Java compiler not found!
        at com.ontotext.trree.rules.RuntimeInferencerCompilerBase.compileSource(RuntimeInferencerCompilerBase.java:56)
        at com.ontotext.trree.SwitchableInferencer.addRuleset(SwitchableInferencer.java:214)
        ... 62 common frames omitted

Java Compiler Not Found Exception with 9.11.2

Dear Author,

First of all, thank you for the nice work for providing all these docker files! :)

I am having issues with adding any data, even from the GraphDB UI, to the container 9.11.2. The issue again is the lack of Java Compiler, addressed somehow with the addition of a full JDK, but somehow this does not work with 9.11.2. It works fine with 9.10.3 though. Could you please help me? Probably it is fine on github, just not there on docker hub, or this is the assumption we have now.

Thank you!
Thomas

Rootless execution with non-existing toLoad folder fails

When executing the container with a different user (other than root), then the execution fails with a permission error.

db_1  | [REPO INIT] Warning: Couldn't find data to load for '/repository.init/pokemon'. 'toLoad' is missing.
db_1  | [REPO INIT] Warning: Couldn't create temporary folder '/tmp/graphdb/toLoad': mkdir /tmp/graphdb/toLoad: permission denied
db_1  | File: '/tmp/graphdb/toLoad' does not exist.
db_1  | Usage: importrdf load [-fhpsv] [-m <serial|parallel>] (-c <file> | -i
db_1  |                       <repository-id>) FILE...

Reproduce by:

  1. Creating a repository folder with a config file, but have no data to load. Hence, the toLoad directory is missing.
  2. Run the container with this setting as a non-root user. GDB_USER is not set too root.
  3. Get a permission error.

toLoad folder isn't optional anymore in v1.4.0

If a repository shall be initialized without having data to preload in toLoad, then an error will be thrown.

db_1  | [REPO INIT] ----- CHECK /repository.init/pokemon. -----
db_1  | [REPO INIT] Warning: Could not find data to load for '/repository.init/pokemon'. 'toLoad' is missing.
db_1  | WARNING: Unknown module: jdk.management.agent specified to --add-exports
db_1  | Missing required parameter: 'FILE'
db_1  | Usage: importrdf load [-fhpsv] [-m <serial|parallel>] (-c <file> | -i
db_1  |                       <repository-id>) FILE...
db_1  | Loads data using an algorithm very similar to the online data loading.
db_1  |       FILE...                Files to be loaded.
db_1  |   -c, --config-file <file>   Repository defining .ttl file.
db_1  |   -f, --force                Whether to overwrite the existing repository.
db_1  |   -h, --help                 Display this message and exit!
db_1  |   -i, --id <repository-id>   ID of an existing repository.
db_1  |   -m, --mode <serial|parallel>
db_1  |                              Singlethreaded (serial) or multithreaded
db_1  |                                (parallel) mode for parse/load/infer.
db_1  |   -p, --partial-load         Whether to allow partial load of file that
db_1  |                                contains corrupt line.
db_1  |   -s, --stop-on-error        Whether to stop process if the dataset contains a
db_1  |                                corrupt file.
db_1  |   -v, --verbose              Whether to print metrics during load.
db_1  | [REPO INIT] Error: Execution of preload command failed. exit status 2

The new tool importrdf for GraphDB version >=10 behaves slightly different then the old tool.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.