Skip to contents

The DataPackage class provides methods for adding and extracting data objects from a data package. The contents of a data package can include arbitrary types of objects, including data files, program code, visualizations and images, animations, and any other type of file. The DataPackage class stores the individual members of the data package along with key system-level metadata about each object, including its size, checksum, identifier, and other key information needed to effectively archive the members of the package. In addition, the DataPackage class can include key provenance metadata about the relationships among the objects in the data package. For example, the data package can document that one object provides documentation for another (cito:documents), and that one object was derived from another (prov:wasDerivedFrom) by executing a program that used source data (prov:used) to create a derived data object prov:wasGeneratedBy. These relationships are integral to the data package, and can be visualized by programs that understand the ProvONE provenance model (see

The DataPackage class is an R representation of an underlying Open Archives Initiative ORE model (Object Reuse and Exchange; see, and follows the DataONE Data Packaging model (see



A list containing provenance relationships of package objects


A list containing identifiers for objects in the DataPackage


A SystemMetadata class instance describing the package


A list containing identifiers for objects associated with the DataPackage


A character string specifying the identifier for the package resource map. This is assigned after a package is uploaded or downloaded from a repository.


  • initialize: Initialize a DataPackage object.

  • addAccessRule: Add access rules to DataObjects in a DataPackage.

  • addMember: Add a DataObject to a DataPackage.

  • clearAccessPolicy: Clear access policies for DataObjects in a DataPackage.

  • containsId: Returns true if the specified object is a member of the data package.

  • describeWorkflow: Add data derivation information to a DataPackage.

  • getData: Get the data content of a specified data object.

  • getSize: Get the Count of Objects in the DataPackage.

  • getIdentifiers: Get the Identifiers of DataPackage members.

  • getMember: Return the DataPackage Member by Identifier.

  • getRelationships: Retrieve relationships of data package objects.

  • getValue: Get values for selected DataPackage members.

  • hasAccessRule: Determine if access rules exists for DataObjects in a DataPackage.

  • insertRelationship: Insert relationships between objects in a DataPackage.

  • removeAccessRule: Remove an access rule from DataObject in a DataPackage.

  • removeMember: Remove the specified DataObject from a DataPackage.

  • removeRelationships: Remove relationships of objects in a DataPackage.

  • replaceMember: Replace the raw data or file associated with a DataObject.

  • selectMember: Select package members based on slot values.

  • serializePackage: Create an OAI-ORE resource map from the DataPackage.

  • serializeToBagIt: Serialize A DataPackage into a BagIt Archive File.

  • setPublicAccess: Set the access policy to readable by anyone for DataObject in a DataPackage.

  • setValue: Set values for selected DataPackage members

  • show: Print DataPackage information in a formatted view.

  • updateMetadata: Update selected elements of the XML content of a DataObject in a DataPackage

  • updateRelationships: Update package relationships by replacing an old identifier with a new one.

See also