Class DefaultSchemaResolver

java.lang.Object
org.incenp.linkml.schema.DefaultSchemaResolver
All Implemented Interfaces:
ISchemaResolver

public class DefaultSchemaResolver extends Object implements ISchemaResolver
The schema resolver that implements the default behaviour for resolving imports declarations within a LinkML schema.

If the name to resolve contains a colon, this resolver assumes it is a relative file name, and attempts to find it on the local file system. Otherwise, it assumes the name is a URI pointing to a remote resource.

Of note, this resolver automatically and silently redirects any import starting with the https://w3id.org/linkml/ prefix to a version of the corresponding schema that is embedded within the LinkML-Java runtime.

  • Constructor Details

    • DefaultSchemaResolver

      public DefaultSchemaResolver()
  • Method Details

    • resolve

      public ISchemaSource resolve(String name, String base) throws InvalidSchemaException
      Description copied from interface: ISchemaResolver
      Resolves the given schema name into a schema source object.
      Specified by:
      resolve in interface ISchemaResolver
      Parameters:
      name - The name of the schema to resolve. Of note, if the name was originally provided as a Curie, this method will receive the expanded form of the original name.
      base - The base location from which to resolve relative names.
      Returns:
      A ISchemaSource object that can be used to access the content of the schema.
      Throws:
      InvalidSchemaException - If the name cannot be resolved into a schema source.