Class ModelWrapper


  • public class ModelWrapper
    extends Object
    Wrapped version of a model from a dataset. The wrapper provides uniform use of transaction/locking for safe access plus automatic prefix expansion to simplify use from scripting languages.
    Author:
    Dave Reynolds
    • Constructor Detail

      • ModelWrapper

        public ModelWrapper​(DatasetWrapper dataset,
                            org.apache.jena.rdf.model.Model model)
      • ModelWrapper

        public ModelWrapper​(DatasetWrapper dataset)
        Create a model wrapper around the default model of the dataset
      • ModelWrapper

        public ModelWrapper​(DatasetWrapper dataset,
                            String modelname)
        Create a model wrapper around a named model of the dataset
      • ModelWrapper

        public ModelWrapper​(org.apache.jena.rdf.model.Model model)
        Create a model wrapper round a simple model, creating a wrapped dataset to hold it. Uses the global default modal instance.
    • Method Detail

      • setLanguage

        public void setLanguage​(String language)
        Set a language code (2-letter ISO639 code) which will be used to guide choice of lexical form in e.g. node.getName()
      • getLanguage

        public String getLanguage()
        Return a language code (2-letter ISO639 code) which can be used to guide choice of lexical form in e.g. node.getName()
      • getModel

        public org.apache.jena.rdf.model.Model getModel()
      • getDataset

        public org.apache.jena.query.Dataset getDataset()
      • expandPrefix

        public String expandPrefix​(String prefix)
      • getNode

        public RDFNodeWrapper getNode​(Object spec)
        Return a wrapped node from this Model.
        Parameters:
        spec - can be a curie or URI for a resource, or an existing RDFNode or RDFNodeWrapper - possibly from some other model
      • getResource

        public org.apache.jena.rdf.model.Resource getResource​(Object spec)
        Return a resource (not wrapped) from this Model.
        Parameters:
        spec - can be a curie or URI for a resource, or an existing RDFNode or RDFNodeWrapper - possibly from some other model
      • lock

        public void lock()
        Lock the dataset for reading
      • lockWrite

        public void lockWrite()
        Lock the dataset for write
      • unlock

        public void unlock()
        Unlock the dataset
      • listSubjects

        public List<RDFNodeWrapper> listSubjects​(int N)
        Return a list of at most N subjects in this model
      • listSubjects

        public List<RDFNodeWrapper> listSubjects()
        Return a list of at most N subjects in this model
      • getPrefixes

        public org.apache.jena.shared.PrefixMapping getPrefixes()
        Return a merged prefix mapping that includes and prefixes defined for this model plus any global ones which have been registered with the dataset wapper
      • querySelect

        public org.apache.jena.query.ResultSetRewindable querySelect​(String query)
        Thread/transaction safe select query.
        Parameters:
        query - query string to which query prefixes will be added from model and the wrapped dataset
        Returns:
        memory copy of the result set
      • queryAsk

        public boolean queryAsk​(String query)
        Thread/transaction safe ask query.
        Parameters:
        query - query string to which query prefixes will be added from model and the wrapped dataset
        Returns:
        result of aks
      • queryConstruct

        public ModelWrapper queryConstruct​(String query)
        Thread/transaction safe construct query.
        Parameters:
        query - query string to which query prefixes will be added from model and the wrapped dataset
        Returns:
        constructed in-memory model
      • querySelectW

        public List<Map<String,​RDFNodeWrapper>> querySelectW​(String query)
        Thread/transaction safe select query returning wrapped bindings.
        Parameters:
        query - query string to which query prefixes will be added from model and the wrapped dataset