All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.uniroma2.art.coda.provisioning.ConverterContractDescription Maven / Gradle / Ivy

There is a newer version: 2.0.2
Show newest version
package it.uniroma2.art.coda.provisioning;

import java.util.Collection;
import java.util.Set;

import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Model;

import it.uniroma2.art.coda.interfaces.annotations.converters.RDFCapabilityType;

/**
 * A contract description.
 * 
 * @author Manuel Fiorelli
 *
 */
public interface ConverterContractDescription {
	/**
	 * Return the URI identifying this contract.
	 * 
	 * @return
	 */
	String getContractURI();

	/**
	 * Returns the human-readable name of this contract.
	 * 
	 * @return
	 */
	String getContractName();

	/**
	 * Returns a description of this contract.
	 * 
	 * @return
	 */
	String getContractDescription();

	/**
	 * Returns the nature of the returned RDF term. See {@link RDFCapabilityType} for the allowed values and
	 * their meaning.
	 * 
	 * @return
	 */
	RDFCapabilityType getRDFCapability();

	/**
	 * Returns the datatype that this contract can handle.
	 * 
	 * @return
	 */
	Set getDatatypes();

	/**
	 * Returns the descriptions of the available signatures.
	 * 
	 * @return
	 */
	Collection getSignatureDescriptions();

	/**
	 * Returns an RDF representation of this description.
	 * 
	 * @param model
	 */
	void toRDF(Model model);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy