Class IRIProviderJenaIRI.IRIxJena

  • Enclosing class:
    IRIProviderJenaIRI

    public static class IRIProviderJenaIRI.IRIxJena
    extends IRIx
    IRIx implementation for the jena-iri provider.
    • Method Detail

      • isAbsolute

        public boolean isAbsolute()
        Description copied from class: IRIx
        An absolute URI is one with a URI scheme and without a fragment. The other components, host (authority), path, and query, are optional.

        absolute-URI = scheme ":" hier-part [ "?" query ]

        Beware of the meaning : http:abc is an absolute URI - it has only a schema and a path without a root.

        Note that a URI can be both "not absolute" and "not relative", e.g. http://example/path#fragment.

        See IRIx.isReference() for testing whether a URI is suitable for use in RDF.

        Specified by:
        isAbsolute in class IRIx
      • isRelative

        public boolean isRelative()
        Description copied from class: IRIx
        A relative URI one without a scheme, and maybe without some of the other parts.

        Often it is just the path part.

        See IRIx.isReference() for testing whether a URI is suitable for use in RDF.

        Note that a URI can be both "not absolute" and "not relative", e.g. http://example/path#fragment.

        Specified by:
        isRelative in class IRIx
      • isReference

        public boolean isReference()
        Description copied from class: IRIx
        An RDF Reference is an URI which has scheme. If it is hierarchical, it should have a non-empty host authority. It may have a query component and may have a fragment component. This not a term in RFC 3986 and it is not the same as "absolute URI".

        In RDF data it is a useful concept. It is either an absolute URI, but if it is hierarchical, it must have a host.

        Examples:

        • http://www.w3.org/
        • http://www.w3.org/1999/02/22-rdf-syntax-ns#type
        • urn:abc:def
        • urn:abc:def#frag
        but not
        • http:abc -- no host authority; HTTP is a hierarchical URI scheme
        • http:// -- the http(s) URI scheme requires the host to be not empty if there is an authority component.

        In practical terms:

        • It has a scheme name.
        • It does not have user info ("user:password@")
        • It can have a fragment.
        • If it is an HTTP URI:
          • It has a host authority, that is, a "//" section
          • It should have a path (starting "/" after the host authority) but this is not required.
        • If it is a URN (RFC8141), which is a "rootless URI" with no "//" part:
        Specified by:
        isReference in class IRIx
      • hasScheme

        public boolean hasScheme​(java.lang.String scheme)
        Description copied from class: IRIx
        Test whether the IRI has the given scheme name.

        The scheme name should be lowercase.

        Specified by:
        hasScheme in class IRIx
      • resolve

        public IRIx resolve​(java.lang.String other)
        Description copied from class: IRIx
        Try to resolve a string against this IRI as base. This call is "base.resolver(possibleRelativeIRI)". Throw IRIException if the string does not conform to the IRI grammar.
        Specified by:
        resolve in class IRIx
      • resolve

        public IRIx resolve​(IRIx other)
        Description copied from class: IRIx
        Try to resolve a string against this IRI as base. Throw IRIException if the string does not conform to the IRI grammar. Return the original IRIx if there is no change.
        Specified by:
        resolve in class IRIx
      • relativize

        public IRIx relativize​(IRIx other)
        Description copied from class: IRIx
        Return (if possible), an IRI that is relative to the base argument. If this IRI is a relative path, this is returned unchanged.

        The base ("this" object) must have a scheme, have no fragment and no query string. Only the path name is made relative.

        If no relative IRI can be found, return null.

        Specified by:
        relativize in class IRIx
      • getImpl

        public IRI getImpl()
        Description copied from class: IRIx
        Return the implementation object of the provider. The class of the object depends on the provider.
        Specified by:
        getImpl in class IRIx
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in class IRIx
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in class IRIx