package org.rddl; import java.util.SortedMap; import java.util.Iterator; /** *

A Namespace is associated with a URI reference. The Namespace interface defines a * collection of resources.

*/ public interface Namespace { /** A resource is qualified by its * Nature. * @param role The RDDL nature is specified by the xlink:role * @return {@link java.util.SortedMap java.util.SortedMap} the resources having the specified role */ public abstract SortedMap getResourcesFromNature(String role); /** A resource is qualified by its * Purpose. * @return The collection of resources matching the purpose * @param purpose The purpose of a RDDL resource is specified by an xlink:arcrole */ public abstract SortedMap getResourcesFromPurpose(String purpose); /** Select a set of resources given the destination xlink:href * @param href The xlink:href URI * @return The collection of resources matching the xlink:href */ public abstract SortedMap getResourcesFromHref(String href); /** Select a set of resources having a specified xlink:title * @param title The xlink:title * @return the collection of resources having the xlink:title */ public abstract SortedMap getResourcesFromTitle(String title); /** Select a set of resources having a specified xml:lang * @param lang The xml:lang * @return A collection of selected resources */ public abstract SortedMap getResourcesFromLang(String lang); /**

Select a set of resources given a range of ids. * The ids are specified in alphanumeric order. * The idiom: "foo","foo/0" is inclusive. *

* @param id0 The start of the range * @param id1 The end of the range * @return A collection of selected resources */ public abstract SortedMap getResourcesFromIdRange(String id0,String id1); /** Selects a resource given a particular id. * @param id The id * @return The selected resource */ public abstract Resource getResourceFromId(String id); /** Obtain an Iterator over all the resources contained in the namespace. * @return The resources in the namespace */ public abstract Iterator getResources(); /** The namespace URI for the namespace. * @return A String representing the namespace URI. */ public abstract String getURI(); }