Class Context

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,​java.lang.Object>

    public class Context
    extends java.util.LinkedHashMap<java.lang.String,​java.lang.Object>
    A helper class which still stores all the values in a map but gives member variables easily access certain keys
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.util.AbstractMap

        java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.Object>
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static java.lang.String _iriCompactionStep5point4​(java.lang.String iri, java.lang.Object value, java.lang.String compactIRI, java.lang.String candidate, java.util.Map<java.lang.String,​java.lang.Object> termDefinitions)  
      private void checkEmptyKey​(java.util.Map<java.lang.String,​java.lang.Object> map)  
      Context clone()  
      (package private) java.lang.String compactIri​(java.lang.String iri)  
      (package private) java.lang.String compactIri​(java.lang.String iri, boolean relativeToVocab)  
      (package private) java.lang.String compactIri​(java.lang.String iri, java.lang.Object value, boolean relativeToVocab, boolean reverse)
      IRI Compaction Algorithm http://json-ld.org/spec/latest/json-ld-api/#iri-compaction Compacts an IRI or keyword into a term or prefix if it can be.
      java.lang.Object compactValue​(java.lang.String activeProperty, java.util.Map<java.lang.String,​java.lang.Object> value)
      Value Compaction Algorithm http://json-ld.org/spec/latest/json-ld-api/#value-compaction
      private void createTermDefinition​(java.util.Map<java.lang.String,​java.lang.Object> context, java.lang.String term, java.util.Map<java.lang.String,​java.lang.Boolean> defined)
      Create Term Definition Algorithm http://json-ld.org/spec/latest/json-ld-api/#create-term-definition
      (package private) java.lang.String expandIri​(java.lang.String value, boolean relative, boolean vocab, java.util.Map<java.lang.String,​java.lang.Object> context, java.util.Map<java.lang.String,​java.lang.Boolean> defined)
      IRI Expansion Algorithm http://json-ld.org/spec/latest/json-ld-api/#iri-expansion
      java.lang.Object expandValue​(java.lang.String activeProperty, java.lang.Object value)  
      java.lang.String getContainer​(java.lang.String property)
      Retrieve container mapping.
      java.util.Map<java.lang.String,​java.lang.Object> getInverse()
      Inverse Context Creation http://json-ld.org/spec/latest/json-ld-api/#inverse-context-creation Generates an inverse context for use in the compaction algorithm, if not already generated for the given active context.
      java.lang.String getLanguageMapping​(java.lang.String property)  
      java.util.Map<java.lang.String,​java.lang.String> getPrefixes​(boolean onlyCommonPrefixes)
      Return a map of potential RDF prefixes based on the JSON-LD Term Definitions in this context.
      (package private) java.util.Map<java.lang.String,​java.lang.Object> getTermDefinition​(java.lang.String key)  
      java.lang.String getTypeMapping​(java.lang.String property)  
      private void init​(JsonLdOptions options)  
      java.lang.Boolean isReverseProperty​(java.lang.String property)  
      Context parse​(java.lang.Object localContext)  
      Context parse​(java.lang.Object localContext, java.util.List<java.lang.String> remoteContexts)
      Context Processing Algorithm http://json-ld.org/spec/latest/json-ld-api/#context-processing-algorithms
      private Context parse​(java.lang.Object localContext, java.util.List<java.lang.String> remoteContexts, boolean parsingARemoteContext)
      Helper method used to work around logic errors related to the recursive nature of the JSONLD-API Context Processing Algorithm.
      private java.lang.String selectTerm​(java.lang.String iri, java.util.List<java.lang.String> containers, java.lang.String typeLanguage, java.util.List<java.lang.String> preferredValues)
      Term Selection http://json-ld.org/spec/latest/json-ld-api/#term-selection This algorithm, invoked via the IRI Compaction algorithm, makes use of an active context's inverse context to find the term that is best used to compact an IRI.
      java.util.Map<java.lang.String,​java.lang.Object> serialize()
      Deprecated.
      • Methods inherited from class java.util.LinkedHashMap

        clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, removeEldestEntry, replaceAll, values
      • Methods inherited from class java.util.HashMap

        compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
      • Methods inherited from class java.util.AbstractMap

        equals, hashCode, toString
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Map

        compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
    • Field Detail

      • URL_PATTERN

        private static final java.util.regex.Pattern URL_PATTERN
      • termDefinitions

        private java.util.Map<java.lang.String,​java.lang.Object> termDefinitions
      • inverse

        public java.util.Map<java.lang.String,​java.lang.Object> inverse
    • Constructor Detail

      • Context

        public Context()
      • Context

        public Context​(java.util.Map<java.lang.String,​java.lang.Object> map,
                       JsonLdOptions opts)
      • Context

        public Context​(java.util.Map<java.lang.String,​java.lang.Object> map)
      • Context

        public Context​(java.lang.Object context,
                       JsonLdOptions opts)
    • Method Detail

      • compactValue

        public java.lang.Object compactValue​(java.lang.String activeProperty,
                                             java.util.Map<java.lang.String,​java.lang.Object> value)
        Value Compaction Algorithm http://json-ld.org/spec/latest/json-ld-api/#value-compaction
        Parameters:
        activeProperty - The Active Property
        value - The value to compact
        Returns:
        The compacted value
      • parse

        public Context parse​(java.lang.Object localContext,
                             java.util.List<java.lang.String> remoteContexts)
                      throws JsonLdError
        Context Processing Algorithm http://json-ld.org/spec/latest/json-ld-api/#context-processing-algorithms
        Parameters:
        localContext - The Local Context object.
        remoteContexts - The list of Strings denoting the remote Context URLs.
        Returns:
        The parsed and merged Context.
        Throws:
        JsonLdError - If there is an error parsing the contexts.
      • parse

        private Context parse​(java.lang.Object localContext,
                              java.util.List<java.lang.String> remoteContexts,
                              boolean parsingARemoteContext)
                       throws JsonLdError
        Helper method used to work around logic errors related to the recursive nature of the JSONLD-API Context Processing Algorithm.
        Parameters:
        localContext - The Local Context object.
        remoteContexts - The list of Strings denoting the remote Context URLs.
        parsingARemoteContext - True if localContext represents a remote context that has been parsed and sent into this method and false otherwise. This must be set to know whether to propagate the @code key from the context to the result.
        Returns:
        The parsed and merged Context.
        Throws:
        JsonLdError - If there is an error parsing the contexts.
      • checkEmptyKey

        private void checkEmptyKey​(java.util.Map<java.lang.String,​java.lang.Object> map)
      • createTermDefinition

        private void createTermDefinition​(java.util.Map<java.lang.String,​java.lang.Object> context,
                                          java.lang.String term,
                                          java.util.Map<java.lang.String,​java.lang.Boolean> defined)
                                   throws JsonLdError
        Create Term Definition Algorithm http://json-ld.org/spec/latest/json-ld-api/#create-term-definition
        Parameters:
        context -
        defined -
        Throws:
        JsonLdError
      • expandIri

        java.lang.String expandIri​(java.lang.String value,
                                   boolean relative,
                                   boolean vocab,
                                   java.util.Map<java.lang.String,​java.lang.Object> context,
                                   java.util.Map<java.lang.String,​java.lang.Boolean> defined)
                            throws JsonLdError
        IRI Expansion Algorithm http://json-ld.org/spec/latest/json-ld-api/#iri-expansion
        Parameters:
        value -
        relative -
        vocab -
        context -
        defined -
        Returns:
        Throws:
        JsonLdError
      • compactIri

        java.lang.String compactIri​(java.lang.String iri,
                                    java.lang.Object value,
                                    boolean relativeToVocab,
                                    boolean reverse)
        IRI Compaction Algorithm http://json-ld.org/spec/latest/json-ld-api/#iri-compaction Compacts an IRI or keyword into a term or prefix if it can be. If the IRI has an associated value it may be passed.
        Parameters:
        iri - the IRI to compact.
        value - the value to check or null.
        relativeToVocab - options for how to compact IRIs: vocab: true to split after @vocab, false not to.
        reverse - true if a reverse property is being compacted, false if not.
        Returns:
        the compacted term, prefix, keyword alias, or the original IRI.
      • _iriCompactionStep5point4

        public static java.lang.String _iriCompactionStep5point4​(java.lang.String iri,
                                                                 java.lang.Object value,
                                                                 java.lang.String compactIRI,
                                                                 java.lang.String candidate,
                                                                 java.util.Map<java.lang.String,​java.lang.Object> termDefinitions)
      • getPrefixes

        public java.util.Map<java.lang.String,​java.lang.String> getPrefixes​(boolean onlyCommonPrefixes)
        Return a map of potential RDF prefixes based on the JSON-LD Term Definitions in this context.

        No guarantees of the prefixes are given, beyond that it will not contain ":".

        Parameters:
        onlyCommonPrefixes - If true, the result will not include "not so useful" prefixes, such as "term1": "http://example.com/term1", e.g. all IRIs will end with "/" or "#". If false, all potential prefixes are returned.
        Returns:
        A map from prefix string to IRI string
      • compactIri

        java.lang.String compactIri​(java.lang.String iri,
                                    boolean relativeToVocab)
      • compactIri

        java.lang.String compactIri​(java.lang.String iri)
      • clone

        public Context clone()
        Overrides:
        clone in class java.util.HashMap<java.lang.String,​java.lang.Object>
      • getInverse

        public java.util.Map<java.lang.String,​java.lang.Object> getInverse()
        Inverse Context Creation http://json-ld.org/spec/latest/json-ld-api/#inverse-context-creation Generates an inverse context for use in the compaction algorithm, if not already generated for the given active context.
        Returns:
        the inverse context.
      • selectTerm

        private java.lang.String selectTerm​(java.lang.String iri,
                                            java.util.List<java.lang.String> containers,
                                            java.lang.String typeLanguage,
                                            java.util.List<java.lang.String> preferredValues)
        Term Selection http://json-ld.org/spec/latest/json-ld-api/#term-selection This algorithm, invoked via the IRI Compaction algorithm, makes use of an active context's inverse context to find the term that is best used to compact an IRI. Other information about a value associated with the IRI is given, including which container mappings and which type mapping or language mapping would be best used to express the value.
        Returns:
        the selected term.
      • getContainer

        public java.lang.String getContainer​(java.lang.String property)
        Retrieve container mapping.
        Parameters:
        property - The Property to get a container mapping for.
        Returns:
        The container mapping if any, else null
      • isReverseProperty

        public java.lang.Boolean isReverseProperty​(java.lang.String property)
      • getTypeMapping

        public java.lang.String getTypeMapping​(java.lang.String property)
      • getLanguageMapping

        public java.lang.String getLanguageMapping​(java.lang.String property)
      • getTermDefinition

        java.util.Map<java.lang.String,​java.lang.Object> getTermDefinition​(java.lang.String key)
      • expandValue

        public java.lang.Object expandValue​(java.lang.String activeProperty,
                                            java.lang.Object value)
                                     throws JsonLdError
        Throws:
        JsonLdError
      • serialize

        @Deprecated
        public java.util.Map<java.lang.String,​java.lang.Object> serialize()
        Deprecated.