package de.mpiwg.itgroup.dm2e.utils;

import org.openrdf.model.URI;
import org.openrdf.model.ValueFactory;
import org.openrdf.model.impl.ValueFactoryImpl;

public class EDM {

	static ValueFactory f;
	
	static public String edm;
	
	//classes
	public static URI Agent;
	public static URI EuropeanaAggregation;
	public static URI EuropeanaObject;
	public static URI Event;
	public static URI InformationResource;
	public static URI NonInformationResource;
	public static URI PhysicalThing;
	public static URI Place;
	public static URI ProvidedCHO;
	public static URI TimeSpan;
	public static URI WebResource;
	
	//properties
	public static URI aggregatedCHO;
	public static URI currentLocation;
	public static URI happenedAt;
	public static URI hasMet;
	public static URI hasType;
	public static URI hasView;
	public static URI incorporates;
	public static URI isAnnotationOf;
	public static URI isDerivativeOf;
	public static URI isNextInSequence;
	public static URI isRelatedTo;
	public static URI isRepresentationOf;
	public static URI isSimilarTo;
	public static URI isSuccessorOf;
	public static URI landingPage;
	public static URI occurredAt;
	public static URI realizes;
	public static URI wasPresentAt;
	
	static public URI isShownBy;
	static public URI isShownAt;
	static public URI object;
	public static URI rights;
	
	static{
		
		f = ValueFactoryImpl.getInstance();
		
		edm = "http://www.europeana.eu/schemas/edm/";
		
		Agent = f.createURI(edm + "Agent");
		EuropeanaAggregation = f.createURI(edm + "EuropeanaAggregation");
		EuropeanaObject = f.createURI(edm + "EuropeanaObject");
		Event = f.createURI(edm + "Event");
		InformationResource = f.createURI(edm + "InformationResource");
		NonInformationResource = f.createURI(edm + "NonInformationResource");
		PhysicalThing = f.createURI(edm + "PhysicalThing");
		Place = f.createURI(edm + "Place");
		ProvidedCHO = f.createURI(edm + "ProvidedCHO");
		TimeSpan = f.createURI(edm + "TimeSpan");
		WebResource = f.createURI(edm + "WebResource");
		
		
		aggregatedCHO = f.createURI(edm + "aggregatedCHO");
		currentLocation = f.createURI(edm + "currentLocation");
		happenedAt = f.createURI(edm + "happenedAt");
		hasMet = f.createURI(edm + "hasMet");
		hasType = f.createURI(edm + "hasType");
		hasView = f.createURI(edm + "hasView");
		incorporates = f.createURI(edm + "incorporates");
		isAnnotationOf = f.createURI(edm + "isAnnotationOf");
		isDerivativeOf = f.createURI(edm + "isDerivativeOf");
		isNextInSequence = f.createURI(edm + "isNextInSequence");
		isRelatedTo = f.createURI(edm + "isRelatedTo");
		isRepresentationOf = f.createURI(edm + "isRepresentationOf");
		isSimilarTo = f.createURI(edm + "isSimilarTo");
		isSuccessorOf = f.createURI(edm + "isSuccessorOf");
		landingPage = f.createURI(edm + "landingPage");
		occurredAt = f.createURI(edm + "occurredAt");
		realizes = f.createURI(edm + "realizes");
		wasPresentAt = f.createURI(edm + "wasPresentAt");
		
		isShownBy = f.createURI(edm + "isShownBy");
		isShownAt = f.createURI(edm + "isShownAt");
		object = f.createURI(edm + "object");
		rights = f.createURI(edm + "rights");
	}
}
