Class JenaIngestUtils


  • public class JenaIngestUtils
    extends Object
    • Constructor Summary

      Constructors 
      Constructor Description
      JenaIngestUtils()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.jena.rdf.model.Model dedupAndExtract​(org.apache.jena.rdf.model.Model model, String preferredNamespace)
      Returns a model where redundant individuals that are sameAs one another are smushed using URIs in preferred namespaces where possible.
      JenaIngestUtils.MergeResult doMerge​(String uri1, String uri2, org.apache.jena.ontology.OntModel baseOntModel, org.apache.jena.ontology.OntModel tboxOntModel, boolean usePrimaryLabelOnly)
      Merges statements about resource uri2 into resource uri1 and delete uri2.
      void doPermanentURI​(String oldModel, String newModel, String oldNamespace, String newNamespace, org.apache.jena.rdf.model.ModelMaker maker, VitroRequest vreq)  
      Map<String,​LinkedList<String>> generatePropertyMap​(List<org.apache.jena.rdf.model.Model> sourceModels, org.apache.jena.rdf.model.ModelMaker maker)  
      org.apache.jena.ontology.OntModel generateTBox​(org.apache.jena.rdf.model.Model abox)  
      String getUnusedURI​(String newNamespace, WebappDaoFactory wdf)  
      void processPropertyValueStrings​(org.apache.jena.rdf.model.Model source, org.apache.jena.rdf.model.Model destination, org.apache.jena.rdf.model.Model additions, org.apache.jena.rdf.model.Model retractions, String processorClass, String processorMethod, String originalPropertyURI, String newPropertyURI)  
      org.apache.jena.rdf.model.Model renameBNodes​(org.apache.jena.rdf.model.Model inModel, String namespaceEtc)
      Returns a new copy of the input model with blank nodes renamed with namespaceEtc plus a random int.
      org.apache.jena.rdf.model.Model renameBNodes​(org.apache.jena.rdf.model.Model inModel, String namespaceEtc, org.apache.jena.rdf.model.Model dedupModel)
      Returns a new copy of the input model with blank nodes renamed with namespaceEtc plus a random int.
      org.apache.jena.rdf.model.Model renameBNodesByPattern​(org.apache.jena.rdf.model.Model inModel, String namespaceEtc, org.apache.jena.rdf.model.Model dedupModel, String pattern, String property)  
      org.apache.jena.rdf.model.Model smushResources​(org.apache.jena.rdf.model.Model inModel, org.apache.jena.rdf.model.Property prop)
      A simple resource smusher based on a supplied inverse-functional property.
      org.apache.jena.rdf.model.Model splitPropertyValues​(org.apache.jena.rdf.model.Model inModel, String propertyURI, String splitRegex, String newPropertyURI, boolean trim)
      Splits values for a given data property URI on a supplied regex and asserts each value using newPropertyURI.
    • Constructor Detail

      • JenaIngestUtils

        public JenaIngestUtils()
    • Method Detail

      • renameBNodes

        public org.apache.jena.rdf.model.Model renameBNodes​(org.apache.jena.rdf.model.Model inModel,
                                                            String namespaceEtc)
        Returns a new copy of the input model with blank nodes renamed with namespaceEtc plus a random int.
        Parameters:
        inModel - input Jena Model
        namespaceEtc - Namespace
      • renameBNodes

        public org.apache.jena.rdf.model.Model renameBNodes​(org.apache.jena.rdf.model.Model inModel,
                                                            String namespaceEtc,
                                                            org.apache.jena.rdf.model.Model dedupModel)
        Returns a new copy of the input model with blank nodes renamed with namespaceEtc plus a random int. Will prevent URI collisions with supplied dedupModel
        Parameters:
        inModel - input Jena Model
        namespaceEtc - Namespace
      • renameBNodesByPattern

        public org.apache.jena.rdf.model.Model renameBNodesByPattern​(org.apache.jena.rdf.model.Model inModel,
                                                                     String namespaceEtc,
                                                                     org.apache.jena.rdf.model.Model dedupModel,
                                                                     String pattern,
                                                                     String property)
      • generatePropertyMap

        public Map<String,​LinkedList<String>> generatePropertyMap​(List<org.apache.jena.rdf.model.Model> sourceModels,
                                                                        org.apache.jena.rdf.model.ModelMaker maker)
      • processPropertyValueStrings

        public void processPropertyValueStrings​(org.apache.jena.rdf.model.Model source,
                                                org.apache.jena.rdf.model.Model destination,
                                                org.apache.jena.rdf.model.Model additions,
                                                org.apache.jena.rdf.model.Model retractions,
                                                String processorClass,
                                                String processorMethod,
                                                String originalPropertyURI,
                                                String newPropertyURI)
      • splitPropertyValues

        public org.apache.jena.rdf.model.Model splitPropertyValues​(org.apache.jena.rdf.model.Model inModel,
                                                                   String propertyURI,
                                                                   String splitRegex,
                                                                   String newPropertyURI,
                                                                   boolean trim)
        Splits values for a given data property URI on a supplied regex and asserts each value using newPropertyURI. New statements returned in a Jena Model. Split values may be optionally trim()ed.
        Parameters:
        inModel - Input Jena model
        propertyURI - URI for property
        splitRegex - Regex for split
        newPropertyURI - URI for new property
        trim - Flag to trim property
        Returns:
        outModel
      • smushResources

        public org.apache.jena.rdf.model.Model smushResources​(org.apache.jena.rdf.model.Model inModel,
                                                              org.apache.jena.rdf.model.Property prop)
        A simple resource smusher based on a supplied inverse-functional property. A new model containing only resources about the smushed statements is returned.
        Parameters:
        inModel - Input Jena model
        prop - Property
      • dedupAndExtract

        public org.apache.jena.rdf.model.Model dedupAndExtract​(org.apache.jena.rdf.model.Model model,
                                                               String preferredNamespace)
        Returns a model where redundant individuals that are sameAs one another are smushed using URIs in preferred namespaces where possible.
        Parameters:
        model - Jena Model
        preferredNamespace - Preferred Namespace
      • generateTBox

        public org.apache.jena.ontology.OntModel generateTBox​(org.apache.jena.rdf.model.Model abox)
      • doMerge

        public JenaIngestUtils.MergeResult doMerge​(String uri1,
                                                   String uri2,
                                                   org.apache.jena.ontology.OntModel baseOntModel,
                                                   org.apache.jena.ontology.OntModel tboxOntModel,
                                                   boolean usePrimaryLabelOnly)
        Merges statements about resource uri2 into resource uri1 and delete uri2.
        Parameters:
        uri1 - The resource to merge to
        uri2 - The resource to merge from
        baseOntModel - The model containing the relevant statements
        tboxOntModel - The model containing class and property data
        usePrimaryLabelOnly - If true, discard rdfs:labels from uri2. Otherwise retain.
      • doPermanentURI

        public void doPermanentURI​(String oldModel,
                                   String newModel,
                                   String oldNamespace,
                                   String newNamespace,
                                   org.apache.jena.rdf.model.ModelMaker maker,
                                   VitroRequest vreq)