Skip to content

Resolvers do unnecessary work #29

Description

@quoll

The Resolver interface has just the one method:
String resolve(String first, String second);
Where the second string is a URI/IRI to be resolved relative to a URI/IRI in the first string.

This method is only ever called from URIExtractor10, URIExtractor11 with the first parameter set to context.getBase(). This value is always the same, but because it is parameterized, a URI or IRI must be created around it every time.

It may be useful to keep the dual parameter method available, but I'd also like to suggest introducing the following two methods:

void setBase(String first);
String resolve(String second);

In this way the IRI (or URI) need only be generated once, and all other URIs/IRIs would be resolved relative to it. Also, if this setBase() method were called before the Parser's sink, then the StatementSink would be able to use this mechanism to easily override a null base (see issue #28)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions