Class IOHelper


  • public class IOHelper
    extends Object
    Provides convenience methods for working with ontology and term files.
    Author:
    James A. Overton
    • Constructor Summary

      Constructors 
      Constructor Description
      IOHelper()
      Create a new IOHelper with the default prefixes.
      IOHelper​(boolean defaults)
      Create a new IOHelper with or without the default prefixes.
      IOHelper​(File file)
      Create a new IOHelper with prefixes from a file.
      IOHelper​(String path)
      Create a new IOHelper with prefixes from a file path.
      IOHelper​(Map<String,​Object> map)
      Create a new IOHelper with the specified prefixes.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void addBaseNamespace​(String baseNamespace)
      Add a base namespace to the IOHelper.
      void addBaseNamespaces​(String baseNamespacePath)
      Add a set of base namespaces to the IOHelper from file.
      void addPrefix​(String combined)
      Add a prefix mapping as a single string "foo: http://example.com#".
      void addPrefix​(String prefix, String target)
      Add a prefix mapping to the current JSON-LD context, as a prefix string and target string.
      void addPrefixes​(com.github.jsonldjava.core.Context context1)
      Given a Context, add the prefix mappings to the current JSON-LD context.
      void addPrefixes​(String prefixPath)
      Given a path to a JSON-LD prefix file, add the prefix mappings in the file to the current JSON-LD context.
      void addPrefixesAndSave​(org.semanticweb.owlapi.model.OWLOntology ontology, File outputFile, List<String> addPrefixes)
      static String cellToA1​(int rowNum, int colNum)
      Convert a row index and column index for a cell to A1 notation.
      protected static boolean cleanTDB​(String tdbDir)
      Given a directory containing TDB mappings, remove the files and directory.
      org.semanticweb.owlapi.model.IRI createIRI​(String term)
      Given a term string, use the current prefixes to create an IRI.
      org.semanticweb.owlapi.model.IRI createIRI​(String term, boolean qName)
      Deprecated.
      replaced by createIRI(String)
      Set<org.semanticweb.owlapi.model.IRI> createIRIs​(Set<String> terms)
      Given a set of term identifier strings, return a set of IRIs.
      static org.semanticweb.owlapi.model.OWLLiteral createLiteral​(String value)
      Create an OWLLiteral.
      static org.semanticweb.owlapi.model.OWLLiteral createTaggedLiteral​(String value, String lang)
      Create an OWLLiteral with a language tag.
      org.semanticweb.owlapi.model.OWLLiteral createTypedLiteral​(String value, String type)
      Create a typed OWLLiteral.
      org.semanticweb.owlapi.model.OWLLiteral createTypedLiteral​(String value, org.semanticweb.owlapi.model.IRI type)
      Create a typed OWLLiteral.
      Set<String> extractTerms​(String input)
      Extract a set of term identifiers from an input string by removing comments, trimming lines, and removing empty lines.
      Set<String> getBaseNamespaces()
      Get the base namespaces.
      com.github.jsonldjava.core.Context getContext()
      Get a copy of the current context.
      String getContextString()
      Return the current prefixes as a JSON-LD string.
      com.github.jsonldjava.core.Context getDefaultContext()
      Get a copy of the default context.
      static org.semanticweb.owlapi.model.OWLDocumentFormat getFormat​(String formatName)
      Given the name of a file format, return an instance of it.
      Map<String,​String> getPrefixes()
      Get a copy of the current prefix map.
      org.semanticweb.owlapi.util.DefaultPrefixManager getPrefixManager()
      Get a prefix manager with the current prefixes.
      Boolean getXMLEntityFlag()
      Get the useXMLEntities flag.
      File guessCatalogFile​(File ontologyFile)
      Try to guess the location of the catalog.xml file.
      static boolean isValidCURIE​(CharSequence s)
      Determine if a string is a CURIE.
      org.semanticweb.owlapi.model.OWLOntology loadOntology​(File ontologyFile)
      Load an ontology from a File, using a catalog file if available.
      org.semanticweb.owlapi.model.OWLOntology loadOntology​(File ontologyFile, boolean useCatalog)
      Load an ontology from a File, with option to use a catalog file.
      org.semanticweb.owlapi.model.OWLOntology loadOntology​(File ontologyFile, File catalogFile)
      Load an ontology from a File, with optional catalog File.
      org.semanticweb.owlapi.model.OWLOntology loadOntology​(InputStream ontologyStream)
      Load an ontology from an InputStream, without a catalog file.
      org.semanticweb.owlapi.model.OWLOntology loadOntology​(InputStream ontologyStream, String catalogPath)
      Load an ontology from an InputStream with a catalog file.
      org.semanticweb.owlapi.model.OWLOntology loadOntology​(String ontologyPath)
      Load an ontology from a String path, using a catalog file if available.
      org.semanticweb.owlapi.model.OWLOntology loadOntology​(String ontologyPath, boolean useCatalog)
      Load an ontology from a String path, with option to use catalog file.
      org.semanticweb.owlapi.model.OWLOntology loadOntology​(String ontologyPath, String catalogPath)
      Load an ontology from a String path, with optional catalog file.
      org.semanticweb.owlapi.model.OWLOntology loadOntology​(org.semanticweb.owlapi.model.IRI ontologyIRI)
      Given an ontology IRI, load the ontology from the IRI.
      org.semanticweb.owlapi.model.OWLOntology loadOntology​(org.semanticweb.owlapi.model.IRI ontologyIRI, String catalogPath)
      Given an IRI and a path to a catalog file, load the ontology from the IRI with the catalog.
      org.semanticweb.owlapi.model.OWLOntology loadOntology​(org.semanticweb.owlapi.model.OWLOntologyManager manager, org.semanticweb.owlapi.io.OWLOntologyDocumentSource source)
      Given an ontology manager and a document source, load the ontology from the source using the manager.
      static org.apache.jena.query.Dataset loadToTDBDataset​(String inputPath, String tdbDir)
      Given a path to an RDF/XML or TTL file and a RDF language, load the file as the default model of a TDB dataset backed by a directory to improve processing time.
      static org.semanticweb.owlapi.util.DefaultPrefixManager makePrefixManager​(Map<String,​String> prefixes)
      Make an OWLAPI DefaultPrefixManager from a map of prefixes.
      static org.apache.jena.query.Dataset openTDBDataset​(String tdbDir)
      Given a path to a TDB directory, load the TDB as a Dataset.
      static com.github.jsonldjava.core.Context parseContext​(String jsonString)
      Load a map of prefixes from the "@context" of a JSON-LD string.
      Set<org.semanticweb.owlapi.model.IRI> parseTerms​(String input)
      Parse a set of IRIs from a space-separated string, ignoring '#' comments.
      static List<List<String>> readCSV​(InputStream stream)
      Read comma-separated values from a stream to a list of lists of strings.
      static List<List<String>> readCSV​(Reader reader)
      Read comma-separated values from a reader to a list of lists of strings.
      static List<List<String>> readCSV​(String path)
      Read comma-separated values from a path to a list of lists of strings.
      static List<List<String>> readTable​(String path)
      Read a table from a path to a list of lists of strings.
      static List<List<String>> readTSV​(InputStream stream)
      Read tab-separated values from a stream to a list of lists of strings.
      static List<List<String>> readTSV​(Reader reader)
      Read tab-separated values from a reader to a list of lists of strings.
      static List<List<String>> readTSV​(String path)
      Read tab-separated values from a path to a list of lists of strings.
      void saveContext​(File file)
      Write the current context as a JSON-LD file.
      void saveContext​(String path)
      Write the current context as a JSON-LD file.
      org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology, File ontologyFile)
      Save an ontology to a File.
      org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology, String ontologyPath)
      Save an ontology to a String path.
      org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology, org.semanticweb.owlapi.model.IRI ontologyIRI)
      Save an ontology to an IRI, using the file extension to determine the format.
      org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology, org.semanticweb.owlapi.model.OWLDocumentFormat format, File ontologyFile)
      Save an ontology in the given format to a file.
      org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology, org.semanticweb.owlapi.model.OWLDocumentFormat format, File ontologyFile, boolean checkOBO)
      Save an ontology in the given format to a file, with the option to ignore OBO document checks.
      org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology, org.semanticweb.owlapi.model.OWLDocumentFormat format, String ontologyPath, boolean checkOBO)
      Save an ontology in the given format to a path, with the option to ignore OBO document checks.
      org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology, org.semanticweb.owlapi.model.OWLDocumentFormat format, org.semanticweb.owlapi.model.IRI ontologyIRI)
      Save an ontology in the given format to an IRI.
      org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology, org.semanticweb.owlapi.model.OWLDocumentFormat format, org.semanticweb.owlapi.model.IRI ontologyIRI, boolean checkOBO)
      Save an ontology in the given format to an IRI, with the option to ignore OBO document checks.
      org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology, org.semanticweb.owlapi.model.OWLDocumentFormat format, org.semanticweb.owlapi.model.IRI ontologyIRI, Map<String,​String> addPrefixes, boolean checkOBO)
      Save an ontology in the given format to an IRI, with option to add prefixes and option to ignore OBO document checks.
      org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology, org.semanticweb.owlapi.model.OWLDocumentFormat format, org.semanticweb.owlapi.model.IRI ontologyIRI, Map<String,​String> addPrefixes, boolean checkOBO, EnumSet<OBOWriteOption> cleanOBO)
      Save an ontology in the given format to an IRI, with option to add prefixes and options to ignore OBO document checks and produce a "clean" OBO output.
      void setContext()
      Set an empty context.
      void setContext​(com.github.jsonldjava.core.Context context)
      Set the current JSON-LD context to the given context.
      void setContext​(String jsonString)
      Set the current JSON-LD context to the given context.
      void setContext​(Map<String,​Object> map)
      Set the current JSON-LD context to the given map.
      void setPrefixes​(Map<String,​Object> map)
      Set the current prefix map.
      void setStrict​(Boolean strict)
      Set "strict" value.
      void setXMLEntityFlag​(Boolean entityFlag)
      Set whether or not XML entities will be swapped into URIs in saveOntology XML output formats.
      static void writeTable​(List<String[]> table, File file, char separator)
      Write a table from a list of arrays.
      static void writeTable​(List<String[]> table, Writer writer, char separator)
      Write a table from a list of arrays.
      static void writeTable​(List<String[]> table, String path)
      Write a table from a list of arrays.
    • Constructor Detail

      • IOHelper

        public IOHelper()
                 throws IOException
        Create a new IOHelper with the default prefixes.
        Throws:
        IOException - on problem getting default context
      • IOHelper

        public IOHelper​(boolean defaults)
                 throws IOException
        Create a new IOHelper with or without the default prefixes.
        Parameters:
        defaults - false if defaults should not be used
        Throws:
        IOException - on problem getting default context
      • IOHelper

        public IOHelper​(Map<String,​Object> map)
                 throws IOException
        Create a new IOHelper with the specified prefixes.
        Parameters:
        map - the prefixes to use
        Throws:
        IOException - on issue parsing map
      • IOHelper

        public IOHelper​(String path)
                 throws IOException
        Create a new IOHelper with prefixes from a file path.
        Parameters:
        path - to a JSON-LD file with a @context
        Throws:
        IOException - on issue parsing JSON-LD file as context
      • IOHelper

        public IOHelper​(File file)
                 throws IOException
        Create a new IOHelper with prefixes from a file.
        Parameters:
        file - a JSON-LD file with a @context
        Throws:
        IOException - on issue reading file or setting context from file
    • Method Detail

      • setStrict

        public void setStrict​(Boolean strict)
        Set "strict" value. If true, any loadOntology method will fail on unparsed triples or OWLAPI "strict" parsing issues.
        Parameters:
        strict - boolean value
      • addPrefixesAndSave

        @Deprecated
        public void addPrefixesAndSave​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                       File outputFile,
                                       List<String> addPrefixes)
                                throws IOException
        Given an ontology, a file, and a list of prefixes, save the ontology to the file and include the prefixes in the header.
        Parameters:
        ontology - OWLOntology to save
        outputFile - File to save ontology to
        addPrefixes - List of prefixes to add ("foo: http://foo.bar/")
        Throws:
        IOException - On issue parsing list of prefixes or saving file
      • cleanTDB

        protected static boolean cleanTDB​(String tdbDir)
        Given a directory containing TDB mappings, remove the files and directory. If successful, return true.
        Parameters:
        tdbDir - directory to remove
        Returns:
        boolean indicating success
      • guessCatalogFile

        public File guessCatalogFile​(File ontologyFile)
        Try to guess the location of the catalog.xml file. Looks in the directory of the given ontology file for a catalog file.
        Parameters:
        ontologyFile - the
        Returns:
        the guessed catalog File; may not exist!
      • loadOntology

        public org.semanticweb.owlapi.model.OWLOntology loadOntology​(String ontologyPath)
                                                              throws IOException
        Load an ontology from a String path, using a catalog file if available.
        Parameters:
        ontologyPath - the path to the ontology file
        Returns:
        a new ontology object, with a new OWLManager
        Throws:
        IOException - on any problem
      • loadOntology

        public org.semanticweb.owlapi.model.OWLOntology loadOntology​(String ontologyPath,
                                                                     boolean useCatalog)
                                                              throws IOException
        Load an ontology from a String path, with option to use catalog file.
        Parameters:
        ontologyPath - the path to the ontology file
        useCatalog - when true, a catalog file will be used if one is found
        Returns:
        a new ontology object, with a new OWLManager
        Throws:
        IOException - on any problem
      • loadOntology

        public org.semanticweb.owlapi.model.OWLOntology loadOntology​(String ontologyPath,
                                                                     String catalogPath)
                                                              throws IOException
        Load an ontology from a String path, with optional catalog file.
        Parameters:
        ontologyPath - the path to the ontology file
        catalogPath - the path to the catalog file
        Returns:
        a new ontology object, with a new OWLManager
        Throws:
        IOException - on any problem
      • loadOntology

        public org.semanticweb.owlapi.model.OWLOntology loadOntology​(File ontologyFile)
                                                              throws IOException
        Load an ontology from a File, using a catalog file if available.
        Parameters:
        ontologyFile - the ontology file to load
        Returns:
        a new ontology object, with a new OWLManager
        Throws:
        IOException - on any problem
      • loadOntology

        public org.semanticweb.owlapi.model.OWLOntology loadOntology​(File ontologyFile,
                                                                     boolean useCatalog)
                                                              throws IOException
        Load an ontology from a File, with option to use a catalog file.
        Parameters:
        ontologyFile - the ontology file to load
        useCatalog - when true, a catalog file will be used if one is found
        Returns:
        a new ontology object, with a new OWLManager
        Throws:
        IOException - on any problem
      • loadOntology

        public org.semanticweb.owlapi.model.OWLOntology loadOntology​(File ontologyFile,
                                                                     File catalogFile)
                                                              throws IOException
        Load an ontology from a File, with optional catalog File.
        Parameters:
        ontologyFile - the ontology file to load
        catalogFile - the catalog file to use
        Returns:
        a new ontology object, with a new OWLManager
        Throws:
        IOException - on any problem
      • loadOntology

        public org.semanticweb.owlapi.model.OWLOntology loadOntology​(InputStream ontologyStream)
                                                              throws IOException
        Load an ontology from an InputStream, without a catalog file.
        Parameters:
        ontologyStream - the ontology stream to load
        Returns:
        a new ontology object, with a new OWLManager
        Throws:
        IOException - on any problem
      • loadOntology

        public org.semanticweb.owlapi.model.OWLOntology loadOntology​(InputStream ontologyStream,
                                                                     String catalogPath)
                                                              throws IOException
        Load an ontology from an InputStream with a catalog file.
        Parameters:
        ontologyStream - the ontology stream to load
        catalogPath - the catalog file to use or null
        Returns:
        a new ontology object, with a new OWLManager
        Throws:
        IOException - on any problem
      • loadOntology

        public org.semanticweb.owlapi.model.OWLOntology loadOntology​(org.semanticweb.owlapi.model.IRI ontologyIRI)
                                                              throws IOException
        Given an ontology IRI, load the ontology from the IRI.
        Parameters:
        ontologyIRI - the ontology IRI to load
        Returns:
        a new ontology object, with a new OWLManager
        Throws:
        IOException - on any problem
      • loadOntology

        public org.semanticweb.owlapi.model.OWLOntology loadOntology​(org.semanticweb.owlapi.model.IRI ontologyIRI,
                                                                     String catalogPath)
                                                              throws IOException
        Given an IRI and a path to a catalog file, load the ontology from the IRI with the catalog.
        Parameters:
        ontologyIRI - the ontology IRI to load
        catalogPath - the catalog file to use or null
        Returns:
        a new ontology object, with a new OWLManager
        Throws:
        IOException - on any problem
      • loadOntology

        public org.semanticweb.owlapi.model.OWLOntology loadOntology​(org.semanticweb.owlapi.model.OWLOntologyManager manager,
                                                                     org.semanticweb.owlapi.io.OWLOntologyDocumentSource source)
                                                              throws IOException,
                                                                     org.semanticweb.owlapi.model.OWLOntologyCreationException
        Given an ontology manager and a document source, load the ontology from the source using the manager. Log unparsed triples, or throw exception if strict=true.
        Parameters:
        manager - OWLOntologyManager with IRI mappers to use
        source - OWLOntologyDocumentSource to load from
        Returns:
        a new ontology object, with a new OWLManager
        Throws:
        IOException - on problem with unparsed triples if strict=true
        org.semanticweb.owlapi.model.OWLOntologyCreationException - on problem loading ontology document
      • loadToTDBDataset

        public static org.apache.jena.query.Dataset loadToTDBDataset​(String inputPath,
                                                                     String tdbDir)
                                                              throws org.apache.jena.shared.JenaException
        Given a path to an RDF/XML or TTL file and a RDF language, load the file as the default model of a TDB dataset backed by a directory to improve processing time. Return the new dataset.

        WARNING - this creates a directory at given tdbDir location!

        Parameters:
        inputPath - input path of RDF/XML or TTL file
        tdbDir - location to put TDB mappings
        Returns:
        Dataset instantiated with triples
        Throws:
        org.apache.jena.shared.JenaException - if TDB directory can't be written to
      • openTDBDataset

        public static org.apache.jena.query.Dataset openTDBDataset​(String tdbDir)
        Given a path to a TDB directory, load the TDB as a Dataset.
        Parameters:
        tdbDir - path to existing TDB directory
        Returns:
        Dataset or null
      • getFormat

        public static org.semanticweb.owlapi.model.OWLDocumentFormat getFormat​(String formatName)
                                                                        throws IllegalArgumentException
        Given the name of a file format, return an instance of it.

        Suported formats:

        • OBO as 'obo'
        • RDFXML as 'owl'
        • Turtle as 'ttl'
        • OWLXML as 'owx'
        • Manchester as 'omn'
        • OWL Functional as 'ofn'
        Parameters:
        formatName - the name of the format
        Returns:
        an instance of the format
        Throws:
        IllegalArgumentException - if format name is not recognized
      • saveOntology

        public org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                                                     String ontologyPath)
                                                              throws IOException
        Save an ontology to a String path.
        Parameters:
        ontology - the ontology to save
        ontologyPath - the path to save the ontology to
        Returns:
        the saved ontology
        Throws:
        IOException - on any problem
      • saveOntology

        public org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                                                     File ontologyFile)
                                                              throws IOException
        Save an ontology to a File.
        Parameters:
        ontology - the ontology to save
        ontologyFile - the file to save the ontology to
        Returns:
        the saved ontology
        Throws:
        IOException - on any problem
      • saveOntology

        public org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                                                     org.semanticweb.owlapi.model.IRI ontologyIRI)
                                                              throws IOException
        Save an ontology to an IRI, using the file extension to determine the format.
        Parameters:
        ontology - the ontology to save
        ontologyIRI - the IRI to save the ontology to
        Returns:
        the saved ontology
        Throws:
        IOException - on any problem
      • saveOntology

        public org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                                                     org.semanticweb.owlapi.model.OWLDocumentFormat format,
                                                                     File ontologyFile)
                                                              throws IOException
        Save an ontology in the given format to a file.
        Parameters:
        ontology - the ontology to save
        format - the ontology format to use
        ontologyFile - the file to save the ontology to
        Returns:
        the saved ontology
        Throws:
        IOException - on any problem
      • saveOntology

        public org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                                                     org.semanticweb.owlapi.model.OWLDocumentFormat format,
                                                                     File ontologyFile,
                                                                     boolean checkOBO)
                                                              throws IOException
        Save an ontology in the given format to a file, with the option to ignore OBO document checks.
        Parameters:
        ontology - the ontology to save
        format - the ontology format to use
        ontologyFile - the file to save the ontology to
        checkOBO - if false, ignore OBO document checks
        Returns:
        the saved ontology
        Throws:
        IOException - on any problem
      • saveOntology

        public org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                                                     org.semanticweb.owlapi.model.OWLDocumentFormat format,
                                                                     org.semanticweb.owlapi.model.IRI ontologyIRI)
                                                              throws IOException
        Save an ontology in the given format to an IRI.
        Parameters:
        ontology - the ontology to save
        format - the ontology format to use
        ontologyIRI - the IRI to save the ontology to
        Returns:
        the saved ontology
        Throws:
        IOException - on any problem
      • saveOntology

        public org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                                                     org.semanticweb.owlapi.model.OWLDocumentFormat format,
                                                                     String ontologyPath,
                                                                     boolean checkOBO)
                                                              throws IOException
        Save an ontology in the given format to a path, with the option to ignore OBO document checks.
        Parameters:
        ontology - the ontology to save
        format - the ontology format to use
        ontologyPath - the path to save the ontology to
        checkOBO - if false, ignore OBO document checks
        Returns:
        the saved ontology
        Throws:
        IOException - on any problem
      • saveOntology

        public org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                                                     org.semanticweb.owlapi.model.OWLDocumentFormat format,
                                                                     org.semanticweb.owlapi.model.IRI ontologyIRI,
                                                                     boolean checkOBO)
                                                              throws IOException
        Save an ontology in the given format to an IRI, with the option to ignore OBO document checks.
        Parameters:
        ontology - the ontology to save
        format - the ontology format to use
        ontologyIRI - the IRI to save the ontology to
        checkOBO - if false, ignore OBO document checks
        Returns:
        the saved ontology
        Throws:
        IOException - on any problem
      • saveOntology

        public org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                                                     org.semanticweb.owlapi.model.OWLDocumentFormat format,
                                                                     org.semanticweb.owlapi.model.IRI ontologyIRI,
                                                                     Map<String,​String> addPrefixes,
                                                                     boolean checkOBO)
                                                              throws IOException
        Save an ontology in the given format to an IRI, with option to add prefixes and option to ignore OBO document checks.
        Parameters:
        ontology - the ontology to save
        format - the ontology format to use
        ontologyIRI - the IRI to save the ontology to
        addPrefixes - map of prefixes to add to header
        checkOBO - if false, ignore OBO document checks
        Returns:
        the saved ontology
        Throws:
        IOException - on any problem
      • saveOntology

        public org.semanticweb.owlapi.model.OWLOntology saveOntology​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                                                     org.semanticweb.owlapi.model.OWLDocumentFormat format,
                                                                     org.semanticweb.owlapi.model.IRI ontologyIRI,
                                                                     Map<String,​String> addPrefixes,
                                                                     boolean checkOBO,
                                                                     EnumSet<OBOWriteOption> cleanOBO)
                                                              throws IOException
        Save an ontology in the given format to an IRI, with option to add prefixes and options to ignore OBO document checks and produce a "clean" OBO output.
        Parameters:
        ontology - the ontology to save
        format - the ontology format to use
        ontologyIRI - the IRI to save the ontology to
        addPrefixes - map of prefixes to add to header
        checkOBO - if false, ignore OBO document checks
        cleanOBO - optional parameters for OBO output
        Returns:
        the saved ontology
        Throws:
        IOException - on any problem
      • extractTerms

        public Set<String> extractTerms​(String input)
        Extract a set of term identifiers from an input string by removing comments, trimming lines, and removing empty lines. A comment is a space or newline followed by a '#', to the end of the line. This excludes '#' characters in IRIs.
        Parameters:
        input - the String containing the term identifiers
        Returns:
        a set of term identifier strings
      • cellToA1

        public static String cellToA1​(int rowNum,
                                      int colNum)
        Convert a row index and column index for a cell to A1 notation.
        Parameters:
        rowNum - row index
        colNum - column index
        Returns:
        A1 notation for cell location
      • createIRI

        public org.semanticweb.owlapi.model.IRI createIRI​(String term)
        Given a term string, use the current prefixes to create an IRI.
        Parameters:
        term - the term to convert to an IRI
        Returns:
        the new IRI or null
      • createIRI

        @Deprecated
        public org.semanticweb.owlapi.model.IRI createIRI​(String term,
                                                          boolean qName)
        Deprecated.
        replaced by createIRI(String)
        Given a term string, use the current prefixes to create an IRI.
        Parameters:
        term - the term to convert to an IRI
        qName - if true, validate that the IRI expands to a QName
        Returns:
        the new IRI or null
      • createIRIs

        public Set<org.semanticweb.owlapi.model.IRI> createIRIs​(Set<String> terms)
                                                         throws IllegalArgumentException
        Given a set of term identifier strings, return a set of IRIs.
        Parameters:
        terms - the set of term identifier strings
        Returns:
        the set of IRIs
        Throws:
        IllegalArgumentException - if term identifier is not a valid IRI
      • createLiteral

        public static org.semanticweb.owlapi.model.OWLLiteral createLiteral​(String value)
        Create an OWLLiteral.
        Parameters:
        value - the lexical value
        Returns:
        a literal
      • createTaggedLiteral

        public static org.semanticweb.owlapi.model.OWLLiteral createTaggedLiteral​(String value,
                                                                                  String lang)
        Create an OWLLiteral with a language tag.
        Parameters:
        value - the lexical value
        lang - the language tag
        Returns:
        a literal
      • createTypedLiteral

        public org.semanticweb.owlapi.model.OWLLiteral createTypedLiteral​(String value,
                                                                          String type)
        Create a typed OWLLiteral.
        Parameters:
        value - the lexical value
        type - the type IRI string
        Returns:
        a literal
      • createTypedLiteral

        public org.semanticweb.owlapi.model.OWLLiteral createTypedLiteral​(String value,
                                                                          org.semanticweb.owlapi.model.IRI type)
        Create a typed OWLLiteral.
        Parameters:
        value - the lexical value
        type - the type IRI
        Returns:
        a literal
      • parseTerms

        public Set<org.semanticweb.owlapi.model.IRI> parseTerms​(String input)
                                                         throws IllegalArgumentException
        Parse a set of IRIs from a space-separated string, ignoring '#' comments.
        Parameters:
        input - the string containing the IRI strings
        Returns:
        the set of IRIs
        Throws:
        IllegalArgumentException - if term identifier is not a valid IRI
      • parseContext

        public static com.github.jsonldjava.core.Context parseContext​(String jsonString)
                                                               throws IOException
        Load a map of prefixes from the "@context" of a JSON-LD string.
        Parameters:
        jsonString - the JSON-LD string
        Returns:
        a map from prefix name strings to prefix IRI strings
        Throws:
        IOException - on any problem
      • addBaseNamespace

        public void addBaseNamespace​(String baseNamespace)
        Add a base namespace to the IOHelper.
        Parameters:
        baseNamespace - namespace to add to bases.
      • addBaseNamespaces

        public void addBaseNamespaces​(String baseNamespacePath)
                               throws IOException
        Add a set of base namespaces to the IOHelper from file. Each base namespace should be on its own line.
        Parameters:
        baseNamespacePath - path to base namespace file
        Throws:
        IOException - if file does not exist
      • getBaseNamespaces

        public Set<String> getBaseNamespaces()
        Get the base namespaces.
        Returns:
        set of base namespaces
      • getDefaultContext

        public com.github.jsonldjava.core.Context getDefaultContext()
                                                             throws IOException
        Get a copy of the default context.
        Returns:
        a copy of the current context
        Throws:
        IOException - if default context file cannot be read
      • getContext

        public com.github.jsonldjava.core.Context getContext()
        Get a copy of the current context.
        Returns:
        a copy of the current context
      • setContext

        public void setContext()
        Set an empty context.
      • setContext

        public void setContext​(com.github.jsonldjava.core.Context context)
        Set the current JSON-LD context to the given context.
        Parameters:
        context - the new JSON-LD context
      • setContext

        public void setContext​(String jsonString)
                        throws IOException
        Set the current JSON-LD context to the given context.
        Parameters:
        jsonString - the new JSON-LD context as a JSON string
        Throws:
        IOException - on issue parsing JSON
      • setContext

        public void setContext​(Map<String,​Object> map)
                        throws IOException
        Set the current JSON-LD context to the given map.
        Parameters:
        map - a map of strings for the new JSON-LD context
        Throws:
        IOException - on issue parsing JSON
      • setXMLEntityFlag

        public void setXMLEntityFlag​(Boolean entityFlag)
        Set whether or not XML entities will be swapped into URIs in saveOntology XML output formats.
        Parameters:
        entityFlag - value to set
      • getXMLEntityFlag

        public Boolean getXMLEntityFlag()
        Get the useXMLEntities flag.
        Returns:
        boolean useXMLEntities flag
      • makePrefixManager

        public static org.semanticweb.owlapi.util.DefaultPrefixManager makePrefixManager​(Map<String,​String> prefixes)
        Make an OWLAPI DefaultPrefixManager from a map of prefixes.
        Parameters:
        prefixes - a map from prefix name strings to prefix IRI strings
        Returns:
        a new DefaultPrefixManager
      • getPrefixManager

        public org.semanticweb.owlapi.util.DefaultPrefixManager getPrefixManager()
        Get a prefix manager with the current prefixes.
        Returns:
        a new DefaultPrefixManager
      • addPrefix

        public void addPrefix​(String prefix,
                              String target)
                       throws IOException
        Add a prefix mapping to the current JSON-LD context, as a prefix string and target string. Rebuilds the context.
        Parameters:
        prefix - the short prefix to add; should not include ":"
        target - the IRI string that is the target of the prefix
        Throws:
        IOException - if prefix cannot be parsed
      • addPrefixes

        public void addPrefixes​(String prefixPath)
                         throws IOException
        Given a path to a JSON-LD prefix file, add the prefix mappings in the file to the current JSON-LD context.
        Parameters:
        prefixPath - path to JSON-LD prefix file to add
        Throws:
        IOException - if the file does not exist or cannot be read
      • addPrefixes

        public void addPrefixes​(com.github.jsonldjava.core.Context context1)
                         throws IOException
        Given a Context, add the prefix mappings to the current JSON-LD context.
        Parameters:
        context1 - Context to add
        Throws:
        IOException - if the Context cannot be set
      • getPrefixes

        public Map<String,​String> getPrefixes()
        Get a copy of the current prefix map.
        Returns:
        a copy of the current prefix map
      • setPrefixes

        public void setPrefixes​(Map<String,​Object> map)
                         throws IOException
        Set the current prefix map.
        Parameters:
        map - the new map of prefixes to use
        Throws:
        IOException - on issue parsing map to context
      • getContextString

        public String getContextString()
                                throws IOException
        Return the current prefixes as a JSON-LD string.
        Returns:
        the current prefixes as a JSON-LD string
        Throws:
        IOException - on any error
      • saveContext

        public void saveContext​(String path)
                         throws IOException
        Write the current context as a JSON-LD file.
        Parameters:
        path - the path to write the context
        Throws:
        IOException - on any error
      • saveContext

        public void saveContext​(File file)
                         throws IOException
        Write the current context as a JSON-LD file.
        Parameters:
        file - the file to write the context
        Throws:
        IOException - on any error
      • isValidCURIE

        public static boolean isValidCURIE​(CharSequence s)
        Determine if a string is a CURIE. Note that a valid CURIE is not always a valid QName. Adapted from:
        Parameters:
        s - Character sequence to check
        Returns:
        true if valid CURIE
        See Also:
        XMLUtils.isQName(CharSequence)
      • readCSV

        public static List<List<String>> readCSV​(String path)
                                          throws IOException
        Read comma-separated values from a path to a list of lists of strings.
        Parameters:
        path - file path to the CSV file
        Returns:
        a list of lists of strings
        Throws:
        IOException - on file or reading problems
      • readCSV

        public static List<List<String>> readCSV​(InputStream stream)
                                          throws IOException
        Read comma-separated values from a stream to a list of lists of strings.
        Parameters:
        stream - the stream to read from
        Returns:
        a list of lists of strings
        Throws:
        IOException - on file or reading problems
      • readCSV

        public static List<List<String>> readCSV​(Reader reader)
                                          throws IOException
        Read comma-separated values from a reader to a list of lists of strings.
        Parameters:
        reader - a reader to read data from
        Returns:
        a list of lists of strings
        Throws:
        IOException - on file or reading problems
      • readTSV

        public static List<List<String>> readTSV​(String path)
                                          throws IOException
        Read tab-separated values from a path to a list of lists of strings.
        Parameters:
        path - file path to the CSV file
        Returns:
        a list of lists of strings
        Throws:
        IOException - on file or reading problems
      • readTSV

        public static List<List<String>> readTSV​(InputStream stream)
                                          throws IOException
        Read tab-separated values from a stream to a list of lists of strings.
        Parameters:
        stream - the stream to read from
        Returns:
        a list of lists of strings
        Throws:
        IOException - on file or reading problems
      • readTSV

        public static List<List<String>> readTSV​(Reader reader)
                                          throws IOException
        Read tab-separated values from a reader to a list of lists of strings.
        Parameters:
        reader - a reader to read data from
        Returns:
        a list of lists of strings
        Throws:
        IOException - on file or reading problems
      • readTable

        public static List<List<String>> readTable​(String path)
                                            throws IOException
        Read a table from a path to a list of lists of strings.
        Parameters:
        path - file path to the CSV file
        Returns:
        a list of lists of strings
        Throws:
        IOException - on file or reading problems
      • writeTable

        public static void writeTable​(List<String[]> table,
                                      String path)
                               throws IOException
        Write a table from a list of arrays.
        Parameters:
        table - List of arrays to write
        path - path to write to
        Throws:
        IOException - on file or writing problems
      • writeTable

        public static void writeTable​(List<String[]> table,
                                      File file,
                                      char separator)
                               throws IOException
        Write a table from a list of arrays.
        Parameters:
        file - File to write to
        table - List of arrays to write
        separator - table separator
        Throws:
        IOException - on problem making Writer object or auto-closing CSVWriter
      • writeTable

        public static void writeTable​(List<String[]> table,
                                      Writer writer,
                                      char separator)
                               throws IOException
        Write a table from a list of arrays.
        Parameters:
        writer - Writer object to write to
        table - List of arrays to write
        separator - table separator
        Throws:
        IOException - on problem auto-closing writer