Check against LTER requirements for scope.identifier.revision
'scope.n.m', where 'n' and 'm' are integers and 'scope' is one of an allowed set of values
edi.1546.3
2
emlVersion
valid
Type:
metadata
System:
lter
On failure:
error
EML version 2.1.0 or beyond
Check the EML document declaration for version 2.1.0 or higher
eml://ecoinformatics.org/eml-2.1.0 or higher
https://eml.ecoinformatics.org/eml-2.2.0
Validity of this quality report is dependent on this check being valid.
3
schemaValid
valid
Type:
metadata
System:
knb
On failure:
error
Document is schema-valid EML
Check document schema validity
schema-valid
Document validated for namespace: 'https://eml.ecoinformatics.org/eml-2.2.0'
Validity of this quality report is dependent on this check being valid.
4
parserValid
valid
Type:
metadata
System:
knb
On failure:
error
Document is EML parser-valid
Check document using the EML IDs and references parser
Validates with the EML IDs and references parser
EML IDs and references parser succeeded
Validity of this quality report is dependent on this check being valid.
5
schemaValidDereferenced
valid
Type:
metadata
System:
lter
On failure:
error
Dereferenced document is schema-valid EML
References are dereferenced, and the resulting file validated
schema-valid
Dereferenced document validated for namespace: 'https://eml.ecoinformatics.org/eml-2.2.0'
Validity of this quality report is dependent on this check being valid.
6
keywordPresent
valid
Type:
metadata
System:
lter
On failure:
warn
keyword element is present
Checks to see if at least one keyword is present
Presence of one or more keyword elements
5 'keyword' element(s) found
7
methodsElementPresent
valid
Type:
metadata
System:
lter
On failure:
warn
A 'methods' element is present
All datasets should contain a 'methods' element, at a minimum a link to a separate methods doc.
presence of 'methods' at one or more xpaths.
1 'methods' element(s) found
EML Best Practices, p. 28
8
coveragePresent
valid
Type:
metadata
System:
lter
On failure:
warn
coverage element is present
At least one coverage element should be present in a dataset.
At least one of geographicCoverage, taxonomicCoverage, or temporalCoverage is present in the EML.
1 'coverage' element(s) found
9
geographicCoveragePresent
info
Type:
metadata
System:
lter
On failure:
info
geographicCoverage is present
Check that geographicCoverage exists in EML at the dataset level, or at least one entity's level, or at least one attribute's level.
geographicCoverage at least at the dataset level.
1 'geographicCoverage' element(s) found
Many but not all datasets are appropriate to have spatial coverage.
If sampling EML is used within methods, does that obviate geographicCoverage? Or should those sites be repeated or referenced?
EML Best Practices v.2, p. 22-23. "One geographicCoverage element should be included, whose boundingCoordinates describe the extent of the data....Additional geographicCoverage elements may be entered at the dataset level if there are significant distances between study sites and it would be confusing if they were grouped into one bounding box." 6 decimal places.
10
taxonomicCoveragePresent
info
Type:
metadata
System:
lter
On failure:
info
taxonomicCoverage is present
Check that taxonomicCoverage exists in EML at the dataset level, or at least one entity's level, or at least one attribute's level.
taxonomicCoverage at least at the dataset level.
0 'taxonomicCoverage' element(s) found
Only when taxa are pertinent to the dataset will they have taxonomicCoverage.
Could search title, abstract, keywords for any taxonomic name (huge). Could search keywordType="taxonomic".
EML Best Practices v.2, p. 25
11
temporalCoveragePresent
info
Type:
metadata
System:
lter
On failure:
info
temporalCoverage is present
Check that temporalCoverage exists in EML at the dataset level, or at least one entity's level, or at least one attribute's level.
temporalCoverage at least at the dataset level.
1 'temporalCoverage' element(s) found
LTER wants to search datasets by time; the best place to search is the dataset level temporal coverage.
Most datasets have a temporal range.
EML Best Practices v.2, p. 24
12
pastaDoiAbsent
valid
Type:
metadata
System:
lter
On failure:
error
An alternateIdentifier with a DOI system attribute that looks like it is generated by PASTA should not be present
Reject the data package if it contains an alternateIdentifier DOI that looks like PASTA generated it.
No PASTA DOIs are expected to be found in the uploaded data package
No PASTA DOI alternateIdentifier elements found
PASTA DOI values might appear in an uploaded data package (by various mechanisms). PASTA will assign a DOI after the upload has completed successfully, so an initial one should not be there.
13
titleLength
valid
Type:
metadata
System:
lter
On failure:
warn
Dataset title length is at 5 least words.
If the title is shorter than 5 words, it might be insufficient. Title word count between 7 and 20 including prepositions and numbers.
Between 7 and 20 words
8 words found.
EML Best Practices, v.2, p. 13
14
fundingPresence
warn
Type:
metadata
System:
lter
On failure:
warn
check to see if funding element is present
Checks to see if the funding element is included.
the funding element is expected to be included
funding not found
Searches will want to display datasets by funder or grant id.
Include the funding source, please.
15
datasetAbstractLength
valid
Type:
metadata
System:
lter
On failure:
warn
Dataset abstract element is a minimum of 20 words
Check the length of a dataset abstract and warn if less than 20 words.
An abstract is 20 words or more.
75 words found.
EML Best Practices
16
duplicateEntityName
valid
Type:
metadata
System:
lter
On failure:
error
There are no duplicate entity names
Checks that content is not duplicated by other entityName elements in the document
entityName is not a duplicate within the document
No duplicates found
Data Manager requires a non-empty, non-duplicate entityName value for every entity
Declare a non-empty entityName and ensure that there are no duplicate entityName values in the document
Entity Report
Entity Name:
2010 Plant Community Data
Entity Identifier:
#
Identifier
Status
Quality Check
Name
Description
Expected
Found
Explanation
Suggestion
Reference
1
entityNameLength
valid
Type:
metadata
System:
knb
On failure:
warn
Length of entityName is not excessive (less than 100 char)
length of entity name is less than 100 characters
entityName value is 100 characters or less
25
2
entityDescriptionPresent
valid
Type:
metadata
System:
lter
On failure:
warn
An entity description is present
Check for presence of an entity description.
EML Best practices pp. 32-33, "...should have enough information for a user..."
true
With entityName sometimes serving as a file name rather than a title, it is important to be very descriptive here.
3
numHeaderLinesPresent
info
Type:
metadata
System:
knb
On failure:
info
'numHeaderLines' element is present
Check for presence of the 'numHeaderLines' element.
Document contains 'numHeaderLines' element.
'numHeaderLines' element: 1
4
numFooterLinesPresent
info
Type:
metadata
System:
knb
On failure:
info
'numFooterLines' element is present
Check for presence of the 'numFooterLines' element.
Document contains 'numFooterLines' element.
No 'numFooterLines' element found
If data file contains footer lines, 'numFooterLines' must be specified.
Warn the user if the numberOfRecords check is not present
A number of records element is expected for this entity
numberOfRecords element found
This is a valuable check that we have the correct table.
8
entitySizePresence
valid
Type:
metadata
System:
knb
On failure:
warn
Check for presence of an entity size element
Look for entity size element as a prep for checking congruence, and if not present, generate a warn. Note that to be most useful (i.e, to check congruence), entity size should contain the most precise measure of size, which is "byte" (the default unit); however, the presence or name of the entity size unit is NOT checked.
Entity size is present. If unit="byte" or unit is omitted (default = byte), then congruence can be checked.
Found entity size element with value of 70456 and size unit specified as 'byte'.
Examining the entity size is prep for checking congruence. Including the element is best practice, and if not present, a warn is generated. To be most useful, entity size should contain the most precise measure of size, which is "byte" (the default unit).
Include an entity size in bytes
Example success: knb-lter-sbc.3.12. Example of size in units other than byte: knb-lter-mcr.6.56.
9
integrityChecksumPresence
valid
Type:
metadata
System:
lter
On failure:
warn
A physical/authentication element is present and specifies a method attribute with a value of MD5 or SHA-1
Check for presence of a physical/authentication element containing a checksum or hash value for an integrity check (e.g. MD5, SHA-1). Warn if an entity does not have a physical/authentication element, or if none of the physical/authentication elements specify a method attribute with a value of MD5 or SHA-1.
At least one physical/authentication element with a method attribute specifying MD5 or SHA-1 and containing a checksum or hash value that can be used to perform an integrity check on the data.
true
PASTA will use this value to check the integrity of the data it downloads from your site. In addition, PASTA is planning to compare the contributor-supplied checksum/hash value documented
in the physical/authentication element to the checksum/hash value of this entity downloaded from previous revisions of this data package. If PASTA already has a copy of this entity, it will be able
to avoid an unnecessary download of the entity from your site, resulting in faster processing of the new data package revision when you update it in PASTA.
Add a physical/authentication element and store the entity checksum or hash value in it using a method such as MD5 or SHA-1.
10
attributeNamesUnique
valid
Type:
metadata
System:
knb
On failure:
warn
Attribute names are unique
Checks if attributeName values are unique in the table. Not required by EML.
Unique attribute names.
true
A good table does not have duplicate column names.
EML Best Practices
11
displayDownloadData
info
Type:
data
System:
knb
On failure:
info
Display downloaded data
Display the first kilobyte of data that is downloaded
Succeeded in accessing URL: <![CDATA[https://ezeml.edirepository.org/user-data/Bradley_Herrick-27360cfc1b738b36b38126475e516e10/uploads/Faville%20Prairie%20Plant%20Community%202023/2010%20Plant%20Community%20Data.csv]]>
14
integrityChecksum
valid
Type:
congruency
System:
lter
On failure:
error
Compare the metadata checksum for an entity to the checksum of the downloaded entity
Two possible responses: valid if checksums match; error if checksums do not match.
4bfbc3ff86aac51a19a316ba1f47c2aa
4bfbc3ff86aac51a19a316ba1f47c2aa
Matching checksums will ensure data integrity during upload to the repository.
If the found integrity hash value does not match the expected integrity hash value, there may have been a loss of integrity in the data download. Check that the hash method and hash value documented in the metadata are the correct values.
15
entitySizeCongruence
valid
Type:
congruency
System:
knb
On failure:
error
Check that the entity size in the Level 0 metadata matches the one PASTA+ generates.
Compare raw file size of file to [entity]/physical/size element in metadata. Return error if not matching.
70456
70456
Examining the entity size is a method for checking that this is the correct entity.
Check the entity size.
16
databaseTableCreated
valid
Type:
metadata
System:
knb
On failure:
error
Database table created
Status of creating a database table
A database table is expected to be generated from the EML attributes.
A database table was generated from the attributes description
Data are examined and possible record delimiters are displayed
If no record delimiter was specified, we assume that \r\n is the delimiter. Search the first row for other record delimiters and see if other delimiters are found.
No other potential record delimiters expected in the first row.
No other potential record delimiters were detected. A valid record delimiter was previously detected
Warn the user if the numberOfRecords check is not present
A number of records element is expected for this entity
numberOfRecords element found
This is a valuable check that we have the correct table.
8
entitySizePresence
valid
Type:
metadata
System:
knb
On failure:
warn
Check for presence of an entity size element
Look for entity size element as a prep for checking congruence, and if not present, generate a warn. Note that to be most useful (i.e, to check congruence), entity size should contain the most precise measure of size, which is "byte" (the default unit); however, the presence or name of the entity size unit is NOT checked.
Entity size is present. If unit="byte" or unit is omitted (default = byte), then congruence can be checked.
Found entity size element with value of 1935 and size unit specified as 'byte'.
Examining the entity size is prep for checking congruence. Including the element is best practice, and if not present, a warn is generated. To be most useful, entity size should contain the most precise measure of size, which is "byte" (the default unit).
Include an entity size in bytes
Example success: knb-lter-sbc.3.12. Example of size in units other than byte: knb-lter-mcr.6.56.
9
integrityChecksumPresence
valid
Type:
metadata
System:
lter
On failure:
warn
A physical/authentication element is present and specifies a method attribute with a value of MD5 or SHA-1
Check for presence of a physical/authentication element containing a checksum or hash value for an integrity check (e.g. MD5, SHA-1). Warn if an entity does not have a physical/authentication element, or if none of the physical/authentication elements specify a method attribute with a value of MD5 or SHA-1.
At least one physical/authentication element with a method attribute specifying MD5 or SHA-1 and containing a checksum or hash value that can be used to perform an integrity check on the data.
true
PASTA will use this value to check the integrity of the data it downloads from your site. In addition, PASTA is planning to compare the contributor-supplied checksum/hash value documented
in the physical/authentication element to the checksum/hash value of this entity downloaded from previous revisions of this data package. If PASTA already has a copy of this entity, it will be able
to avoid an unnecessary download of the entity from your site, resulting in faster processing of the new data package revision when you update it in PASTA.
Add a physical/authentication element and store the entity checksum or hash value in it using a method such as MD5 or SHA-1.
10
attributeNamesUnique
valid
Type:
metadata
System:
knb
On failure:
warn
Attribute names are unique
Checks if attributeName values are unique in the table. Not required by EML.
Unique attribute names.
true
A good table does not have duplicate column names.
EML Best Practices
11
displayDownloadData
info
Type:
data
System:
knb
On failure:
info
Display downloaded data
Display the first kilobyte of data that is downloaded
Up to one kilobyte of data should be displayed
Found for displayDownloadData check
<![CDATA[
Metadata for the 2010 Data -- The second survey,Explanation
,
Year,"For simplicity in the published paper, we used 2010 to indicate data collected in three years. The site was sampled in 2010, 2011, and 2015. The 2015 data were collected almost exclusively in quadrats that were to varying degrees wetlands. Many had substantial tree and shrub cover. In the data file the years are represented by 10, 11, and 15. "
,
Point,"In the manuscipt prepared from these data we used ""point"" to designate the 4 m2 plots, and ""quadrat"" to indicate the four 1 m2 sub plots. ""Point"" is the alphanumeric code originally applied by Max Partch to his 4 m2 plots. It consists of a letter indicating one of the N-S lines A-L and a number indcating one of the 15 points that made up each E-W line. Thus total points sampled was 12 x 15 = 180."
,
Quad,"The 1 m2 plot. The 4 m2 points were oriented to the compass directions and divided into the four 1m2 sub-plots.. These were sampled in sequence -- SW,NW,NE,SE. Only new species]]>
12
urlReturnsData
valid
Type:
congruency
System:
knb
On failure:
error
URL returns data
Checks whether a URL returns data. Unless the URL is specified to be function="information", the URL should return the resource for download.
Succeeded in accessing URL: <![CDATA[https://ezeml.edirepository.org/user-data/Bradley_Herrick-27360cfc1b738b36b38126475e516e10/uploads/Faville%20Prairie%20Plant%20Community%202023/2010%20Plant%20Community_Metadata.csv]]>
14
integrityChecksum
valid
Type:
congruency
System:
lter
On failure:
error
Compare the metadata checksum for an entity to the checksum of the downloaded entity
Two possible responses: valid if checksums match; error if checksums do not match.
5050817cac8932bd33fe2c4adaad73d4
5050817cac8932bd33fe2c4adaad73d4
Matching checksums will ensure data integrity during upload to the repository.
If the found integrity hash value does not match the expected integrity hash value, there may have been a loss of integrity in the data download. Check that the hash method and hash value documented in the metadata are the correct values.
15
entitySizeCongruence
valid
Type:
congruency
System:
knb
On failure:
error
Check that the entity size in the Level 0 metadata matches the one PASTA+ generates.
Compare raw file size of file to [entity]/physical/size element in metadata. Return error if not matching.
1935
1935
Examining the entity size is a method for checking that this is the correct entity.
Check the entity size.
16
databaseTableCreated
valid
Type:
metadata
System:
knb
On failure:
error
Database table created
Status of creating a database table
A database table is expected to be generated from the EML attributes.
A database table was generated from the attributes description
Data are examined and possible record delimiters are displayed
If no record delimiter was specified, we assume that \r\n is the delimiter. Search the first row for other record delimiters and see if other delimiters are found.
No other potential record delimiters expected in the first row.
No other potential record delimiters were detected. A valid record delimiter was previously detected
No errors expected during data loading or data loading was not attempted for this data entity
The data table loaded successfully into a database
23
numberOfRecords
warn
Type:
congruency
System:
knb
On failure:
warn
Number of records in metadata matches number of rows loaded
Compare number of records specified in metadata to number of records found in data
14
7
The number of records found in the data table (7) does not match the 'numberOfRecords' value specified in the EML (14). Empty row(s) (e.g., `,,,,,`) found (7) in the data table.
24
headerRowAttributeNames
info
Type:
congruency
System:
lter
On failure:
info
Header row is displayed alongside attribute names
Compare the content of the data header row to the content of EML attribute names.
No expectation, information only
Found for headerRowAttributeNames check
<![CDATA[*** HEADER ROWS ***
Metadata for the 2010 Data -- The second survey,Explanation
*** ATTRIBUTE LIST ***
Metadata for the 2010 Data -- The second survey,Explanation]]>
Customer should evaluate the findings
25
dateFormatMatches
valid
Type:
congruency
System:
lter
On failure:
warn
Date format in metadata matches data
dateTime/formatString in attribute metadata is from the preferred list, and the data matches. A non-match generates only a warn.
Format string is preferred, and all data values match the format string
Data values matched the specified formatString.
Dates should be consistently formatted and match the formatString in metadata.
Entity Report
Entity Name:
Partch_1978_1979 Plant Community Data
Entity Identifier:
#
Identifier
Status
Quality Check
Name
Description
Expected
Found
Explanation
Suggestion
Reference
1
entityNameLength
valid
Type:
metadata
System:
knb
On failure:
warn
Length of entityName is not excessive (less than 100 char)
length of entity name is less than 100 characters
entityName value is 100 characters or less
37
2
entityDescriptionPresent
valid
Type:
metadata
System:
lter
On failure:
warn
An entity description is present
Check for presence of an entity description.
EML Best practices pp. 32-33, "...should have enough information for a user..."
true
With entityName sometimes serving as a file name rather than a title, it is important to be very descriptive here.
3
numHeaderLinesPresent
info
Type:
metadata
System:
knb
On failure:
info
'numHeaderLines' element is present
Check for presence of the 'numHeaderLines' element.
Document contains 'numHeaderLines' element.
'numHeaderLines' element: 1
4
numFooterLinesPresent
info
Type:
metadata
System:
knb
On failure:
info
'numFooterLines' element is present
Check for presence of the 'numFooterLines' element.
Document contains 'numFooterLines' element.
No 'numFooterLines' element found
If data file contains footer lines, 'numFooterLines' must be specified.
Warn the user if the numberOfRecords check is not present
A number of records element is expected for this entity
numberOfRecords element found
This is a valuable check that we have the correct table.
8
entitySizePresence
valid
Type:
metadata
System:
knb
On failure:
warn
Check for presence of an entity size element
Look for entity size element as a prep for checking congruence, and if not present, generate a warn. Note that to be most useful (i.e, to check congruence), entity size should contain the most precise measure of size, which is "byte" (the default unit); however, the presence or name of the entity size unit is NOT checked.
Entity size is present. If unit="byte" or unit is omitted (default = byte), then congruence can be checked.
Found entity size element with value of 97338 and size unit specified as 'byte'.
Examining the entity size is prep for checking congruence. Including the element is best practice, and if not present, a warn is generated. To be most useful, entity size should contain the most precise measure of size, which is "byte" (the default unit).
Include an entity size in bytes
Example success: knb-lter-sbc.3.12. Example of size in units other than byte: knb-lter-mcr.6.56.
9
integrityChecksumPresence
valid
Type:
metadata
System:
lter
On failure:
warn
A physical/authentication element is present and specifies a method attribute with a value of MD5 or SHA-1
Check for presence of a physical/authentication element containing a checksum or hash value for an integrity check (e.g. MD5, SHA-1). Warn if an entity does not have a physical/authentication element, or if none of the physical/authentication elements specify a method attribute with a value of MD5 or SHA-1.
At least one physical/authentication element with a method attribute specifying MD5 or SHA-1 and containing a checksum or hash value that can be used to perform an integrity check on the data.
true
PASTA will use this value to check the integrity of the data it downloads from your site. In addition, PASTA is planning to compare the contributor-supplied checksum/hash value documented
in the physical/authentication element to the checksum/hash value of this entity downloaded from previous revisions of this data package. If PASTA already has a copy of this entity, it will be able
to avoid an unnecessary download of the entity from your site, resulting in faster processing of the new data package revision when you update it in PASTA.
Add a physical/authentication element and store the entity checksum or hash value in it using a method such as MD5 or SHA-1.
10
dateTimeFormatString
valid
Type:
metadata
System:
knb
On failure:
warn
dateTime/formatString specified in metadata is from a preferred set of values
Certain features of dateTime data formats are preferred, eg, ISO 8601, 4-digit years.
This check looks at metadata to see if the dateTime format is in that preferred list.
A formatString value that is a member of the preferred set is expected.
YYYY
A preferred format string was found.
Modify the dateTime/formatString, selecting from among the preferred values one that best matches the data format
11
attributeNamesUnique
valid
Type:
metadata
System:
knb
On failure:
warn
Attribute names are unique
Checks if attributeName values are unique in the table. Not required by EML.
Unique attribute names.
true
A good table does not have duplicate column names.
EML Best Practices
12
displayDownloadData
info
Type:
data
System:
knb
On failure:
info
Display downloaded data
Display the first kilobyte of data that is downloaded
Succeeded in accessing URL: <![CDATA[https://ezeml.edirepository.org/user-data/Bradley_Herrick-27360cfc1b738b36b38126475e516e10/uploads/Faville%20Prairie%20Plant%20Community%202023/Partch_1978_1979%20Plant%20Community%20Data.csv]]>
15
integrityChecksum
valid
Type:
congruency
System:
lter
On failure:
error
Compare the metadata checksum for an entity to the checksum of the downloaded entity
Two possible responses: valid if checksums match; error if checksums do not match.
0774554c5058d5b14faae2baf65c58bf
0774554c5058d5b14faae2baf65c58bf
Matching checksums will ensure data integrity during upload to the repository.
If the found integrity hash value does not match the expected integrity hash value, there may have been a loss of integrity in the data download. Check that the hash method and hash value documented in the metadata are the correct values.
16
entitySizeCongruence
valid
Type:
congruency
System:
knb
On failure:
error
Check that the entity size in the Level 0 metadata matches the one PASTA+ generates.
Compare raw file size of file to [entity]/physical/size element in metadata. Return error if not matching.
97338
97338
Examining the entity size is a method for checking that this is the correct entity.
Check the entity size.
17
databaseTableCreated
valid
Type:
metadata
System:
knb
On failure:
error
Database table created
Status of creating a database table
A database table is expected to be generated from the EML attributes.
A database table was generated from the attributes description
Data are examined and possible record delimiters are displayed
If no record delimiter was specified, we assume that \r\n is the delimiter. Search the first row for other record delimiters and see if other delimiters are found.
No other potential record delimiters expected in the first row.
No other potential record delimiters were detected. A valid record delimiter was previously detected
Warn the user if the numberOfRecords check is not present
A number of records element is expected for this entity
numberOfRecords element found
This is a valuable check that we have the correct table.
8
entitySizePresence
valid
Type:
metadata
System:
knb
On failure:
warn
Check for presence of an entity size element
Look for entity size element as a prep for checking congruence, and if not present, generate a warn. Note that to be most useful (i.e, to check congruence), entity size should contain the most precise measure of size, which is "byte" (the default unit); however, the presence or name of the entity size unit is NOT checked.
Entity size is present. If unit="byte" or unit is omitted (default = byte), then congruence can be checked.
Found entity size element with value of 1092 and size unit specified as 'byte'.
Examining the entity size is prep for checking congruence. Including the element is best practice, and if not present, a warn is generated. To be most useful, entity size should contain the most precise measure of size, which is "byte" (the default unit).
Include an entity size in bytes
Example success: knb-lter-sbc.3.12. Example of size in units other than byte: knb-lter-mcr.6.56.
9
integrityChecksumPresence
valid
Type:
metadata
System:
lter
On failure:
warn
A physical/authentication element is present and specifies a method attribute with a value of MD5 or SHA-1
Check for presence of a physical/authentication element containing a checksum or hash value for an integrity check (e.g. MD5, SHA-1). Warn if an entity does not have a physical/authentication element, or if none of the physical/authentication elements specify a method attribute with a value of MD5 or SHA-1.
At least one physical/authentication element with a method attribute specifying MD5 or SHA-1 and containing a checksum or hash value that can be used to perform an integrity check on the data.
true
PASTA will use this value to check the integrity of the data it downloads from your site. In addition, PASTA is planning to compare the contributor-supplied checksum/hash value documented
in the physical/authentication element to the checksum/hash value of this entity downloaded from previous revisions of this data package. If PASTA already has a copy of this entity, it will be able
to avoid an unnecessary download of the entity from your site, resulting in faster processing of the new data package revision when you update it in PASTA.
Add a physical/authentication element and store the entity checksum or hash value in it using a method such as MD5 or SHA-1.
10
attributeNamesUnique
valid
Type:
metadata
System:
knb
On failure:
warn
Attribute names are unique
Checks if attributeName values are unique in the table. Not required by EML.
Unique attribute names.
true
A good table does not have duplicate column names.
EML Best Practices
11
displayDownloadData
info
Type:
data
System:
knb
On failure:
info
Display downloaded data
Display the first kilobyte of data that is downloaded
Up to one kilobyte of data should be displayed
Found for displayDownloadData check
<![CDATA[
Metadata for Max Partch's 78-79 Data
"The columns are the same as for the 2010 resample, with one exception. Partch did not record his data by 1m2 sub-plots. We retain the column to accommodate programing, but assingn a code of 99 to indicate there are no data for sub-plots. "
Plot Locations.
"Partch permanently marked the centers of his plots, but did not further connect their location to any other system, such as the Township, Range, and Section system. "
"The coordnates as indicated (see ""Point Coordinates"" sheet) were collected using aTrimble GeoExplorer 6000 XH in different years 2008 to 2015 by locating the permanetn markers. The grid of permanent points is not geometrically perfect relfecting the imperfection of Partch's surveying methods. In figures that present data such as the distributio of species, ""virtual"" locations that create a geometrically perfect grid therefore contain small deviations from the actual placement on the ground. Considering that the GPS locations also include some]]>
12
urlReturnsData
valid
Type:
congruency
System:
knb
On failure:
error
URL returns data
Checks whether a URL returns data. Unless the URL is specified to be function="information", the URL should return the resource for download.
Succeeded in accessing URL: <![CDATA[https://ezeml.edirepository.org/user-data/Bradley_Herrick-27360cfc1b738b36b38126475e516e10/uploads/Faville%20Prairie%20Plant%20Community%202023/Partch_1978_1979%20Plant%20Community_Metadata.csv]]>
14
integrityChecksum
valid
Type:
congruency
System:
lter
On failure:
error
Compare the metadata checksum for an entity to the checksum of the downloaded entity
Two possible responses: valid if checksums match; error if checksums do not match.
13c59be5ce2238df686274086fe14094
13c59be5ce2238df686274086fe14094
Matching checksums will ensure data integrity during upload to the repository.
If the found integrity hash value does not match the expected integrity hash value, there may have been a loss of integrity in the data download. Check that the hash method and hash value documented in the metadata are the correct values.
15
entitySizeCongruence
valid
Type:
congruency
System:
knb
On failure:
error
Check that the entity size in the Level 0 metadata matches the one PASTA+ generates.
Compare raw file size of file to [entity]/physical/size element in metadata. Return error if not matching.
1092
1092
Examining the entity size is a method for checking that this is the correct entity.
Check the entity size.
16
databaseTableCreated
valid
Type:
metadata
System:
knb
On failure:
error
Database table created
Status of creating a database table
A database table is expected to be generated from the EML attributes.
A database table was generated from the attributes description
Data are examined and possible record delimiters are displayed
If no record delimiter was specified, we assume that \r\n is the delimiter. Search the first row for other record delimiters and see if other delimiters are found.
No other potential record delimiters expected in the first row.
No other potential record delimiters were detected. A valid record delimiter was previously detected
Warn the user if the numberOfRecords check is not present
A number of records element is expected for this entity
numberOfRecords element found
This is a valuable check that we have the correct table.
8
entitySizePresence
valid
Type:
metadata
System:
knb
On failure:
warn
Check for presence of an entity size element
Look for entity size element as a prep for checking congruence, and if not present, generate a warn. Note that to be most useful (i.e, to check congruence), entity size should contain the most precise measure of size, which is "byte" (the default unit); however, the presence or name of the entity size unit is NOT checked.
Entity size is present. If unit="byte" or unit is omitted (default = byte), then congruence can be checked.
Found entity size element with value of 5246 and size unit specified as 'byte'.
Examining the entity size is prep for checking congruence. Including the element is best practice, and if not present, a warn is generated. To be most useful, entity size should contain the most precise measure of size, which is "byte" (the default unit).
Include an entity size in bytes
Example success: knb-lter-sbc.3.12. Example of size in units other than byte: knb-lter-mcr.6.56.
9
integrityChecksumPresence
valid
Type:
metadata
System:
lter
On failure:
warn
A physical/authentication element is present and specifies a method attribute with a value of MD5 or SHA-1
Check for presence of a physical/authentication element containing a checksum or hash value for an integrity check (e.g. MD5, SHA-1). Warn if an entity does not have a physical/authentication element, or if none of the physical/authentication elements specify a method attribute with a value of MD5 or SHA-1.
At least one physical/authentication element with a method attribute specifying MD5 or SHA-1 and containing a checksum or hash value that can be used to perform an integrity check on the data.
true
PASTA will use this value to check the integrity of the data it downloads from your site. In addition, PASTA is planning to compare the contributor-supplied checksum/hash value documented
in the physical/authentication element to the checksum/hash value of this entity downloaded from previous revisions of this data package. If PASTA already has a copy of this entity, it will be able
to avoid an unnecessary download of the entity from your site, resulting in faster processing of the new data package revision when you update it in PASTA.
Add a physical/authentication element and store the entity checksum or hash value in it using a method such as MD5 or SHA-1.
10
attributeNamesUnique
valid
Type:
metadata
System:
knb
On failure:
warn
Attribute names are unique
Checks if attributeName values are unique in the table. Not required by EML.
Unique attribute names.
true
A good table does not have duplicate column names.
EML Best Practices
11
displayDownloadData
info
Type:
data
System:
knb
On failure:
info
Display downloaded data
Display the first kilobyte of data that is downloaded
Succeeded in accessing URL: <![CDATA[https://ezeml.edirepository.org/user-data/Bradley_Herrick-27360cfc1b738b36b38126475e516e10/uploads/Faville%20Prairie%20Plant%20Community%202023/Sampling%20Plot%20Geolocations.csv]]>
14
integrityChecksum
valid
Type:
congruency
System:
lter
On failure:
error
Compare the metadata checksum for an entity to the checksum of the downloaded entity
Two possible responses: valid if checksums match; error if checksums do not match.
f5b66be754f02d411e4d66c3e86c58f1
f5b66be754f02d411e4d66c3e86c58f1
Matching checksums will ensure data integrity during upload to the repository.
If the found integrity hash value does not match the expected integrity hash value, there may have been a loss of integrity in the data download. Check that the hash method and hash value documented in the metadata are the correct values.
15
entitySizeCongruence
valid
Type:
congruency
System:
knb
On failure:
error
Check that the entity size in the Level 0 metadata matches the one PASTA+ generates.
Compare raw file size of file to [entity]/physical/size element in metadata. Return error if not matching.
5246
5246
Examining the entity size is a method for checking that this is the correct entity.
Check the entity size.
16
databaseTableCreated
valid
Type:
metadata
System:
knb
On failure:
error
Database table created
Status of creating a database table
A database table is expected to be generated from the EML attributes.
A database table was generated from the attributes description
Data are examined and possible record delimiters are displayed
If no record delimiter was specified, we assume that \r\n is the delimiter. Search the first row for other record delimiters and see if other delimiters are found.
No other potential record delimiters expected in the first row.
No other potential record delimiters were detected. A valid record delimiter was previously detected
No errors expected during data loading or data loading was not attempted for this data entity
The data table loaded successfully into a database
23
numberOfRecords
warn
Type:
congruency
System:
knb
On failure:
warn
Number of records in metadata matches number of rows loaded
Compare number of records specified in metadata to number of records found in data
182
181
The number of records found in the data table (181) does not match the 'numberOfRecords' value specified in the EML (182). Empty row(s) (e.g., `,,,,,`) found (1) in the data table.
24
headerRowAttributeNames
info
Type:
congruency
System:
lter
On failure:
info
Header row is displayed alongside attribute names
Compare the content of the data header row to the content of EML attribute names.
No expectation, information only
Found for headerRowAttributeNames check
<![CDATA[*** HEADER ROWS ***
POINT_ID,Latitude,Longitude
*** ATTRIBUTE LIST ***
POINT_ID,Latitude,Longitude]]>
Customer should evaluate the findings
25
dateFormatMatches
valid
Type:
congruency
System:
lter
On failure:
warn
Date format in metadata matches data
dateTime/formatString in attribute metadata is from the preferred list, and the data matches. A non-match generates only a warn.
Format string is preferred, and all data values match the format string
Data values matched the specified formatString.
Dates should be consistently formatted and match the formatString in metadata.
Entity Report
Entity Name:
Faville Prairie Plant Species List
Entity Identifier:
#
Identifier
Status
Quality Check
Name
Description
Expected
Found
Explanation
Suggestion
Reference
1
entityNameLength
valid
Type:
metadata
System:
knb
On failure:
warn
Length of entityName is not excessive (less than 100 char)
length of entity name is less than 100 characters
entityName value is 100 characters or less
34
2
entityDescriptionPresent
valid
Type:
metadata
System:
lter
On failure:
warn
An entity description is present
Check for presence of an entity description.
EML Best practices pp. 32-33, "...should have enough information for a user..."
true
With entityName sometimes serving as a file name rather than a title, it is important to be very descriptive here.
3
numHeaderLinesPresent
info
Type:
metadata
System:
knb
On failure:
info
'numHeaderLines' element is present
Check for presence of the 'numHeaderLines' element.
Document contains 'numHeaderLines' element.
'numHeaderLines' element: 1
4
numFooterLinesPresent
info
Type:
metadata
System:
knb
On failure:
info
'numFooterLines' element is present
Check for presence of the 'numFooterLines' element.
Document contains 'numFooterLines' element.
No 'numFooterLines' element found
If data file contains footer lines, 'numFooterLines' must be specified.
Warn the user if the numberOfRecords check is not present
A number of records element is expected for this entity
numberOfRecords element found
This is a valuable check that we have the correct table.
8
entitySizePresence
valid
Type:
metadata
System:
knb
On failure:
warn
Check for presence of an entity size element
Look for entity size element as a prep for checking congruence, and if not present, generate a warn. Note that to be most useful (i.e, to check congruence), entity size should contain the most precise measure of size, which is "byte" (the default unit); however, the presence or name of the entity size unit is NOT checked.
Entity size is present. If unit="byte" or unit is omitted (default = byte), then congruence can be checked.
Found entity size element with value of 20463 and size unit specified as 'byte'.
Examining the entity size is prep for checking congruence. Including the element is best practice, and if not present, a warn is generated. To be most useful, entity size should contain the most precise measure of size, which is "byte" (the default unit).
Include an entity size in bytes
Example success: knb-lter-sbc.3.12. Example of size in units other than byte: knb-lter-mcr.6.56.
9
integrityChecksumPresence
valid
Type:
metadata
System:
lter
On failure:
warn
A physical/authentication element is present and specifies a method attribute with a value of MD5 or SHA-1
Check for presence of a physical/authentication element containing a checksum or hash value for an integrity check (e.g. MD5, SHA-1). Warn if an entity does not have a physical/authentication element, or if none of the physical/authentication elements specify a method attribute with a value of MD5 or SHA-1.
At least one physical/authentication element with a method attribute specifying MD5 or SHA-1 and containing a checksum or hash value that can be used to perform an integrity check on the data.
true
PASTA will use this value to check the integrity of the data it downloads from your site. In addition, PASTA is planning to compare the contributor-supplied checksum/hash value documented
in the physical/authentication element to the checksum/hash value of this entity downloaded from previous revisions of this data package. If PASTA already has a copy of this entity, it will be able
to avoid an unnecessary download of the entity from your site, resulting in faster processing of the new data package revision when you update it in PASTA.
Add a physical/authentication element and store the entity checksum or hash value in it using a method such as MD5 or SHA-1.
10
attributeNamesUnique
valid
Type:
metadata
System:
knb
On failure:
warn
Attribute names are unique
Checks if attributeName values are unique in the table. Not required by EML.
Unique attribute names.
true
A good table does not have duplicate column names.
EML Best Practices
11
displayDownloadData
info
Type:
data
System:
knb
On failure:
info
Display downloaded data
Display the first kilobyte of data that is downloaded
Up to one kilobyte of data should be displayed
Found for displayDownloadData check
<![CDATA[
Native (N) or I,Wetland Status,COC,SppID**,Species,Old and other names,Comments,New Names
N,,,ACASP,Acalypha spp.,,,
N,FACU,0,ACARHM,Acalypha rhomboidea Raf.,,,
N,FACW-,0,ACENGN,Acer negundo L.,,,
N,FACW,2,ACESCC,Acer saccharinum,,,
N,FAC,,ACERBR,Acer rubrum L.,,,
N,FACU,1,ACHMLL,Achillea millefolium L.,,,
I,OBL,,ACOCLM,Acorus calamus,Only 3 records from Jeff. Co. in herb. ,Considered sterile introduct.,
N,OBL,7,ACOAMR,Acorus americanus (Raf.) Raf.,A. calamus var. amer,"Native, 2 Partch Colls UW @ Faville",
N,FACW,,AGATNF, Agalinis tenuifolia (Vahl) Raf.,,UBH240804 AGALINiS coll. L7 SW. MN reports lists wet prairie as habitat,
I,FACW,,AGRGGN,Agrostis gigantea Roth,A. alba,,
N,FAC,4,AGRHML,"Agrostis hyemalis (Walter) Britton, Sterns & Poggenb. var. scabra (Willd.) Blomq.",,,
I,FACU,0,AGRRPN,Agropyron repens (L) P. Beuv.,Elytrigia r. ,,
I,FACW,,AGRSTL,Agrostis stolonifera,,Confusion with gigantea?,
N,OBL,4,ALITRV,Alisma triviale,,"1936 Collection for ""Crawfish Prairie""",
N,FACU,4,ALLCND,Allium]]>
12
urlReturnsData
valid
Type:
congruency
System:
knb
On failure:
error
URL returns data
Checks whether a URL returns data. Unless the URL is specified to be function="information", the URL should return the resource for download.
Succeeded in accessing URL: <![CDATA[https://ezeml.edirepository.org/user-data/Bradley_Herrick-27360cfc1b738b36b38126475e516e10/uploads/Faville%20Prairie%20Plant%20Community%202023/Faville%20Prairie%20Plant%20Species%20List.csv]]>
14
integrityChecksum
valid
Type:
congruency
System:
lter
On failure:
error
Compare the metadata checksum for an entity to the checksum of the downloaded entity
Two possible responses: valid if checksums match; error if checksums do not match.
673ab1025e7a53c08757904ea607dc4d
673ab1025e7a53c08757904ea607dc4d
Matching checksums will ensure data integrity during upload to the repository.
If the found integrity hash value does not match the expected integrity hash value, there may have been a loss of integrity in the data download. Check that the hash method and hash value documented in the metadata are the correct values.
15
entitySizeCongruence
valid
Type:
congruency
System:
knb
On failure:
error
Check that the entity size in the Level 0 metadata matches the one PASTA+ generates.
Compare raw file size of file to [entity]/physical/size element in metadata. Return error if not matching.
20463
20463
Examining the entity size is a method for checking that this is the correct entity.
Check the entity size.
16
databaseTableCreated
valid
Type:
metadata
System:
knb
On failure:
error
Database table created
Status of creating a database table
A database table is expected to be generated from the EML attributes.
A database table was generated from the attributes description
Data are examined and possible record delimiters are displayed
If no record delimiter was specified, we assume that \r\n is the delimiter. Search the first row for other record delimiters and see if other delimiters are found.
No other potential record delimiters expected in the first row.
No other potential record delimiters were detected. A valid record delimiter was previously detected
No errors expected during data loading or data loading was not attempted for this data entity
The data table loaded successfully into a database
23
numberOfRecords
warn
Type:
congruency
System:
knb
On failure:
warn
Number of records in metadata matches number of rows loaded
Compare number of records specified in metadata to number of records found in data
371
366
The number of records found in the data table (366) does not match the 'numberOfRecords' value specified in the EML (371). Empty row(s) (e.g., `,,,,,`) found (5) in the data table.
24
headerRowAttributeNames
info
Type:
congruency
System:
lter
On failure:
info
Header row is displayed alongside attribute names
Compare the content of the data header row to the content of EML attribute names.
No expectation, information only
Found for headerRowAttributeNames check
<![CDATA[*** HEADER ROWS ***
Native (N) or I,Wetland Status,COC,SppID**,Species,Old and other names,Comments,New Names
*** ATTRIBUTE LIST ***
Native (N) or I,Wetland Status,COC,SppID**,Species,Old and other names,Comments,New Names]]>
Customer should evaluate the findings
25
dateFormatMatches
valid
Type:
congruency
System:
lter
On failure:
warn
Date format in metadata matches data
dateTime/formatString in attribute metadata is from the preferred list, and the data matches. A non-match generates only a warn.
Format string is preferred, and all data values match the format string
Data values matched the specified formatString.
Dates should be consistently formatted and match the formatString in metadata.