首页 > 解决方案 > GraphDB 自定义规则集编译失败:代码太大

问题描述

我在 GraphDB 的一个存储库中使用自定义规则集,但是当我尝试创建存储库时,出现以下错误:

Caused by: com.ontotext.trree.rules.RuleCompilerException: code too large

(请参阅下面的完整错误日志)。

这是否意味着规则文件中允许的行数有限制?

org.eclipse.rdf4j.http.server.ServerHTTPException: org.eclipse.rdf4j.repository.RepositoryException: org.eclipse.rdf4j.sail.SailException: Invalid rule set: /opt/graphdb/home/rules/rules-ontology-processor.pie
    at org.eclipse.rdf4j.http.server.repository.RepositoryInterceptor.setRequestAttributes(RepositoryInterceptor.java:113)
    at org.eclipse.rdf4j.http.server.ServerInterceptor.preHandle(ServerInterceptor.java:32)
    at org.eclipse.rdf4j.http.server.repository.RepositoryInterceptor.preHandle(RepositoryInterceptor.java:82)
    at com.ontotext.forest.sesame.ForestRepositoryInterceptor.preHandle(ForestRepositoryInterceptor.java:32)
    at com.ontotext.forest.sesame.ForestRepositoryInterceptor$$FastClassBySpringCGLIB$$d99bcd9f.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
    at com.ontotext.forest.sesame.ForestRepositoryInterceptor$$EnhancerBySpringCGLIB$$f80e69e5.preHandle(<generated>)
    at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:151)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1035)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    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)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
    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:119)
    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:358)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
    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:202)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
    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:346)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: org.eclipse.rdf4j.repository.RepositoryException: org.eclipse.rdf4j.sail.SailException: Invalid rule set: /opt/graphdb/home/rules/rules-ontology-processor.pie
    at org.eclipse.rdf4j.repository.sail.SailRepository.initializeInternal(SailRepository.java:153)
    at org.eclipse.rdf4j.repository.base.AbstractRepository.init(AbstractRepository.java:39)
    at org.eclipse.rdf4j.repository.manager.LocalRepositoryManager.createRepository(LocalRepositoryManager.java:258)
    at com.ontotext.graphdb.GraphDBRepositoryManager.createRepository(GraphDBRepositoryManager.java:380)
    at com.ontotext.graphdb.GraphDBRepositoryManager$FutureRepository.lambda$new$0(GraphDBRepositoryManager.java:75)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at com.ontotext.graphdb.GraphDBRepositoryManager.awaitFutureRepository(GraphDBRepositoryManager.java:795)
    at com.ontotext.graphdb.GraphDBRepositoryManager.getRepository(GraphDBRepositoryManager.java:372)
    at org.eclipse.rdf4j.http.server.repository.RepositoryInterceptor.setRequestAttributes(RepositoryInterceptor.java:105)
    ... 56 common frames omitted
Caused by: org.eclipse.rdf4j.sail.SailException: org.eclipse.rdf4j.sail.SailException: Invalid rule set: /opt/graphdb/home/rules/rules-ontology-processor.pie
    at com.ontotext.trree.OwlimSchemaRepository.initializeInternal(OwlimSchemaRepository.java:326)
    at org.eclipse.rdf4j.sail.helpers.AbstractSail.init(AbstractSail.java:190)
    at org.eclipse.rdf4j.repository.sail.SailRepository.initializeInternal(SailRepository.java:146)
    ... 64 common frames omitted
Caused by: org.eclipse.rdf4j.sail.SailException: Invalid rule set: /opt/graphdb/home/rules/rules-ontology-processor.pie
    at com.ontotext.trree.OwlimSchemaRepository.createInferencer(OwlimSchemaRepository.java:1566)
    at com.ontotext.trree.OwlimSchemaRepository.initializeInternal(OwlimSchemaRepository.java:207)
    ... 66 common frames omitted
Caused by: com.ontotext.trree.rules.RuleCompilerException: code too large
    at com.ontotext.trree.rules.RuntimeInferencerCompilerBase.compileSource(RuntimeInferencerCompilerBase.java:79)
    at com.ontotext.trree.rules.RuntimeInferencerCompiler.compileInferencer(RuntimeInferencerCompiler.java:57)
    at com.ontotext.trree.OwlimSchemaRepository.createInferencer(OwlimSchemaRepository.java:1561)
    ... 67 common frames omitted

标签: graphdb

解决方案


推荐阅读