This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit 3fdb3377d903573c276a5103f60463146cdf7079
Author: Andy Seaborne <[email protected]>
AuthorDate: Sun Dec 21 11:10:01 2025 +0000

    Remove unused WebOntTestHarness
---
 .../reasoner/rulesys/test/WebOntTestHarness.java   | 618 ---------------------
 1 file changed, 618 deletions(-)

diff --git 
a/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/test/WebOntTestHarness.java
 
b/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/test/WebOntTestHarness.java
deleted file mode 100644
index d3dd7d6b30..0000000000
--- 
a/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/test/WebOntTestHarness.java
+++ /dev/null
@@ -1,618 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.reasoner.rulesys.test;
-
-import org.apache.jena.ontology.OntModelSpec;
-import org.apache.jena.rdf.model.Literal;
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.RDFNode;
-import org.apache.jena.rdf.model.RDFWriterI;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.rdf.model.Statement;
-import org.apache.jena.rdf.model.StmtIterator;
-import org.apache.jena.rdfxml.xmloutput.impl.RDFXML_Abbrev;
-import org.apache.jena.reasoner.InfGraph;
-import org.apache.jena.reasoner.Reasoner;
-import org.apache.jena.reasoner.ReasonerException;
-import org.apache.jena.reasoner.ReasonerRegistry;
-import org.apache.jena.reasoner.rulesys.FBRuleInfGraph;
-import org.apache.jena.reasoner.test.WGReasonerTester;
-import org.apache.jena.vocabulary.OWL;
-import org.apache.jena.vocabulary.OWLResults;
-import org.apache.jena.vocabulary.OWLTest;
-import org.apache.jena.vocabulary.RDF;
-import org.apache.jena.vocabulary.RDFS;
-import org.apache.jena.vocabulary.RDFTest;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Test harness for running the WebOnt working group tests relevant
- * to the OWL rule reasoner. See also TestOWLRules which runs the
- * core WG tests as part of the routine unit tests.
- */
-public class WebOntTestHarness {
-
-//  =======================================================================
-//  Variables to control the test operations
-
-    /** Set to true to include modified test versions */
-    public static boolean includeModified = false;
-
-    /** Set to true to use approved tests only */
-    public static boolean approvedOnly = true;
-
-    /** Set to true to print LP engine profile information */
-    public static boolean printProfile = false;
-
-//  =======================================================================
-//  Internal state
-
-    /** The reasoner being tested */
-    Reasoner reasoner;
-
-    /** The total set of known tests */
-    Model testDefinitions;
-
-    /** The number of tests run */
-    int testCount = 0;
-
-    /** The time cost in ms of the last test to be run */
-    long lastTestDuration = 0;
-
-    /** Number of tests passed */
-    int passCount = 0;
-
-    /** The model describing the results of the run */
-    Model testResults;
-
-    /** The resource which acts as a description for the Jena instance being 
tested */
-    Resource jena;
-
-//  =======================================================================
-//  Internal constants
-
-    /** The base directory for the working group test files to use */
-    public static final String BASE_TESTDIR = "testing/wg/";
-
-    /** The base URI in which the files are purported to reside */
-    public static String BASE_URI = "http://www.w3.org/2002/03owlt/";;
-
-    /** The base URI for the results file */
-    public static String BASE_RESULTS_URI = 
"https://jena.apache.org/data/owl-results.rdf";;
-
-    /** The list of subdirectories to process (omits the rdf/rdfs dirs) */
-    public static final String[] TEST_DIRS= {"AllDifferent", "AllDistinct",
-            "AnnotationProperty", "DatatypeProperty", "FunctionalProperty",
-            "I3.2", "I3.4", "I4.1", "I4.5", "I4.6", "I5.1", "I5.2", "I5.21", 
"I5.24",
-            "I5.26", "I5.3", "I5.5", "I5.8", "InverseFunctionalProperty", 
"Nothing",
-            "Restriction", "SymmetricProperty", "Thing", "TransitiveProperty",
-            "allValuesFrom", "amp-in-url", "cardinality", "complementOf", 
"datatypes",
-            "differentFrom", "disjointWith", "distinctMembers",
-            "equivalentClass", "equivalentProperty", "imports",
-            "intersectionOf", "inverseOf", "localtests", "maxCardinality", 
"miscellaneous",
-            "oneOf", "oneOfDistinct", "sameAs", "sameClassAs", 
"sameIndividualAs",
-            "samePropertyAs", "someValuesFrom", "statement-entailment", 
"unionOf",
-            "xmlbase",
-            "description-logic",
-//            "extra-credit",
-        };
-
-    /** List of tests that are blocked because they test language features 
beyond Lite */
-    public static final String[] BLOCKED_TESTS = {
-        // Explicitly testing non-lite features
-        "http://www.w3.org/2002/03owlt/complementOf/Manifest001#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest901#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest903#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest902#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest904#test";,
-//        "http://www.w3.org/2002/03owlt/oneOf/Manifest002#test";,
-//        "http://www.w3.org/2002/03owlt/oneOf/Manifest003#test";,
-        "http://www.w3.org/2002/03owlt/oneOf/Manifest004#test";,
-        "http://www.w3.org/2002/03owlt/unionOf/Manifest001#test";,
-        "http://www.w3.org/2002/03owlt/unionOf/Manifest002#test";,
-        "http://www.w3.org/2002/03owlt/unionOf/Manifest003#test";,
-        "http://www.w3.org/2002/03owlt/unionOf/Manifest004#test";,
-        "http://www.w3.org/2002/03owlt/equivalentClass/Manifest006#test";,
-        "http://www.w3.org/2002/03owlt/equivalentClass/Manifest007#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest201#test";,
-        "http://www.w3.org/2002/03owlt/I5.8/Manifest004#test";,
-        "http://www.w3.org/2002/03owlt/I5.2/Manifest004#test";,
-
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest008#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest011#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest015#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest019#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest023#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest026#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest027#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest029#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest030#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest032#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest033#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest035#test";,
-
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest101#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest102#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest103#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest104#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest105#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest106#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest107#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest108#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest109#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest110#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest111#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest502#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest504#test";,
-
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest202#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest203#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest204#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest205#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest206#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest207#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest208#test";,
-
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest209#test";,
-
-        "http://www.w3.org/2002/03owlt/miscellaneous/Manifest010#test";,
-        "http://www.w3.org/2002/03owlt/miscellaneous/Manifest011#test";,
-        "http://www.w3.org/2002/03owlt/SymmetricProperty/Manifest002#test";,
-
-        "http://www.w3.org/2002/03owlt/Thing/Manifest005#test";,
-
-        // Temporary block - incomplete (OOM eventually in some cases)
-        "http://www.w3.org/2002/03owlt/TransitiveProperty/Manifest002#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest661#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest662#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest663#test";,
-
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest608#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest611#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest615#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest623#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest626#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest627#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest630#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest668#test";,
-        "http://www.w3.org/2002/03owlt/description-logic/Manifest668#test";,
-
-    };
-
-    /** The list of status values to include. If approvedOnly then only the 
first
-     *  entry is allowed */
-    public static final String[] STATUS_FLAGS = { "APPROVED", "PROPOSED" };
-
-//  =======================================================================
-//  Constructor and associated support
-
-    public WebOntTestHarness() {
-        testDefinitions = loadAllTestDefinitions();
-        reasoner = ReasonerRegistry.getOWLReasoner();
-        initResults();
-    }
-
-    /** Load all of the known manifest files into a single model */
-    public static Model loadAllTestDefinitions() {
-        System.out.print("Loading manifests "); System.out.flush();
-        Model testDefs = ModelFactory.createDefaultModel();
-        int count = 0;
-        for ( String TEST_DIR : TEST_DIRS )
-        {
-            File dir = new File( BASE_TESTDIR + TEST_DIR );
-            String[] manifests = dir.list( new FilenameFilter()
-            {
-                @Override
-                public boolean accept( File df, String name )
-                {
-                    if ( name.startsWith( "Manifest" ) && name.endsWith( 
".rdf" ) )
-                    {
-                        return includeModified || !name.endsWith( "-mod.rdf" );
-                    }
-                    else
-                    {
-                        return false;
-                    }
-                }
-            } );
-            for ( String manifest : manifests )
-            {
-                File mf = new File( dir, manifest );
-                try
-                {
-                    testDefs.read( new FileInputStream( mf ), "file:" + mf );
-                    count++;
-                    if ( count % 8 == 0 )
-                    {
-                        System.out.print( "." );
-                        System.out.flush();
-                    }
-                }
-                catch ( FileNotFoundException e )
-                {
-                    System.out.println( "File not readable - " + e );
-                }
-            }
-        }
-        System.out.println("loaded");
-        return testDefs;
-    }
-
-    /**
-     * Initialize the result model.
-     */
-    public void initResults() {
-        testResults = ModelFactory.createDefaultModel();
-        jena = testResults.createResource(BASE_RESULTS_URI + "#jena");
-        jena.addProperty(RDFS.label, "Jena");
-        testResults.setNsPrefix("results", OWLResults.NS);
-    }
-
-//  =======================================================================
-//  Main control methods
-
-    public static void main(String[] args) throws IOException {
-        String resultFile = "owl-results.rdf";
-        if (args.length >= 1) {
-            resultFile = args[0];
-        }
-        WebOntTestHarness harness = new WebOntTestHarness();
-        harness.runTests();
-//        
harness.runTest("http://www.w3.org/2002/03owlt/AnnotationProperty/Manifest004#test";);
-//        
harness.runTest("http://www.w3.org/2002/03owlt/AnnotationProperty/Manifest003#test";);
-//        
harness.runTest("http://www.w3.org/2002/03owlt/Thing/Manifest001#test";);
-//        
harness.runTest("http://www.w3.org/2002/03owlt/Thing/Manifest002#test";);
-//        
harness.runTest("http://www.w3.org/2002/03owlt/Thing/Manifest003#test";);
-//        
harness.runTest("http://www.w3.org/2002/03owlt/Thing/Manifest004#test";);
-//        
harness.runTest("http://www.w3.org/2002/03owlt/Thing/Manifest005#test";);
-        RDFWriterI writer = new RDFXML_Abbrev();
-        OutputStream stream = new FileOutputStream(resultFile);
-        writer.setProperty("showXmlDeclaration", "true");
-        harness.testResults.setNsPrefix("", "http://www.w3.org/1999/xhtml";);
-        writer.write(harness.testResults, stream, BASE_RESULTS_URI);
-    }
-
-    /**
-     * Run all relevant tests.
-     */
-    public void runTests() {
-        System.out.println("Testing " + (approvedOnly ? "only APPROVED" : 
"APPROVED and PROPOSED") );
-        System.out.println("Positive entailment: ");
-        runTests(findTestsOfType(OWLTest.PositiveEntailmentTest));
-//        System.out.println("\nNegative entailment: ");
-//        runTests(findTestsOfType(OWLTest.NegativeEntailmentTest));
-        System.out.println("\nTrue tests: ");
-        runTests(findTestsOfType(OWLTest.TrueTest));
-        System.out.println("\nOWL for OWL tests: ");
-        runTests(findTestsOfType(OWLTest.OWLforOWLTest));
-        System.out.println("\nImport entailment tests: ");
-        runTests(findTestsOfType(OWLTest.ImportEntailmentTest));
-        System.out.println("\nInconsistency tests: ");
-        runTests(findTestsOfType(OWLTest.InconsistencyTest));
-        System.out.println("\nPassed " + passCount + " out of " + testCount);
-    }
-
-    /**
-     * Run all tests in the given list.
-     */
-    public void runTests(List<Resource> tests) {
-        for ( Resource test : tests )
-        {
-            runTest( test );
-        }
-    }
-
-    /**
-     * Run a single test of any sort, performing any appropriate logging
-     * and error reporting.
-     */
-    public void runTest(String test) {
-        runTest(testDefinitions.getResource(test));
-    }
-
-    /**
-     * Run a single test of any sort, performing any appropriate logging
-     * and error reporting.
-     */
-    public void runTest(Resource test) {
-        System.out.println("Running " + test);
-        boolean success = false;
-        boolean fail = false;
-        try {
-            success = doRunTest(test);
-        } catch (Exception e) {
-            fail = true;
-            System.out.print("\nException: " + e);
-            e.printStackTrace();
-        }
-        testCount++;
-        if (success) {
-            System.out.print( (testCount % 40 == 0) ? ".\n" : ".");
-            System.out.flush();
-            passCount++;
-        } else {
-            System.out.println("\nFAIL: " + test);
-        }
-        Resource resultType = null;
-        if (fail) {
-            resultType = OWLResults.FailingRun;
-        } else {
-            if (test.hasProperty(RDF.type, OWLTest.NegativeEntailmentTest)
-            ||  test.hasProperty(RDF.type, OWLTest.ConsistencyTest)) {
-                resultType = success ? OWLResults.PassingRun : 
OWLResults.FailingRun;
-            } else {
-                resultType = success ? OWLResults.PassingRun : 
OWLResults.IncompleteRun;
-            }
-        }
-        // log to the rdf result format
-        Resource result = testResults.createResource()
-            .addProperty(RDF.type, OWLResults.TestRun)
-            .addProperty(RDF.type, resultType)
-            .addProperty(OWLResults.test, test)
-            .addProperty(OWLResults.system, jena);
-    }
-
-    /**
-     * Run a single test of any sort, return true if the test succeeds.
-     */
-    public boolean doRunTest(Resource test) throws IOException {
-        if (test.hasProperty(RDF.type, OWLTest.PositiveEntailmentTest)
-        ||  test.hasProperty(RDF.type, OWLTest.NegativeEntailmentTest)
-        ||  test.hasProperty(RDF.type, OWLTest.OWLforOWLTest)
-        ||  test.hasProperty(RDF.type, OWLTest.ImportEntailmentTest)
-        ||  test.hasProperty(RDF.type, OWLTest.TrueTest) ) {
-            // Entailment tests
-            boolean processImports = test.hasProperty(RDF.type, 
OWLTest.ImportEntailmentTest);
-            Model premises = getDoc(test, RDFTest.premiseDocument, 
processImports);
-            Model conclusions = getDoc(test, RDFTest.conclusionDocument);
-            comprehensionAxioms(premises, conclusions);
-            long t1 = System.currentTimeMillis();
-            InfGraph graph = reasoner.bind(premises.getGraph());
-            if (printProfile) {
-                ((FBRuleInfGraph)graph).resetLPProfile(true);
-            }
-            Model result = ModelFactory.createModelForGraph(graph);
-            boolean correct = 
WGReasonerTester.testConclusions(conclusions.getGraph(), result.getGraph());
-            long t2 = System.currentTimeMillis();
-            lastTestDuration = t2 - t1;
-            if (printProfile) {
-                ((FBRuleInfGraph)graph).printLPProfile();
-            }
-            if (test.hasProperty(RDF.type, OWLTest.NegativeEntailmentTest)) {
-                correct = !correct;
-            }
-            return correct;
-        } else if (test.hasProperty(RDF.type, OWLTest.InconsistencyTest)) {
-//            System.out.println("Starting: " + test);
-            Model input = getDoc(test, RDFTest.inputDocument);
-            long t1 = System.currentTimeMillis();
-            InfGraph graph = reasoner.bind(input.getGraph());
-            boolean correct = ! graph.validate().isValid();
-            long t2 = System.currentTimeMillis();
-            lastTestDuration = t2 - t1;
-            return correct;
-        } else if (test.hasProperty(RDF.type, OWLTest.ConsistencyTest)) {
-            // Not used normally becase we are not complete enough to prove 
consistency
-//            System.out.println("Starting: " + test);
-            Model input = getDoc(test, RDFTest.inputDocument);
-            long t1 = System.currentTimeMillis();
-            InfGraph graph = reasoner.bind(input.getGraph());
-            boolean correct = graph.validate().isValid();
-            long t2 = System.currentTimeMillis();
-            lastTestDuration = t2 - t1;
-            return correct;
-        } else {
-            for (StmtIterator i = test.listProperties(RDF.type); i.hasNext(); 
) {
-                System.out.println("Test type = " + 
i.nextStatement().getObject());
-            }
-            throw new ReasonerException("Unknown test type");
-        }
-    }
-
-    /**
-     * Load the premises or conclusions for the test, optional performing
-     * import processing.
-     */
-    @SuppressWarnings("removal")
-    public Model getDoc(Resource test, Property docType, boolean 
processImports) throws IOException {
-        if (processImports) {
-            Model result = 
ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null);
-            StmtIterator si = test.listProperties(docType);
-            while ( si.hasNext() ) {
-                String fname = si.nextStatement().getObject().toString() + 
".rdf";
-                loadFile(fname, result);
-            }
-            return result;
-        } else {
-            return getDoc(test, docType);
-        }
-    }
-
-    /**
-     * Load the premises or conclusions for the test.
-     */
-    public Model getDoc(Resource test, Property docType) throws IOException {
-        Model result = ModelFactory.createDefaultModel();
-        StmtIterator si = test.listProperties(docType);
-        while ( si.hasNext() ) {
-            String fname = si.nextStatement().getObject().toString() + ".rdf";
-            loadFile(fname, result);
-        }
-        return result;
-    }
-
-    /**
-     * Utility to load a file into a model a Model.
-     * Files are assumed to be relative to the BASE_URI.
-     * @param file the file name, relative to baseDir
-     * @return the loaded Model
-     */
-    public static Model loadFile(String file, Model model) throws IOException {
-        String langType = "RDF/XML";
-        if (file.endsWith(".nt")) {
-            langType = "N-TRIPLE";
-        } else if (file.endsWith("n3")) {
-            langType = "N3";
-        }
-        String fname = file;
-        if (fname.startsWith(BASE_URI)) {
-            fname = fname.substring(BASE_URI.length());
-        }
-        Reader reader = new BufferedReader(new FileReader(BASE_TESTDIR + 
fname, StandardCharsets.UTF_8));
-        model.read(reader, BASE_URI + fname, langType);
-        return model;
-    }
-
-    /**
-     * Example the conclusions graph for introduction of restrictions which
-     * require a comprehension rewrite and declare new (anon) classes
-     * for those restrictions.
-     */
-    public void comprehensionAxioms(Model premises, Model conclusions) {
-        // Comprehend all restriction declarations and note them in a map
-        Map<Resource, Resource> comprehension = new HashMap<>();
-        StmtIterator ri = conclusions.listStatements(null, RDF.type, 
OWL.Restriction);
-        while (ri.hasNext()) {
-            Resource restriction = ri.nextStatement().getSubject();
-            StmtIterator pi = restriction.listProperties(OWL.onProperty);
-            while (pi.hasNext()) {
-                Resource prop = (Resource)pi.nextStatement().getObject();
-                StmtIterator vi = restriction.listProperties();
-                while (vi.hasNext()) {
-                    Statement rs = vi.nextStatement();
-                    if ( ! rs.getPredicate().equals(OWL.onProperty)) {
-                        // Have a restriction on(prop) of type rs in the 
conclusions
-                        // So assert a premise that such a restriction could 
exisit
-                        Resource comp = premises.createResource()
-                            .addProperty(RDF.type, OWL.Restriction)
-                            .addProperty(OWL.onProperty, prop)
-                            .addProperty(rs.getPredicate(), rs.getObject());
-                        comprehension.put(restriction, comp);
-                    }
-                }
-            }
-        }
-        // Comprehend any intersectionOf lists. Introduce anon class which has 
the form
-        // of the intersection expression.
-        // Rewrite queries of the form (X intersectionOf Y) to the form
-        //   (X equivalentClass ?CC) (?CC intersectionOf Y)
-        StmtIterator ii = conclusions.listStatements(null, OWL.intersectionOf, 
(RDFNode)null);
-        List<Statement> intersections = new ArrayList<>();
-        while (ii.hasNext()) {
-            intersections.add(ii.nextStatement());
-        }
-        for ( Statement is : intersections )
-        {
-            // Declare in the premises that such an intersection exists
-            Resource comp =
-                premises.createResource().addProperty( RDF.type, OWL.Class 
).addProperty( OWL.intersectionOf,
-                                                                               
           mapList( premises,
-                                                                               
                    (Resource) is.getObject(),
-                                                                               
                    comprehension ) );
-            // Rewrite the conclusions to be a test for equivalence between 
the class being
-            // queried and the comprehended interesection
-            conclusions.remove( is );
-            conclusions.add( is.getSubject(), OWL.equivalentClass, comp );
-        }
-        // Comprehend any oneOf lists
-        StmtIterator io = conclusions.listStatements(null, OWL.oneOf, 
(RDFNode)null);
-        while (io.hasNext()) {
-            Statement s = io.nextStatement();
-            Resource comp = premises.createResource()
-                        .addProperty(OWL.oneOf, s.getObject());
-        }
-    }
-
-    /**
-     * Helper. Adds to the target model a translation of the given RDF list
-     * with each element replaced according to the map.
-     */
-    private Resource mapList(Model target, Resource list, Map<Resource, 
Resource> map) {
-        if (list.equals(RDF.nil)) {
-            return RDF.nil;
-        } else {
-            Resource head = (Resource) 
list.getRequiredProperty(RDF.first).getObject();
-            Resource rest = (Resource) 
list.getRequiredProperty(RDF.rest).getObject();
-            Resource mapElt = target.createResource();
-            Resource mapHead = map.get(head);
-            if (mapHead == null) mapHead = head;
-            mapElt.addProperty(RDF.first, mapHead);
-            mapElt.addProperty(RDF.rest, mapList(target, rest, map));
-            return mapElt;
-        }
-    }
-
-//  =======================================================================
-//  Internal helper functions
-
-    /** Return a list of all tests of the given type, according to the current 
filters */
-    public List<Resource> findTestsOfType(Resource testType) {
-        ArrayList<Resource> result = new ArrayList<>();
-        StmtIterator si = testDefinitions.listStatements(null, RDF.type, 
testType);
-        while (si.hasNext()) {
-            Resource test = si.nextStatement().getSubject();
-            boolean accept = true;
-            // Check test status
-            Literal status = (Literal) 
test.getProperty(RDFTest.status).getObject();
-            if (approvedOnly) {
-                accept = status.getString().equals(STATUS_FLAGS[0]);
-            } else {
-                accept = false;
-                for ( String STATUS_FLAG : STATUS_FLAGS )
-                {
-                    if ( status.getString().equals( STATUS_FLAG ) )
-                    {
-                        accept = true;
-                        break;
-                    }
-                }
-            }
-            // Check for blocked tests
-            for ( String BLOCKED_TEST : BLOCKED_TESTS )
-            {
-                if ( BLOCKED_TEST.equals( test.toString() ) )
-                {
-                    accept = false;
-                }
-            }
-            // End of filter tests
-            if (accept) {
-                result.add(test);
-            }
-        }
-        return result;
-    }
-}

Reply via email to