diff --git a/org.eclipse.stem.internal.data.geography.earthscience/src/org/eclipse/stem/internal/data/geography/specifications/EarthPropertyFileSpecification.java b/org.eclipse.stem.internal.data.geography.earthscience/src/org/eclipse/stem/internal/data/geography/specifications/EarthPropertyFileSpecification.java
index 82d24a9..45a1326 100644
--- a/org.eclipse.stem.internal.data.geography.earthscience/src/org/eclipse/stem/internal/data/geography/specifications/EarthPropertyFileSpecification.java
+++ b/org.eclipse.stem.internal.data.geography.earthscience/src/org/eclipse/stem/internal/data/geography/specifications/EarthPropertyFileSpecification.java
@@ -11,6 +11,8 @@
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 
+import java.util.Calendar;
+import java.util.Date;
 import java.util.StringTokenizer;
 
 import org.eclipse.stem.core.graph.NodeLabel;
@@ -73,6 +75,7 @@
 		return new EarthSciencePropertyData(new ISOKey(dataPropertyKey), propertyValue);
 	} // createDataSetData
 
+	@SuppressWarnings("deprecation")
 	@Override
 	protected NodeLabel createLabel(final AdminLevel adminLevel,
 			final ISOKey isoKey, final PropertyData graphData) {
@@ -91,6 +94,12 @@
 
 		value.setDataType(dataType);
 		value.setUnits(dataUnits);
+		
+		// Parse the dublin core to extract the valid year
+		Date validYear = this.getDublinCore().getValidStartDate();
+		Calendar c = Calendar.getInstance();
+		c.setTime(validYear);
+		value.setValidYear(c.get(Calendar.YEAR));
 
 		StringTokenizer st = new StringTokenizer(eaData.getEarthScienceData(),",");
 
