Module prov.model

Interface WasDerivedFrom

All Superinterfaces:
HasLabel, HasOther, HasType, Identifiable, Influence, QualifiedRelation, Relation, Statement, StatementOrBundle
All Known Implementing Classes:
WasDerivedFrom

public interface WasDerivedFrom extends Identifiable, HasLabel, HasType, HasOther, Influence

Interface for PROV Derivation association.

PROV-DM Definition for Derivation: A derivation is a transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a pre-existing entity.

The constructor method ProvFactory.newWasDerivedFrom(QualifiedName, QualifiedName, QualifiedName) can be used to create an instance of WasDerivedFrom. The following code snippet creates a new derivation statement, with a type attribute. The instance of derivation is given an identifier myId.

 QualifiedName myId= ... ;  // some qualified name
 QualifiedName effectId= ... ;  // some qualified name
 QualifiedName causeId= ... ;   // some qualified name
 WasDerivedFrom myWasDerivedFrom=provFactory.newWasDerivedFrom(myId,effectId,causeId)
 myWasDerivedFrom.getType().add(provFactory.newType(Name.PROV_REVISION))
 

Relevant Factory Methods:

Schema Definition:

The following schema fragment specifies the expected content contained within this class.

 <complexType name="Derivation">
   <complexContent>
     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       <sequence>
         <element name="generatedEntity" type="{http://www.w3.org/ns/prov#}IDRef"/>
         <element name="usedEntity" type="{http://www.w3.org/ns/prov#}IDRef"/>
         <element name="activity" type="{http://www.w3.org/ns/prov#}IDRef" minOccurs="0"/>
         <element name="generation" type="{http://www.w3.org/ns/prov#}IDRef" minOccurs="0"/>
         <element name="usage" type="{http://www.w3.org/ns/prov#}IDRef" minOccurs="0"/>
         <element ref="{http://www.w3.org/ns/prov#}label" maxOccurs="unbounded" minOccurs="0"/>
         <element ref="{http://www.w3.org/ns/prov#}type" maxOccurs="unbounded" minOccurs="0"/>
         <any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
       </sequence>
       <attribute ref="{http://www.w3.org/ns/prov#}id"/>
     </restriction>
   </complexContent>
 </complexType>
 

See Also: