Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
Jena 2.7.4, Jena 2.10.0
-
None
-
None
-
Windows, Java 7 x64 apache-jena-2.10.0-20121218.064300-7
Description
schemagen fails with a GC error when run with --inference on a file that contains two classes with property restrictions (in this case cardinality restrictions) on properties that refer between the pair of classes.
Coomenting out the property domains has no effect, but commenting out either on of the property ranges results in output as normal.
The larger vocabulary from which the case is derived also contained datatype definitions which motivated theuse of --inference in order to have the datatypes included in the schemagen output. However the simutaneous presence of property restrictions of this form mean that output cannot be generated without modifying the vocabulary file processed by schemagen.
[ex-restriction.ttl to be attached]
$ which schemagen ; schemagen -a http://example.org/def/ex/ -i ex-restriction.ttl --owl --inference
/jena/apache-jena-2.10.0-SNAPSHOT/bin/schemagen
/* CVS $Id: $ */
import com.hp.hpl.jena.rdf.model.*;
/**
- Vocabulary definitions from ex-restriction.ttl
- @author Auto-generated by schemagen on 18 Dec 2012 11:56
*/
public class Ex_restriction {
/** <p>The RDF model that holds the vocabulary terms</p> */
private static Model m_model = ModelFactory.createDefaultModel();
/** <p>The namespace of the vocabulary as a string</p> */
public static final String NS = "http://example.org/def/ex/";
/** <p>The namespace of the vocabulary as a string</p>
- @see #NS */
public static String getURI() {return NS;}
/** <p>The namespace of the vocabulary as a resource</p> */
public static final Resource NAMESPACE = m_model.createResource( NS );
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.HashMap.createEntry(HashMap.java:869)
at java.util.HashMap.addEntry(HashMap.java:856)
at java.util.HashMap.put(HashMap.java:484)
at com.hp.hpl.jena.reasoner.rulesys.impl.TempNodeCache.getTemp(TempNodeCache.java:86)
at com.hp.hpl.jena.reasoner.rulesys.FBRuleInfGraph.getTemp(FBRuleInfGraph.java:351)
at com.hp.hpl.jena.reasoner.rulesys.impl.BBRuleContext.getTemp(BBRuleContext.java:156)
at com.hp.hpl.jena.reasoner.rulesys.builtins.MakeInstance.bodyCall(MakeInstance.java:70)
at com.hp.hpl.jena.reasoner.rulesys.impl.LPInterpreter.run(LPInterpreter.java:624)
at com.hp.hpl.jena.reasoner.rulesys.impl.LPInterpreter.next(LPInterpreter.java:195)
at com.hp.hpl.jena.reasoner.rulesys.impl.Generator.pump(Generator.java:253)
at com.hp.hpl.jena.reasoner.rulesys.impl.ConsumerChoicePointFrame.pump(ConsumerChoicePointFrame.java:181)
at com.hp.hpl.jena.reasoner.rulesys.impl.LPBRuleEngine.pump(LPBRuleEngine.java:311)
at com.hp.hpl.jena.reasoner.rulesys.impl.LPTopGoalIterator.moveForward(LPTopGoalIterator.java:112)
at com.hp.hpl.jena.reasoner.rulesys.impl.LPTopGoalIterator.hasNext(LPTopGoalIterator.java:225)
at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java:76)
at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java:76)
at com.hp.hpl.jena.util.iterator.UniqueExtendedIterator.hasNext(UniqueExtendedIterator.java:77)
at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java:76)
at com.hp.hpl.jena.util.iterator.FilterIterator.hasNext(FilterIterator.java:55)
at com.hp.hpl.jena.util.iterator.Map1Iterator.hasNext(Map1Iterator.java:49)
at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java:76)
at jena.schemagen.writeRDFProperties(schemagen.java:928)
at jena.schemagen.writeProperties(schemagen.java:874)
at jena.schemagen.processInput(schemagen.java:205)
at jena.schemagen.go(schemagen.java:191)
at jena.schemagen.go(schemagen.java:176)
at jena.schemagen.main(schemagen.java:156)