├── .classpath
├── .project
├── .settings
├── org.eclipse.core.resources.prefs
├── org.eclipse.jdt.core.prefs
└── org.eclipse.m2e.core.prefs
├── README.txt
├── examples
├── ontologies
│ ├── pizza.fss.owl
│ └── pizza.owl
└── org
│ └── semanticweb
│ └── HermiT
│ └── examples
│ ├── ChangeFormat.java
│ ├── EntailmentChecking.java
│ ├── Explanations.java
│ ├── HermiTConfigurations.java
│ ├── HermiTDebugger.java
│ ├── HierarchyPrettyPrinting.java
│ └── MaterialiseInferences.java
├── gpl-3.0.txt
├── known-test-failures.txt
├── lgpl-3.0.txt
├── lib
├── jautomata-core-2.0-alpha-1.jar
└── jautomata.LICENSE
├── nightlybuild.sh
├── pom.xml
├── rmOldNightlyBuilds.sh
├── src
├── assembly
│ ├── cli-assembly.xml
│ ├── protege-assembly.xml
│ └── source-assembly.xml
├── main
│ ├── java
│ │ └── org
│ │ │ └── semanticweb
│ │ │ └── HermiT
│ │ │ ├── Configuration.java
│ │ │ ├── EntailmentChecker.java
│ │ │ ├── Prefixes.java
│ │ │ ├── ProtegeReasonerFactory.java
│ │ │ ├── Reasoner.java
│ │ │ ├── blocking
│ │ │ ├── AncestorBlocking.java
│ │ │ ├── AnywhereBlocking.java
│ │ │ ├── AnywhereValidatedBlocking.java
│ │ │ ├── BlockingSignature.java
│ │ │ ├── BlockingSignatureCache.java
│ │ │ ├── BlockingStrategy.java
│ │ │ ├── BlockingValidator.java
│ │ │ ├── DirectBlockingChecker.java
│ │ │ ├── PairWiseDirectBlockingChecker.java
│ │ │ ├── SetFactory.java
│ │ │ ├── SingleDirectBlockingChecker.java
│ │ │ ├── ValidatedPairwiseDirectBlockingChecker.java
│ │ │ └── ValidatedSingleDirectBlockingChecker.java
│ │ │ ├── cli
│ │ │ └── CommandLine.java
│ │ │ ├── datalog
│ │ │ ├── ConjunctiveQuery.java
│ │ │ ├── DatalogEngine.java
│ │ │ └── QueryResultCollector.java
│ │ │ ├── datatypes
│ │ │ ├── DatatypeChecker.java
│ │ │ ├── DatatypeHandler.java
│ │ │ ├── DatatypeRegistry.java
│ │ │ ├── MalformedLiteralException.java
│ │ │ ├── UnsupportedDatatypeException.java
│ │ │ ├── UnsupportedFacetException.java
│ │ │ ├── ValueSpaceSubset.java
│ │ │ ├── anyuri
│ │ │ │ ├── AnyURIDatatypeHandler.java
│ │ │ │ └── AnyURIValueSpaceSubset.java
│ │ │ ├── binarydata
│ │ │ │ ├── Base64.java
│ │ │ │ ├── BinaryData.java
│ │ │ │ ├── BinaryDataDatatypeHandler.java
│ │ │ │ ├── BinaryDataLengthInterval.java
│ │ │ │ ├── BinaryDataType.java
│ │ │ │ └── BinaryDataValueSpaceSubset.java
│ │ │ ├── bool
│ │ │ │ └── BooleanDatatypeHandler.java
│ │ │ ├── datetime
│ │ │ │ ├── BoundType.java
│ │ │ │ ├── DateTime.java
│ │ │ │ ├── DateTimeDatatypeHandler.java
│ │ │ │ ├── DateTimeInterval.java
│ │ │ │ ├── DateTimeValueSpaceSubset.java
│ │ │ │ └── IntervalType.java
│ │ │ ├── doublenum
│ │ │ │ ├── DoubleDatatypeHandler.java
│ │ │ │ ├── DoubleInterval.java
│ │ │ │ ├── EmptyDoubleSubset.java
│ │ │ │ ├── EntireDoubleSubset.java
│ │ │ │ └── NoNaNDoubleSubset.java
│ │ │ ├── floatnum
│ │ │ │ ├── EmptyFloatSubset.java
│ │ │ │ ├── EntireFloatSubset.java
│ │ │ │ ├── FloatDatatypeHandler.java
│ │ │ │ ├── FloatInterval.java
│ │ │ │ └── NoNaNFloatSubset.java
│ │ │ ├── owlreal
│ │ │ │ ├── BigRational.java
│ │ │ │ ├── BoundType.java
│ │ │ │ ├── MinusInfinity.java
│ │ │ │ ├── NumberInterval.java
│ │ │ │ ├── NumberRange.java
│ │ │ │ ├── Numbers.java
│ │ │ │ ├── OWLRealDatatypeHandler.java
│ │ │ │ ├── OWLRealValueSpaceSubset.java
│ │ │ │ └── PlusInfinity.java
│ │ │ ├── rdfplainliteral
│ │ │ │ ├── RDFPlainLiteralDataValue.java
│ │ │ │ ├── RDFPlainLiteralDatatypeHandler.java
│ │ │ │ ├── RDFPlainLiteralLengthInterval.java
│ │ │ │ ├── RDFPlainLiteralLengthValueSpaceSubset.java
│ │ │ │ └── RDFPlainLiteralPatternValueSpaceSubset.java
│ │ │ └── xmlliteral
│ │ │ │ ├── XMLLiteral.java
│ │ │ │ └── XMLLiteralDatatypeHandler.java
│ │ │ ├── debugger
│ │ │ ├── ConsoleTextArea.java
│ │ │ ├── Debugger.java
│ │ │ ├── DerivationHistory.java
│ │ │ ├── DerivationViewer.java
│ │ │ ├── Printing.java
│ │ │ └── commands
│ │ │ │ ├── AbstractCommand.java
│ │ │ │ ├── ActiveNodesCommand.java
│ │ │ │ ├── AgainCommand.java
│ │ │ │ ├── BreakpointTimeCommand.java
│ │ │ │ ├── ClearCommand.java
│ │ │ │ ├── ContinueCommand.java
│ │ │ │ ├── DebuggerCommand.java
│ │ │ │ ├── DerivationTreeCommand.java
│ │ │ │ ├── ExitCommand.java
│ │ │ │ ├── ForeverCommand.java
│ │ │ │ ├── HelpCommand.java
│ │ │ │ ├── HistoryCommand.java
│ │ │ │ ├── IsAncestorOfCommand.java
│ │ │ │ ├── ModelStatsCommand.java
│ │ │ │ ├── NodesForCommand.java
│ │ │ │ ├── OriginStatsCommand.java
│ │ │ │ ├── QueryCommand.java
│ │ │ │ ├── ReuseNodeForCommand.java
│ │ │ │ ├── ShowDLClausesCommand.java
│ │ │ │ ├── ShowDescriptionGraphCommand.java
│ │ │ │ ├── ShowExistsCommand.java
│ │ │ │ ├── ShowModelCommand.java
│ │ │ │ ├── ShowNodeCommand.java
│ │ │ │ ├── ShowSubtreeCommand.java
│ │ │ │ ├── SingleStepCommand.java
│ │ │ │ ├── SubtreeViewer.java
│ │ │ │ ├── UnprocessedDisjunctionsCommand.java
│ │ │ │ └── WaitForCommand.java
│ │ │ ├── existentials
│ │ │ ├── AbstractExpansionStrategy.java
│ │ │ ├── CreationOrderStrategy.java
│ │ │ ├── ExistentialExpansionStrategy.java
│ │ │ └── IndividualReuseStrategy.java
│ │ │ ├── graph
│ │ │ └── Graph.java
│ │ │ ├── hierarchy
│ │ │ ├── AtomicConceptElement.java
│ │ │ ├── ClassificationProgressMonitor.java
│ │ │ ├── DeterministicClassification.java
│ │ │ ├── Hierarchy.java
│ │ │ ├── HierarchyDumperFSS.java
│ │ │ ├── HierarchyNode.java
│ │ │ ├── HierarchyPrinterFSS.java
│ │ │ ├── HierarchySearch.java
│ │ │ ├── InstanceManager.java
│ │ │ ├── QuasiOrderClassification.java
│ │ │ ├── QuasiOrderClassificationForRoles.java
│ │ │ └── RoleElementManager.java
│ │ │ ├── model
│ │ │ ├── AnnotatedEquality.java
│ │ │ ├── AtLeast.java
│ │ │ ├── AtLeastConcept.java
│ │ │ ├── AtLeastDataRange.java
│ │ │ ├── Atom.java
│ │ │ ├── AtomicConcept.java
│ │ │ ├── AtomicDataRange.java
│ │ │ ├── AtomicNegationConcept.java
│ │ │ ├── AtomicNegationDataRange.java
│ │ │ ├── AtomicRole.java
│ │ │ ├── Concept.java
│ │ │ ├── Constant.java
│ │ │ ├── ConstantEnumeration.java
│ │ │ ├── DLClause.java
│ │ │ ├── DLOntology.java
│ │ │ ├── DLPredicate.java
│ │ │ ├── DataRange.java
│ │ │ ├── DatatypeRestriction.java
│ │ │ ├── DescriptionGraph.java
│ │ │ ├── Equality.java
│ │ │ ├── ExistentialConcept.java
│ │ │ ├── ExistsDescriptionGraph.java
│ │ │ ├── Individual.java
│ │ │ ├── Inequality.java
│ │ │ ├── InternalDatatype.java
│ │ │ ├── InterningManager.java
│ │ │ ├── InverseRole.java
│ │ │ ├── LiteralConcept.java
│ │ │ ├── LiteralDataRange.java
│ │ │ ├── NegatedAtomicRole.java
│ │ │ ├── NodeIDLessEqualThan.java
│ │ │ ├── NodeIDsAscendingOrEqual.java
│ │ │ ├── Role.java
│ │ │ ├── Term.java
│ │ │ └── Variable.java
│ │ │ ├── monitor
│ │ │ ├── CountingMonitor.java
│ │ │ ├── MemoryConsumptionMonitor.java
│ │ │ ├── TableauMonitor.java
│ │ │ ├── TableauMonitorAdapter.java
│ │ │ ├── TableauMonitorFork.java
│ │ │ ├── TableauMonitorForwarder.java
│ │ │ ├── Timer.java
│ │ │ └── TimerWithPause.java
│ │ │ ├── structural
│ │ │ ├── BuiltInPropertyManager.java
│ │ │ ├── ExpressionManager.java
│ │ │ ├── OWLAxioms.java
│ │ │ ├── OWLAxiomsExpressivity.java
│ │ │ ├── OWLClausification.java
│ │ │ ├── OWLNormalization.java
│ │ │ ├── ObjectPropertyInclusionManager.java
│ │ │ └── ReducedABoxOnlyClausification.java
│ │ │ └── tableau
│ │ │ ├── BranchingPoint.java
│ │ │ ├── ClashManager.java
│ │ │ ├── DLClauseEvaluator.java
│ │ │ ├── DatatypeManager.java
│ │ │ ├── DependencySet.java
│ │ │ ├── DependencySetFactory.java
│ │ │ ├── DescriptionGraphManager.java
│ │ │ ├── DisjunctionBranchingPoint.java
│ │ │ ├── ExistentialExpansionManager.java
│ │ │ ├── ExtensionManager.java
│ │ │ ├── ExtensionTable.java
│ │ │ ├── ExtensionTableWithFullIndex.java
│ │ │ ├── ExtensionTableWithTupleIndexes.java
│ │ │ ├── GroundDisjunction.java
│ │ │ ├── GroundDisjunctionHeader.java
│ │ │ ├── HyperresolutionManager.java
│ │ │ ├── InterruptCurrentTaskException.java
│ │ │ ├── InterruptFlag.java
│ │ │ ├── MergingManager.java
│ │ │ ├── Node.java
│ │ │ ├── NodeType.java
│ │ │ ├── NominalIntroductionManager.java
│ │ │ ├── PermanentDependencySet.java
│ │ │ ├── ReasoningTaskDescription.java
│ │ │ ├── Tableau.java
│ │ │ ├── TupleIndex.java
│ │ │ ├── TupleTable.java
│ │ │ ├── TupleTableFullIndex.java
│ │ │ └── UnionDependencySet.java
│ └── resources
│ │ └── plugin.xml
└── test
│ ├── java
│ └── org
│ │ └── semanticweb
│ │ └── HermiT
│ │ ├── AbstractHermiTTest.java
│ │ ├── AbstractOntologyTest.java
│ │ ├── AllQuickTests.java
│ │ ├── AllTests.java
│ │ ├── graph
│ │ ├── AllTests.java
│ │ └── GraphTest.java
│ │ ├── owl_wg_tests
│ │ ├── AbstractTest.java
│ │ ├── AllApprovedWGTests.java
│ │ ├── AllExtracreditWGTests.java
│ │ ├── AllNonRejectedNonExtracreditWGTests.java
│ │ ├── AllProposedWGTests.java
│ │ ├── AllWGTests.java
│ │ ├── AllWGTestsWithStatus.java
│ │ ├── AllWGTestsWithoutStatus.java
│ │ ├── ConsistencyTest.java
│ │ ├── EntailmentTest.java
│ │ ├── FailingWGTestDebug.java
│ │ ├── InvalidWGTestException.java
│ │ ├── TstDescriptorForMaven.java
│ │ ├── WGTestDescriptor.java
│ │ └── WGTestRegistry.java
│ │ ├── reasoner
│ │ ├── AbstractReasonerTest.java
│ │ ├── AllHeavyTests.java
│ │ ├── AllQuickTests.java
│ │ ├── AnyURITest.java
│ │ ├── BinaryDataTest.java
│ │ ├── ClassificationIndividualReuseTest.java
│ │ ├── ClassificationTest.java
│ │ ├── ComplexConceptTest.java
│ │ ├── DatalogEngineTest.java
│ │ ├── DatatypesTest.java
│ │ ├── DateTimeTest.java
│ │ ├── EntailmentTest.java
│ │ ├── FloatDoubleTest.java
│ │ ├── NumericsTest.java
│ │ ├── OWLLinkTest.java
│ │ ├── OWLReasonerTest.java
│ │ ├── RDFPlainLiteralTest.java
│ │ ├── RIATest.java
│ │ ├── ReasonerCoreBlockingTest.java
│ │ ├── ReasonerIndividualReuseTest.java
│ │ ├── ReasonerTest.java
│ │ ├── RulesTest.java
│ │ ├── SimpleRolesTest.java
│ │ └── XMLLiteralTest.java
│ │ ├── structural
│ │ ├── AbstractStructuralTest.java
│ │ ├── AllTests.java
│ │ ├── ClausificationDatatypesTest.java
│ │ ├── ClausificationTest.java
│ │ └── NormalizationTest.java
│ │ └── tableau
│ │ ├── AbstractReasonerInternalsTest.java
│ │ ├── AllTests.java
│ │ ├── BlockingValidatorTest.java
│ │ ├── DLClauseEvaluationTest.java
│ │ ├── DependencySetTest.java
│ │ ├── GraphTest.java
│ │ ├── MergeTest.java
│ │ ├── NIRuleTest.java
│ │ ├── TupleIndexTest.java
│ │ └── TupleTableFullIndexTest.java
│ ├── resources
│ └── org
│ │ └── semanticweb
│ │ └── HermiT
│ │ ├── owl_wg_tests
│ │ └── ontologies
│ │ │ ├── all.rdf
│ │ │ ├── consistent001.rdf
│ │ │ ├── consistent002.rdf
│ │ │ ├── support011-A.rdf
│ │ │ └── test-ontology.owl
│ │ ├── reasoner
│ │ └── res
│ │ │ ├── FS2RDF-literals-ar-consistent.f.owl
│ │ │ ├── OWLLink
│ │ │ ├── 10a-conclusion.owl
│ │ │ ├── 10a.owl
│ │ │ ├── 10b-conclusion.owl
│ │ │ ├── 10b.owl
│ │ │ ├── 11-conclusion.owl
│ │ │ ├── 11.owl
│ │ │ ├── 12-conclusion.owl
│ │ │ ├── 12.owl
│ │ │ ├── 13-conclusion.owl
│ │ │ ├── 13.owl
│ │ │ ├── 14-conclusion.owl
│ │ │ ├── 14.owl
│ │ │ ├── 15-conclusion.owl
│ │ │ ├── 15.owl
│ │ │ ├── 16-conclusion.owl
│ │ │ ├── 16.owl
│ │ │ ├── 17-conclusion.owl
│ │ │ ├── 17.owl
│ │ │ ├── 18-conclusion.owl
│ │ │ ├── 18.owl
│ │ │ ├── 19.owl
│ │ │ ├── 1a-conclusion.owl
│ │ │ ├── 1a.owl
│ │ │ ├── 1b-conclusion.owl
│ │ │ ├── 1b.owl
│ │ │ ├── 20-conclusion.owl
│ │ │ ├── 20.owl
│ │ │ ├── 21-conclusion.owl
│ │ │ ├── 21.owl
│ │ │ ├── 22-conclusion.owl
│ │ │ ├── 22.owl
│ │ │ ├── 23-conclusion.owl
│ │ │ ├── 23.owl
│ │ │ ├── 24-conclusion.owl
│ │ │ ├── 24.owl
│ │ │ ├── 25-conclusion.owl
│ │ │ ├── 25.owl
│ │ │ ├── 26-conclusion.owl
│ │ │ ├── 26.owl
│ │ │ ├── 27-conclusion.owl
│ │ │ ├── 27.owl
│ │ │ ├── 28-conclusion.owl
│ │ │ ├── 28.owl
│ │ │ ├── 29a-conclusion.owl
│ │ │ ├── 29a.owl
│ │ │ ├── 2a-conclusion.owl
│ │ │ ├── 2a.owl
│ │ │ ├── 2b-conclusion.owl
│ │ │ ├── 2b.owl
│ │ │ ├── 2c-conclusion.owl
│ │ │ ├── 2c.owl
│ │ │ ├── 3a-conclusion.owl
│ │ │ ├── 3a.owl
│ │ │ ├── 3b-conclusion.owl
│ │ │ ├── 3b.owl
│ │ │ ├── 4-conclusion.owl
│ │ │ ├── 4.owl
│ │ │ ├── 5-conclusion.owl
│ │ │ ├── 5.owl
│ │ │ ├── 6-conclusion.owl
│ │ │ ├── 6.owl
│ │ │ ├── 7-conclusion.owl
│ │ │ ├── 7.owl
│ │ │ ├── 8-conclusion.owl
│ │ │ ├── 8.owl
│ │ │ ├── 9-conclusion.owl
│ │ │ ├── 9.owl
│ │ │ ├── agent-inst.owl
│ │ │ ├── agent.owl
│ │ │ ├── situation-inst.owl
│ │ │ ├── situation.owl
│ │ │ ├── space.owl
│ │ │ ├── test.owl
│ │ │ ├── time.owl
│ │ │ ├── updateHierarchy.txt
│ │ │ └── updateHierarchyFlushed.txt
│ │ │ ├── WebOnt-allValuesFrom-002-premise.rdf
│ │ │ ├── classification-blocking-error.owl
│ │ │ ├── datetime-1.txt
│ │ │ ├── datetime-2.txt
│ │ │ ├── datetime-3.txt
│ │ │ ├── dependency-disjuntion-merging-bug.xml
│ │ │ ├── dolce_all.xml
│ │ │ ├── dolce_all.xml.txt
│ │ │ ├── families.owl
│ │ │ ├── galen-ians-full-undoctored.xml
│ │ │ ├── galen-ians-full-undoctored.xml.txt
│ │ │ ├── hierarchy-printing-1.txt
│ │ │ ├── hierarchy-printing-2.txt
│ │ │ ├── hierarchy-printing-3.txt
│ │ │ ├── iso19112-D-different.owl.xml
│ │ │ ├── only1.owl
│ │ │ ├── owlwgtestparsingerror.rdf
│ │ │ ├── pets-error.owl
│ │ │ ├── pizza.xml
│ │ │ ├── pizza.xml.txt
│ │ │ ├── primer.owl
│ │ │ ├── propreo.xml
│ │ │ ├── propreo.xml.txt
│ │ │ ├── wine-no-data-properties.xml
│ │ │ ├── wine-no-data-properties.xml.txt
│ │ │ ├── wine.xml
│ │ │ └── wine.xml.txt
│ │ └── structural
│ │ └── res
│ │ ├── asymmetry-control.txt
│ │ ├── basic-control.txt
│ │ ├── basic-input.xml
│ │ ├── has-self-1-control.txt
│ │ ├── has-self-1-input.owl
│ │ ├── has-self-2-control.txt
│ │ ├── has-self-2-input.owl
│ │ ├── nominals-1-control.txt
│ │ ├── nominals-1-input.xml
│ │ ├── nominals-2-control.txt
│ │ ├── nominals-2-input.xml
│ │ ├── nominals-3-control.txt
│ │ ├── nominals-3-input.xml
│ │ ├── nominals-4-control.txt
│ │ └── nominals-4-input.xml
│ └── testreports
│ ├── Test Results - AllTests.html
│ └── Test Results - All_in_HermiT.html
├── stage-release.sh
├── tasks.txt
└── update.properties
/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | HermiT
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.m2e.core.maven2Builder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.m2e.core.maven2Nature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding//src/main/java=UTF-8
3 | encoding//src/test/java=UTF-8
4 | encoding/=UTF-8
5 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
3 | org.eclipse.jdt.core.compiler.compliance=1.5
4 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
5 | org.eclipse.jdt.core.compiler.source=1.5
6 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/examples/org/semanticweb/HermiT/examples/ChangeFormat.java:
--------------------------------------------------------------------------------
1 | package org.semanticweb.HermiT.examples;
2 |
3 | import java.io.BufferedOutputStream;
4 | import java.io.File;
5 | import java.io.FileOutputStream;
6 |
7 | import org.semanticweb.owlapi.apibinding.OWLManager;
8 | import org.semanticweb.owlapi.formats.FunctionalSyntaxDocumentFormat;
9 | import org.semanticweb.owlapi.model.OWLOntology;
10 | import org.semanticweb.owlapi.model.OWLOntologyManager;
11 |
12 | public class ChangeFormat {
13 |
14 | public static void main(String[] args) throws Exception {
15 | // First, we create an OWLOntologyManager object. The manager will load and
16 | // save ontologies.
17 | OWLOntologyManager manager=OWLManager.createOWLOntologyManager();
18 | // Now, we create the file from which the ontology will be loaded.
19 | // Here the ontology is stored in a file locally in the ontologies subfolder
20 | // of the examples folder.
21 | File inputOntologyFile = new File("examples/ontologies/pizza.owl");
22 | // We use the OWL API to load the ontology.
23 | OWLOntology ontology=manager.loadOntologyFromOntologyDocument(inputOntologyFile);
24 | // Now the axioms should be saved in a different format, say functional style syntax.
25 | // We do this by (virtually) creating a file with a relative path from which we get
26 | // the absolute file.
27 | File newOntologyFile=new File("examples/ontologies/pizza.fss.owl");
28 | newOntologyFile=newOntologyFile.getAbsoluteFile();
29 | // Now we create a buffered stream since the ontology manager can then write to that stream.
30 | BufferedOutputStream outputStream=new BufferedOutputStream(new FileOutputStream(newOntologyFile));
31 | // We use the same format as for the input ontology.
32 | manager.saveOntology(ontology, new FunctionalSyntaxDocumentFormat(), outputStream);
33 | // Now the ontology should be in the ontologies subfolder (you Java IDE, e.g., Eclipse,
34 | // might have to refresh its view of files in the file system) before the file is visible.
35 | System.out.println("The ontology in examples/ontologies/pizza.fss.owl should now contain all axioms from pizza.owl in functional style syntax (you might need to refresh the IDE file view). ");
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/lib/jautomata-core-2.0-alpha-1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phillord/hermit-reasoner/37ec30aced32ac81ebecc5e33fad255ddefcb4c3/lib/jautomata-core-2.0-alpha-1.jar
--------------------------------------------------------------------------------
/rmOldNightlyBuilds.sh:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 |
3 | cd /data/hermit/download/nightlybuilds/
4 |
5 | DATE=$(date -d last-week +"%Y%m%d")
6 |
7 | files=$(find . \
8 | -maxdepth 1 -type f \
9 | -name HermiT-$DATE.zip )
10 |
11 | if [ -n "$files" ]; then
12 | rm -Rf $files 2>&1 3>&1 4>&1 5>&1 6>&1 7>&1 8>&1 9>&1 >> /dev/null
13 | fi
14 |
15 | files=$(find . \
16 | -maxdepth 1 -type f \
17 | -name HermiT-JUnitResults-$DATE.html )
18 |
19 | if [ -n "$files" ]; then
20 | rm -Rf $files 2>&1 3>&1 4>&1 5>&1 6>&1 7>&1 8>&1 9>&1 >> /dev/null
21 | fi
22 |
--------------------------------------------------------------------------------
/src/assembly/cli-assembly.xml:
--------------------------------------------------------------------------------
1 |
5 | cli-assembly
6 |
7 | jar
8 |
9 | false
10 |
11 |
12 |
13 | false
14 | true
15 | runtime
16 |
17 |
18 |
19 |
20 |
21 | ${project.build.outputDirectory}
22 |
23 |
25 | **/Protege*.*
26 |
27 |
28 |
29 |
30 |
31 | ${project.basedir}/README.txt
32 | META-INF
33 | HermiT-README.txt
34 |
35 |
36 | ${project.basedir}/lgpl-3.0.txt
37 | META-INF
38 | HermiT-LGPL.LICENSE
39 |
40 |
41 | ${project.basedir}/gpl-3.0.txt
42 | META-INF
43 | HermiT-GPL.LICENSE
44 |
45 |
46 |
--------------------------------------------------------------------------------
/src/assembly/protege-assembly.xml:
--------------------------------------------------------------------------------
1 |
5 | protege-assembly
6 |
7 | jar
8 |
9 | false
10 |
11 |
12 |
13 | false
14 | true
15 | runtime
16 |
17 | true
18 |
19 | gnu.getopt:java-getopt
20 | net.sourceforge.owlapi:owlapi-distribution
21 |
22 |
23 |
24 |
25 |
26 |
27 | ${project.build.outputDirectory}
28 |
29 |
30 | org/semanticweb/HermiT/cli/**
31 |
32 |
33 |
34 |
35 |
36 | ${project.basedir}/README.txt
37 | META-INF
38 | HermiT-README.txt
39 |
40 |
41 | ${project.basedir}/lgpl-3.0.txt
42 | META-INF
43 | HermiT-LGPL.LICENSE
44 |
45 |
46 | ${project.basedir}/gpl-3.0.txt
47 | META-INF
48 | HermiT-GPL.LICENSE
49 |
50 |
51 |
--------------------------------------------------------------------------------
/src/assembly/source-assembly.xml:
--------------------------------------------------------------------------------
1 |
5 | src
6 |
7 | zip
8 |
9 |
10 |
11 | ${project.basedir}
12 |
13 | gpl-3.0.txt
14 | lgpl-3.0.txt
15 | pom.xml
16 | README.txt
17 | update.properties
18 |
19 | true
20 |
21 |
22 | ${project.basedir}/examples
23 | true
24 |
25 |
26 | ${project.basedir}/src
27 | true
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/main/java/org/semanticweb/HermiT/blocking/BlockingSignature.java:
--------------------------------------------------------------------------------
1 | /* Copyright 2008, 2009, 2010 by the Oxford University Computing Laboratory
2 |
3 | This file is part of HermiT.
4 |
5 | HermiT is free software: you can redistribute it and/or modify
6 | it under the terms of the GNU Lesser General Public License as published by
7 | the Free Software Foundation, either version 3 of the License, or
8 | (at your option) any later version.
9 |
10 | HermiT is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU Lesser General Public License for more details.
14 |
15 | You should have received a copy of the GNU Lesser General Public License
16 | along with HermiT. If not, see .
17 | */
18 | package org.semanticweb.HermiT.blocking;
19 |
20 | import org.semanticweb.HermiT.tableau.Node;
21 |
22 | public abstract class BlockingSignature {
23 | protected BlockingSignature m_nextEntry;
24 |
25 | public BlockingSignature() {
26 | m_nextEntry=null;
27 | }
28 | public final BlockingSignature getNextEntry() {
29 | return m_nextEntry;
30 | }
31 | public void setNextEntry(BlockingSignature nextEntry) {
32 | m_nextEntry=nextEntry;
33 | }
34 | public abstract boolean blocksNode(Node node);
35 | public abstract int hashCode();
36 | public abstract boolean equals(Object that);
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/java/org/semanticweb/HermiT/blocking/DirectBlockingChecker.java:
--------------------------------------------------------------------------------
1 | /* Copyright 2008, 2009, 2010 by the Oxford University Computing Laboratory
2 |
3 | This file is part of HermiT.
4 |
5 | HermiT is free software: you can redistribute it and/or modify
6 | it under the terms of the GNU Lesser General Public License as published by
7 | the Free Software Foundation, either version 3 of the License, or
8 | (at your option) any later version.
9 |
10 | HermiT is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU Lesser General Public License for more details.
14 |
15 | You should have received a copy of the GNU Lesser General Public License
16 | along with HermiT. If not, see .
17 | */
18 | package org.semanticweb.HermiT.blocking;
19 |
20 | import org.semanticweb.HermiT.model.AtomicRole;
21 | import org.semanticweb.HermiT.model.Concept;
22 | import org.semanticweb.HermiT.model.DataRange;
23 | import org.semanticweb.HermiT.tableau.Node;
24 | import org.semanticweb.HermiT.tableau.Tableau;
25 |
26 | public interface DirectBlockingChecker {
27 | void initialize(Tableau tableau);
28 | void clear();
29 | boolean isBlockedBy(Node blocker,Node blocked);
30 | int blockingHashCode(Node node);
31 | boolean canBeBlocker(Node node);
32 | /**
33 | * @param node
34 | * @return true if node is a tree node
35 | */
36 | boolean canBeBlocked(Node node);
37 | boolean hasBlockingInfoChanged(Node node);
38 | void clearBlockingInfoChanged(Node node);
39 | boolean hasChangedSinceValidation(Node node);
40 | void setHasChangedSinceValidation(Node node, boolean hasChanged);
41 | void nodeInitialized(Node node);
42 | void nodeDestroyed(Node node);
43 | Node assertionAdded(Concept concept,Node node,boolean isCore);
44 | Node assertionRemoved(Concept concept,Node node,boolean isCore);
45 | Node assertionAdded(DataRange range,Node node,boolean isCore);
46 | Node assertionRemoved(DataRange range,Node node,boolean isCore);
47 | Node assertionAdded(AtomicRole atomicRole,Node nodeFrom,Node nodeTo,boolean isCore);
48 | Node assertionRemoved(AtomicRole atomicRole,Node nodeFrom,Node nodeTo,boolean isCore);
49 | Node nodesMerged(Node mergeFrom,Node mergeInto);
50 | Node nodesUnmerged(Node mergeFrom,Node mergeInto);
51 | BlockingSignature getBlockingSignatureFor(Node node);
52 | }
53 |
--------------------------------------------------------------------------------
/src/main/java/org/semanticweb/HermiT/datalog/QueryResultCollector.java:
--------------------------------------------------------------------------------
1 | package org.semanticweb.HermiT.datalog;
2 |
3 | import org.semanticweb.HermiT.model.Term;
4 |
5 | public interface QueryResultCollector {
6 | void processResult(ConjunctiveQuery conjunctiveQuery,Term[] result);
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/java/org/semanticweb/HermiT/datatypes/DatatypeHandler.java:
--------------------------------------------------------------------------------
1 | /* Copyright 2008, 2009, 2010 by the Oxford University Computing Laboratory
2 |
3 | This file is part of HermiT.
4 |
5 | HermiT is free software: you can redistribute it and/or modify
6 | it under the terms of the GNU Lesser General Public License as published by
7 | the Free Software Foundation, either version 3 of the License, or
8 | (at your option) any later version.
9 |
10 | HermiT is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU Lesser General Public License for more details.
14 |
15 | You should have received a copy of the GNU Lesser General Public License
16 | along with HermiT. If not, see .
17 | */
18 | package org.semanticweb.HermiT.datatypes;
19 |
20 | import java.util.Set;
21 |
22 | import org.semanticweb.HermiT.model.DatatypeRestriction;
23 |
24 | /**
25 | * Implements the functions needed for a particular datatype.
26 | */
27 | public interface DatatypeHandler {
28 | Set getManagedDatatypeURIs();
29 | Object parseLiteral(String lexicalForm,String datatypeURI) throws MalformedLiteralException;
30 | void validateDatatypeRestriction(DatatypeRestriction datatypeRestriction) throws UnsupportedFacetException;
31 | ValueSpaceSubset createValueSpaceSubset(DatatypeRestriction datatypeRestriction);
32 | ValueSpaceSubset conjoinWithDR(ValueSpaceSubset valueSpaceSubset,DatatypeRestriction datatypeRestriction);
33 | ValueSpaceSubset conjoinWithDRNegation(ValueSpaceSubset valueSpaceSubset,DatatypeRestriction datatypeRestriction);
34 | boolean isSubsetOf(String subsetDatatypeURI,String supersetDatatypeURI);
35 | boolean isDisjointWith(String datatypeURI1,String datatypeURI2);
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/org/semanticweb/HermiT/datatypes/MalformedLiteralException.java:
--------------------------------------------------------------------------------
1 | /* Copyright 2008, 2009, 2010 by the Oxford University Computing Laboratory
2 |
3 | This file is part of HermiT.
4 |
5 | HermiT is free software: you can redistribute it and/or modify
6 | it under the terms of the GNU Lesser General Public License as published by
7 | the Free Software Foundation, either version 3 of the License, or
8 | (at your option) any later version.
9 |
10 | HermiT is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU Lesser General Public License for more details.
14 |
15 | You should have received a copy of the GNU Lesser General Public License
16 | along with HermiT. If not, see .
17 | */
18 | package org.semanticweb.HermiT.datatypes;
19 |
20 | @SuppressWarnings("serial")
21 | public class MalformedLiteralException extends RuntimeException {
22 |
23 | public MalformedLiteralException(String lexicalForm,String datatypeURI) {
24 | this(lexicalForm,datatypeURI,null);
25 | }
26 | public MalformedLiteralException(String lexicalForm,String datatypeURI,Throwable cause) {
27 | super("Literal \""+lexicalForm+"\"^^<"+datatypeURI+"> is malformed",cause);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/org/semanticweb/HermiT/datatypes/UnsupportedDatatypeException.java:
--------------------------------------------------------------------------------
1 | /* Copyright 2008, 2009, 2010 by the Oxford University Computing Laboratory
2 |
3 | This file is part of HermiT.
4 |
5 | HermiT is free software: you can redistribute it and/or modify
6 | it under the terms of the GNU Lesser General Public License as published by
7 | the Free Software Foundation, either version 3 of the License, or
8 | (at your option) any later version.
9 |
10 | HermiT is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU Lesser General Public License for more details.
14 |
15 | You should have received a copy of the GNU Lesser General Public License
16 | along with HermiT. If not, see .
17 | */
18 | package org.semanticweb.HermiT.datatypes;
19 |
20 | @SuppressWarnings("serial")
21 | public class UnsupportedDatatypeException extends RuntimeException {
22 |
23 | public UnsupportedDatatypeException(String message) {
24 | super(message);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/org/semanticweb/HermiT/datatypes/UnsupportedFacetException.java:
--------------------------------------------------------------------------------
1 | /* Copyright 2008, 2009, 2010 by the Oxford University Computing Laboratory
2 |
3 | This file is part of HermiT.
4 |
5 | HermiT is free software: you can redistribute it and/or modify
6 | it under the terms of the GNU Lesser General Public License as published by
7 | the Free Software Foundation, either version 3 of the License, or
8 | (at your option) any later version.
9 |
10 | HermiT is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU Lesser General Public License for more details.
14 |
15 | You should have received a copy of the GNU Lesser General Public License
16 | along with HermiT. If not, see .
17 | */
18 | package org.semanticweb.HermiT.datatypes;
19 |
20 | @SuppressWarnings("serial")
21 | public class UnsupportedFacetException extends RuntimeException {
22 |
23 | public UnsupportedFacetException(String message) {
24 | super(message);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/org/semanticweb/HermiT/datatypes/ValueSpaceSubset.java:
--------------------------------------------------------------------------------
1 | /* Copyright 2008, 2009, 2010 by the Oxford University Computing Laboratory
2 |
3 | This file is part of HermiT.
4 |
5 | HermiT is free software: you can redistribute it and/or modify
6 | it under the terms of the GNU Lesser General Public License as published by
7 | the Free Software Foundation, either version 3 of the License, or
8 | (at your option) any later version.
9 |
10 | HermiT is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU Lesser General Public License for more details.
14 |
15 | You should have received a copy of the GNU Lesser General Public License
16 | along with HermiT. If not, see .
17 | */
18 | package org.semanticweb.HermiT.datatypes;
19 |
20 | import java.util.Collection;
21 |
22 | public interface ValueSpaceSubset {
23 | boolean hasCardinalityAtLeast(int number);
24 | boolean containsDataValue(Object dataValue);
25 | void enumerateDataValues(Collection