Merge branch 'master' of code-repo.d4science.org:MaDgIK/validator-engine
This commit is contained in:
commit
ba14a751c3
|
@ -3,20 +3,62 @@ package eu.dnetlib.validator2.validation.guideline;
|
|||
public abstract class AbstractGuideline<T> implements Guideline<T> {
|
||||
|
||||
private final String name;
|
||||
private String description;
|
||||
private String link;
|
||||
private String fairPrinciples;
|
||||
private final int weight;
|
||||
private RequirementLevel requirementLevel;
|
||||
|
||||
public AbstractGuideline(String name, int weight) {
|
||||
this.name = name;
|
||||
this.weight = weight;
|
||||
}
|
||||
|
||||
public AbstractGuideline(String name, String description, String link, int weight, RequirementLevel requirementLevel) {
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
this.link = link;
|
||||
this.weight = weight;
|
||||
this.requirementLevel = requirementLevel;
|
||||
}
|
||||
|
||||
public AbstractGuideline(String name, String description, String link, String fairPrinciples, int weight, RequirementLevel requirementLevel) {
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
this.link = link;
|
||||
this.fairPrinciples = fairPrinciples;
|
||||
this.weight = weight;
|
||||
this.requirementLevel = requirementLevel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLink() {
|
||||
return link;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFairPrinciples() {
|
||||
return fairPrinciples;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getWeight() {
|
||||
return weight;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
public RequirementLevel getRequirementLevel() {
|
||||
return requirementLevel;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,9 +4,17 @@ import eu.dnetlib.validator2.engine.Status;
|
|||
|
||||
public interface Guideline<T> {
|
||||
|
||||
String getName();
|
||||
|
||||
String getDescription();
|
||||
|
||||
String getLink();
|
||||
|
||||
String getFairPrinciples();
|
||||
|
||||
int getWeight(); //that's the "score" of the guideline if it succeeds
|
||||
|
||||
String getName();
|
||||
RequirementLevel getRequirementLevel();
|
||||
|
||||
default Result validate(T t) {
|
||||
return validate(t == null ? "Object" : t.getClass().getSimpleName(), t);
|
||||
|
|
|
@ -14,10 +14,19 @@ public final class SyntheticGuideline extends AbstractGuideline<Document> {
|
|||
private CompilationResult compilationResult;
|
||||
private static final ThreadLocal<GuidelineEvaluation> evaluation = new ThreadLocal<>();
|
||||
|
||||
|
||||
private SyntheticGuideline(String name, int weight) {
|
||||
super(name, weight);
|
||||
}
|
||||
|
||||
private SyntheticGuideline(String name, String description, String link, int weight, RequirementLevel requirementLevel) {
|
||||
super(name, description, link, weight, requirementLevel);
|
||||
}
|
||||
|
||||
private SyntheticGuideline(String name, String description, String link, String fairPrinciples, int weight, RequirementLevel requirementLevel) {
|
||||
super(name, description, link, fairPrinciples, weight, requirementLevel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result validate(String id, Document document) {
|
||||
logger.debug("Validating document {} in {}", id, Thread.currentThread());
|
||||
|
@ -83,4 +92,46 @@ public final class SyntheticGuideline extends AbstractGuideline<Document> {
|
|||
guideline.compilationResult = compilationResult;
|
||||
return guideline;
|
||||
}
|
||||
|
||||
|
||||
public static SyntheticGuideline of(String name, String description, String link, int weight, RequirementLevel requirementLevel, ElementSpec elementSpec) {
|
||||
|
||||
String canonicalName = Helper.ensureNonEmpty(name, () -> new IllegalArgumentException("Name cannot be empty"));
|
||||
String canonicalDescription = Helper.ensureNonEmpty(description, () -> new IllegalArgumentException("Description cannot be empty"));
|
||||
String canonicalLink = Helper.ensureNonEmpty(link, () -> new IllegalArgumentException("Link cannot be empty"));
|
||||
|
||||
// Here we define a guideline with a specific elementSpec as origin, we cannot allow null
|
||||
if ( weight < 0 )
|
||||
throw new IllegalArgumentException("Weight cannot be negative");
|
||||
else if ( requirementLevel == null )
|
||||
throw new IllegalArgumentException("Requirement level cannot be empty");
|
||||
else if ( elementSpec == null )
|
||||
throw new IllegalArgumentException("ElementSpec cannot be empty");
|
||||
|
||||
SyntheticGuideline guideline = new SyntheticGuideline(canonicalName, canonicalDescription, canonicalLink, weight, requirementLevel);
|
||||
guideline.compilationResult = new ElementSpecCompiler().compile(elementSpec, evaluation::get);
|
||||
return guideline;
|
||||
}
|
||||
|
||||
|
||||
public static SyntheticGuideline of(String name, String description, String link, String fairPrinciples, int weight, RequirementLevel requirementLevel, ElementSpec elementSpec) {
|
||||
|
||||
String canonicalName = Helper.ensureNonEmpty(name, () -> new IllegalArgumentException("Name cannot be empty"));
|
||||
String canonicalDescription = Helper.ensureNonEmpty(description, () -> new IllegalArgumentException("Description cannot be empty"));
|
||||
String canonicalLink = Helper.ensureNonEmpty(link, () -> new IllegalArgumentException("Link cannot be empty"));
|
||||
String canonicalFairPrinciples = Helper.ensureNonEmpty(fairPrinciples, () -> new IllegalArgumentException("FairPrinciples cannot be empty"));
|
||||
|
||||
// Here we define a guideline with a specific elementSpec as origin, we cannot allow null
|
||||
if ( weight < 0 )
|
||||
throw new IllegalArgumentException("Weight cannot be negative");
|
||||
else if ( requirementLevel == null )
|
||||
throw new IllegalArgumentException("Requirement level cannot be empty");
|
||||
else if ( elementSpec == null )
|
||||
throw new IllegalArgumentException("ElementSpec cannot be empty");
|
||||
|
||||
SyntheticGuideline guideline = new SyntheticGuideline(canonicalName, canonicalDescription, canonicalLink, canonicalFairPrinciples, weight, requirementLevel);
|
||||
guideline.compilationResult = new ElementSpecCompiler().compile(elementSpec, evaluation::get);
|
||||
return guideline;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -227,17 +227,36 @@ public final class FAIR_Data_GuidelinesProfile extends AbstractOpenAireProfile {
|
|||
.build();
|
||||
|
||||
//TODO: weights for guidelines haven't been finalized. They've been given an arbitrary value of 10.
|
||||
public static SyntheticGuideline F1_01D = SyntheticGuideline.of("Data is identified by a persistent identifier", 10, F1_01D_SPEC);
|
||||
public static SyntheticGuideline F1_02D = SyntheticGuideline.of("Data is identified by a globally unique identifier", 10, F1_02D_SPEC);
|
||||
// public static SyntheticGuideline F4_01M = SyntheticGuideline.of("F4_01M", 10, F4_01M_SPEC);
|
||||
public static SyntheticGuideline A1_01M = SyntheticGuideline.of("Metadata contains information to enable the user to get access to the data", 10, A1_01M_SPEC);
|
||||
// public static SyntheticGuideline A2_01M = SyntheticGuideline.of("A2_01M", 10, A2_01M_SPEC);
|
||||
// public static SyntheticGuideline I1_01M = SyntheticGuideline.of("I1_01M", 10, I1_01M_SPEC);
|
||||
// public static SyntheticGuideline I1_02M = SyntheticGuideline.of("I1_02M", 10, I1_02M_SPEC);
|
||||
public static SyntheticGuideline I3_01M_1 = SyntheticGuideline.of("Metadata includes references to other metadata", 10, I3_01M_SPEC_1);
|
||||
// public static SyntheticGuideline I3_01M_2 = SyntheticGuideline.of("I3_01M_2", 5, I3_01M_SPEC_2);
|
||||
// public static SyntheticGuideline R1_01M = SyntheticGuideline.of("R1_01M", 10, R1_01M_SPEC);
|
||||
public static SyntheticGuideline R1_1_01M = SyntheticGuideline.of("Metadata includes information about the licence under which the data can be reused", 10, R1_1_01M_SPEC);
|
||||
public static SyntheticGuideline F1_01D = SyntheticGuideline.of("Data is identified by a persistent identifier", "description", "link",
|
||||
10, RequirementLevel.MANDATORY, F1_01D_SPEC);
|
||||
public static SyntheticGuideline F1_02D = SyntheticGuideline.of("Data is identified by a globally unique identifier", "description", "link",
|
||||
10, RequirementLevel.MANDATORY, F1_02D_SPEC);
|
||||
|
||||
//public static SyntheticGuideline F4_01M = SyntheticGuideline.of("F4_01M", "description", "link",
|
||||
// 10, RequirementLevel.MANDATORY, F4_01M_SPEC);
|
||||
|
||||
public static SyntheticGuideline A1_01M = SyntheticGuideline.of("Metadata contains information to enable the user to get access to the data", "description", "link",
|
||||
10, RequirementLevel.MANDATORY, A1_01M_SPEC);
|
||||
|
||||
// public static SyntheticGuideline A2_01M = SyntheticGuideline.of("A2_01M", "description", "link",
|
||||
// 10, RequirementLevel.MANDATORY, A2_01M_SPEC);
|
||||
|
||||
// public static SyntheticGuideline I1_01M = SyntheticGuideline.of("I1_01M", "description", "link",
|
||||
// 10, RequirementLevel.MANDATORY, I1_01M_SPEC);
|
||||
|
||||
// public static SyntheticGuideline I1_02M = SyntheticGuideline.of("I1_02M", "description", "link",
|
||||
// 10, RequirementLevel.MANDATORY, I1_02M_SPEC);
|
||||
public static SyntheticGuideline I3_01M_1 = SyntheticGuideline.of("Metadata includes references to other metadata", "description", "link",
|
||||
10, RequirementLevel.MANDATORY, I3_01M_SPEC_1);
|
||||
|
||||
// public static SyntheticGuideline I3_01M_2 = SyntheticGuideline.of("I3_01M_2", "description", "link",
|
||||
// 5, RequirementLevel.MANDATORY, I3_01M_SPEC_2);
|
||||
|
||||
// public static SyntheticGuideline R1_01M = SyntheticGuideline.of("R1_01M", "description", "link",
|
||||
// 10, RequirementLevel.MANDATORY, R1_01M_SPEC);
|
||||
|
||||
public static SyntheticGuideline R1_1_01M = SyntheticGuideline.of("Metadata includes information about the licence under which the data can be reused", "description", "link",
|
||||
10, RequirementLevel.MANDATORY, R1_1_01M_SPEC);
|
||||
|
||||
private static final List<Guideline<Document>> GUIDELINES = Collections.unmodifiableList(
|
||||
Arrays.asList(
|
||||
|
|
|
@ -217,30 +217,54 @@ public final class LiteratureGuidelinesV3Profile extends AbstractOpenAireProfile
|
|||
and(new RegexValuePredicate(COMPILED_DATASET_REFERENCE_REG_EX).negate())));
|
||||
}
|
||||
|
||||
public static final SyntheticGuideline TITLE = SyntheticGuideline.of("Title", 4, TITLE_SPEC);
|
||||
public static final SyntheticGuideline CREATOR = SyntheticGuideline.of("Creator", 4, CREATOR_SPEC);
|
||||
public static final SyntheticGuideline PROJECT_IDENTIFIER = SyntheticGuideline.of("Project Identifier", 5, PROJECT_IDENTIFIER_SPEC);
|
||||
public static final SyntheticGuideline ACCESS_LEVEL = SyntheticGuideline.of("Access Level", 5, ACCESS_LEVEL_SPEC);
|
||||
public static final SyntheticGuideline LICENSE_CONDITION = SyntheticGuideline.of("License Condition", 1, LICENSE_CONDITION_SPEC);
|
||||
public static final SyntheticGuideline EMBARGO_END_DATE = SyntheticGuideline.of("Embargo End Date", 5, EMBARGO_END_DATE_SPEC);
|
||||
public static final SyntheticGuideline ALTERNATIVE_IDENTIFIER = SyntheticGuideline.of("Alternative Identifier", 5, ALT_IDENTIFIER_SPEC);
|
||||
public static final SyntheticGuideline PUBLICATION_REFERENCE = SyntheticGuideline.of("Publication Reference", 2, PUBLICATION_REF_SPEC);
|
||||
public static final SyntheticGuideline DATASET_REFERENCE = SyntheticGuideline.of("Dataset Reference", 2, DATASET_REF_SPEC);
|
||||
public static final SyntheticGuideline SUBJECT = SyntheticGuideline.of("Subject", 5, SUBJECT_SPEC);
|
||||
public static final SyntheticGuideline DESCRIPTION = SyntheticGuideline.of("Description", 5, DESCRIPTION_SPEC);
|
||||
public static final SyntheticGuideline PUBLISHER = SyntheticGuideline.of("Publisher", 5, PUBLISHER_SPEC);
|
||||
public static final SyntheticGuideline CONTRIBUTOR = SyntheticGuideline.of("Contributor", 2, CONTRIBUTOR_SPEC);
|
||||
public static final SyntheticGuideline PUBLICATION_DATE = SyntheticGuideline.of("Publication Date", 5, PUBLICATION_DATE_SPEC);
|
||||
public static final SyntheticGuideline PUBLICATION_TYPE_MANDATORY = SyntheticGuideline.of("Publication Type M", 5, PUBLICATION_TYPE_M_SPEC);
|
||||
public static final SyntheticGuideline PUBLICATION_TYPE_OPTIONAL = SyntheticGuideline.of("Publication Type O", 1, PUBLICATION_TYPE_O_SPEC);
|
||||
public static final SyntheticGuideline PUBLICATION_VERSION = SyntheticGuideline.of("Publication Version", 2, PUBLICATION_VERSION_SPEC);
|
||||
public static final SyntheticGuideline FORMAT = SyntheticGuideline.of("Format", 2, FORMAT_SPEC);
|
||||
public static final SyntheticGuideline RESOURCE_IDENTIFIER = SyntheticGuideline.of("Resource Identifier", 5, RESOURCE_IDENTIFIER_SPEC);
|
||||
public static final SyntheticGuideline SOURCE = SyntheticGuideline.of("Source", 5, SOURCE_SPEC);
|
||||
public static final SyntheticGuideline LANGUAGE = SyntheticGuideline.of("Language", 2, LANGUAGE_SPEC);
|
||||
public static final SyntheticGuideline RELATION = SyntheticGuideline.of("Relation", 1, RELATION_SPEC);
|
||||
public static final SyntheticGuideline COVERAGE = SyntheticGuideline.of("Coverage", 1, COVERAGE_SPEC);
|
||||
public static final SyntheticGuideline AUDIENCE = SyntheticGuideline.of("Audience", 2, AUDIENCE_SPEC);
|
||||
public static final SyntheticGuideline TITLE = SyntheticGuideline.of("Title", "description", "link", "fairPrinciples",
|
||||
4, RequirementLevel.MANDATORY, TITLE_SPEC);
|
||||
public static final SyntheticGuideline CREATOR = SyntheticGuideline.of("Creator", "description", "link", "fairPrinciples",
|
||||
4, RequirementLevel.MANDATORY, CREATOR_SPEC);
|
||||
public static final SyntheticGuideline PROJECT_IDENTIFIER = SyntheticGuideline.of("Project Identifier", "description", "link", "fairPrinciples",
|
||||
5, RequirementLevel.MANDATORY, PROJECT_IDENTIFIER_SPEC);
|
||||
public static final SyntheticGuideline ACCESS_LEVEL = SyntheticGuideline.of("Access Level", "description", "link", "fairPrinciples",
|
||||
5, RequirementLevel.MANDATORY, ACCESS_LEVEL_SPEC);
|
||||
public static final SyntheticGuideline LICENSE_CONDITION = SyntheticGuideline.of("License Condition", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, LICENSE_CONDITION_SPEC);
|
||||
public static final SyntheticGuideline EMBARGO_END_DATE = SyntheticGuideline.of("Embargo End Date", "description", "link", "fairPrinciples",
|
||||
5, RequirementLevel.MANDATORY, EMBARGO_END_DATE_SPEC);
|
||||
public static final SyntheticGuideline ALTERNATIVE_IDENTIFIER = SyntheticGuideline.of("Alternative Identifier", "description", "link", "fairPrinciples",
|
||||
5, RequirementLevel.MANDATORY, ALT_IDENTIFIER_SPEC);
|
||||
public static final SyntheticGuideline PUBLICATION_REFERENCE = SyntheticGuideline.of("Publication Reference", "description", "link", "fairPrinciples",
|
||||
2, RequirementLevel.MANDATORY, PUBLICATION_REF_SPEC);
|
||||
public static final SyntheticGuideline DATASET_REFERENCE = SyntheticGuideline.of("Dataset Reference", "description", "link", "fairPrinciples",
|
||||
2, RequirementLevel.MANDATORY, DATASET_REF_SPEC);
|
||||
public static final SyntheticGuideline SUBJECT = SyntheticGuideline.of("Subject", "description", "link", "fairPrinciples",
|
||||
5, RequirementLevel.MANDATORY, SUBJECT_SPEC);
|
||||
public static final SyntheticGuideline DESCRIPTION = SyntheticGuideline.of("Description", "description", "link", "fairPrinciples",
|
||||
5, RequirementLevel.MANDATORY, DESCRIPTION_SPEC);
|
||||
public static final SyntheticGuideline PUBLISHER = SyntheticGuideline.of("Publisher", "description", "link", "fairPrinciples",
|
||||
5, RequirementLevel.MANDATORY, PUBLISHER_SPEC);
|
||||
public static final SyntheticGuideline CONTRIBUTOR = SyntheticGuideline.of("Contributor", "description", "link", "fairPrinciples",
|
||||
2, RequirementLevel.MANDATORY, CONTRIBUTOR_SPEC);
|
||||
public static final SyntheticGuideline PUBLICATION_DATE = SyntheticGuideline.of("Publication Date", "description", "link", "fairPrinciples",
|
||||
5, RequirementLevel.MANDATORY, PUBLICATION_DATE_SPEC);
|
||||
public static final SyntheticGuideline PUBLICATION_TYPE_MANDATORY = SyntheticGuideline.of("Publication Type M", "description", "link", "fairPrinciples",
|
||||
5, RequirementLevel.MANDATORY, PUBLICATION_TYPE_M_SPEC);
|
||||
public static final SyntheticGuideline PUBLICATION_TYPE_OPTIONAL = SyntheticGuideline.of("Publication Type O", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, PUBLICATION_TYPE_O_SPEC);
|
||||
public static final SyntheticGuideline PUBLICATION_VERSION = SyntheticGuideline.of("Publication Version", "description", "link", "fairPrinciples",
|
||||
2, RequirementLevel.MANDATORY, PUBLICATION_VERSION_SPEC);
|
||||
public static final SyntheticGuideline FORMAT = SyntheticGuideline.of("Format", "description", "link", "fairPrinciples",
|
||||
2, RequirementLevel.MANDATORY, FORMAT_SPEC);
|
||||
public static final SyntheticGuideline RESOURCE_IDENTIFIER = SyntheticGuideline.of("Resource Identifier", "description", "link", "fairPrinciples",
|
||||
5, RequirementLevel.MANDATORY, RESOURCE_IDENTIFIER_SPEC);
|
||||
public static final SyntheticGuideline SOURCE = SyntheticGuideline.of("Source", "link", "fairPrinciples",
|
||||
5, RequirementLevel.MANDATORY, SOURCE_SPEC);
|
||||
public static final SyntheticGuideline LANGUAGE = SyntheticGuideline.of("Language", "link", "fairPrinciples",
|
||||
2, RequirementLevel.MANDATORY, LANGUAGE_SPEC);
|
||||
public static final SyntheticGuideline RELATION = SyntheticGuideline.of("Relation", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, RELATION_SPEC);
|
||||
public static final SyntheticGuideline COVERAGE = SyntheticGuideline.of("Coverage", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, COVERAGE_SPEC);
|
||||
public static final SyntheticGuideline AUDIENCE = SyntheticGuideline.of("Audience", "link", "fairPrinciples",
|
||||
2, RequirementLevel.MANDATORY, AUDIENCE_SPEC);
|
||||
|
||||
private static final List<SyntheticGuideline> GUIDELINES = Collections.unmodifiableList(
|
||||
Arrays.asList(
|
||||
|
|
|
@ -3,10 +3,7 @@ package eu.dnetlib.validator2.validation.guideline.openaire;
|
|||
import eu.dnetlib.validator2.engine.Rule;
|
||||
import eu.dnetlib.validator2.engine.builtins.XMLCardinalityRule;
|
||||
import eu.dnetlib.validator2.engine.builtins.XMLVocabularyRule;
|
||||
import eu.dnetlib.validator2.validation.guideline.Builders;
|
||||
import eu.dnetlib.validator2.validation.guideline.ElementSpec;
|
||||
import eu.dnetlib.validator2.validation.guideline.Guideline;
|
||||
import eu.dnetlib.validator2.validation.guideline.SyntheticGuideline;
|
||||
import eu.dnetlib.validator2.validation.guideline.*;
|
||||
import eu.dnetlib.validator2.validation.utils.ISO639ValuePredicate;
|
||||
import eu.dnetlib.validator2.validation.utils.MediaTypesValuePredicate;
|
||||
import eu.dnetlib.validator2.validation.utils.RegexValuePredicate;
|
||||
|
@ -428,38 +425,70 @@ public final class LiteratureGuidelinesV4Profile extends AbstractOpenAireProfile
|
|||
}
|
||||
|
||||
//TODO: weights for guidelines haven't been finalized. They've been given an arbitrary value of 1.
|
||||
public static SyntheticGuideline TITLE = SyntheticGuideline.of("Title", 1, TITLE_SPEC);
|
||||
public static SyntheticGuideline CREATOR = SyntheticGuideline.of("Creator", 1, CREATOR_SPEC);
|
||||
public static SyntheticGuideline CONTRIBUTOR = SyntheticGuideline.of("Contributor", 1, CONTRIBUTOR_SPEC);
|
||||
public static SyntheticGuideline FUNDING_REFERENCE = SyntheticGuideline.of("Funding Reference", 1, FUNDING_REFERENCE_SPEC);
|
||||
public static SyntheticGuideline ALTERNATE_IDENTIFIER = SyntheticGuideline.of("Alternate Identifier", 1, ALTERNATE_IDENTIFIER_SPEC);
|
||||
public static SyntheticGuideline RELATED_IDENTIFIER = SyntheticGuideline.of("Related Identifier", 1, RELATED_IDENTIFIER_SPEC);
|
||||
public static SyntheticGuideline EMBARGO_PERIOD_DATE = SyntheticGuideline.of("Embargo Period Date", 1, EMBARGO_PERIOD_DATE_SPEC);
|
||||
public static SyntheticGuideline LANGUAGE = SyntheticGuideline.of("Language", 1, LANGUAGE_SPEC);
|
||||
public static SyntheticGuideline PUBLISHER = SyntheticGuideline.of("Publisher", 1, PUBLISHER_SPEC);
|
||||
public static SyntheticGuideline PUBLICATION_DATE = SyntheticGuideline.of("Publication Date", 1, PUBLICATION_DATE_SPEC);
|
||||
public static SyntheticGuideline RESOURCE_TYPE = SyntheticGuideline.of("Resource Type", 1, RESOURCE_TYPE_SPEC);
|
||||
public static SyntheticGuideline DESCRIPTION = SyntheticGuideline.of("Description", 1, DESCRIPTION_SPEC);
|
||||
public static SyntheticGuideline FORMAT = SyntheticGuideline.of("Format", 1, FORMAT_SPEC);
|
||||
public static SyntheticGuideline RESOURCE_IDENTIFIER = SyntheticGuideline.of("Resource Identifier", 1, RESOURCE_IDENTIFIER_SPEC);
|
||||
public static SyntheticGuideline ACCESS_RIGHTS = SyntheticGuideline.of("Access Rights", 1, ACCESS_RIGHTS_SPEC);
|
||||
public static SyntheticGuideline SOURCE = SyntheticGuideline.of("Source", 1, SOURCE_SPEC);
|
||||
public static SyntheticGuideline SUBJECT = SyntheticGuideline.of("Subject", 1, SUBJECT_SPEC);
|
||||
public static SyntheticGuideline LICENSE_CONDITION = SyntheticGuideline.of("License Condition", 1, LICENSE_CONDITION_SPEC);
|
||||
public static SyntheticGuideline COVERAGE = SyntheticGuideline.of("Coverage", 1, COVERAGE_SPEC);
|
||||
public static SyntheticGuideline SIZE = SyntheticGuideline.of("Size", 1, SIZE_SPEC);
|
||||
public static SyntheticGuideline GEO_LOCATION = SyntheticGuideline.of("Geo Location", 1, GEO_LOCATION_SPEC);
|
||||
public static SyntheticGuideline RESOURCE_VERSION = SyntheticGuideline.of("Resource Version", 1, RESOURCE_VERSION_SPEC);
|
||||
public static SyntheticGuideline FILE_LOCATION = SyntheticGuideline.of("File Location", 1, FILE_LOCATION_SPEC);
|
||||
public static SyntheticGuideline CITATION_TITLE = SyntheticGuideline.of("Citation Title", 1, CITATION_TITLE_SPEC);
|
||||
public static SyntheticGuideline CITATION_VOLUME = SyntheticGuideline.of("Citation Volume", 1, CITATION_VOLUME_SPEC);
|
||||
public static SyntheticGuideline CITATION_ISSUE = SyntheticGuideline.of("Citation Issue", 1, CITATION_ISSUE_SPEC);
|
||||
public static SyntheticGuideline CITATION_START_PAGE = SyntheticGuideline.of("Citation Start Page", 1, CITATION_START_PAGE_SPEC);
|
||||
public static SyntheticGuideline CITATION_END_PAGE = SyntheticGuideline.of("Citation End Page", 1, CITATION_END_PAGE_SPEC);
|
||||
public static SyntheticGuideline CITATION_EDITION = SyntheticGuideline.of("Citation Edition", 1, CITATION_EDITION_SPEC);
|
||||
public static SyntheticGuideline CITATION_CONFERENCE_PLACE = SyntheticGuideline.of("Citation Conference Place", 1, CITATION_CONFERENCE_PLACE_SPEC);
|
||||
public static SyntheticGuideline CITATION_CONFERENCE_DATE = SyntheticGuideline.of("Citation Conference Date", 1, CITATION_CONFERENCE_DATE_SPEC);
|
||||
public static SyntheticGuideline AUDIENCE = SyntheticGuideline.of("Audience", 1, AUDIENCE_SPEC);
|
||||
public static SyntheticGuideline TITLE = SyntheticGuideline.of("Title", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, TITLE_SPEC);
|
||||
public static SyntheticGuideline CREATOR = SyntheticGuideline.of("Creator", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, CREATOR_SPEC);
|
||||
public static SyntheticGuideline CONTRIBUTOR = SyntheticGuideline.of("Contributor", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, CONTRIBUTOR_SPEC);
|
||||
public static SyntheticGuideline FUNDING_REFERENCE = SyntheticGuideline.of("Funding Reference", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, FUNDING_REFERENCE_SPEC);
|
||||
public static SyntheticGuideline ALTERNATE_IDENTIFIER = SyntheticGuideline.of("Alternate Identifier", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, ALTERNATE_IDENTIFIER_SPEC);
|
||||
public static SyntheticGuideline RELATED_IDENTIFIER = SyntheticGuideline.of("Related Identifier", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, RELATED_IDENTIFIER_SPEC);
|
||||
public static SyntheticGuideline EMBARGO_PERIOD_DATE = SyntheticGuideline.of("Embargo Period Date", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, EMBARGO_PERIOD_DATE_SPEC);
|
||||
public static SyntheticGuideline LANGUAGE = SyntheticGuideline.of("Language", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, LANGUAGE_SPEC);
|
||||
public static SyntheticGuideline PUBLISHER = SyntheticGuideline.of("Publisher", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, PUBLISHER_SPEC);
|
||||
public static SyntheticGuideline PUBLICATION_DATE = SyntheticGuideline.of("Publication Date", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, PUBLICATION_DATE_SPEC);
|
||||
public static SyntheticGuideline RESOURCE_TYPE = SyntheticGuideline.of("Resource Type", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, RESOURCE_TYPE_SPEC);
|
||||
public static SyntheticGuideline DESCRIPTION = SyntheticGuideline.of("Description", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, DESCRIPTION_SPEC);
|
||||
public static SyntheticGuideline FORMAT = SyntheticGuideline.of("Format", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, FORMAT_SPEC);
|
||||
public static SyntheticGuideline RESOURCE_IDENTIFIER = SyntheticGuideline.of("Resource Identifier", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, RESOURCE_IDENTIFIER_SPEC);
|
||||
public static SyntheticGuideline ACCESS_RIGHTS = SyntheticGuideline.of("Access Rights", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, ACCESS_RIGHTS_SPEC);
|
||||
public static SyntheticGuideline SOURCE = SyntheticGuideline.of("Source", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, SOURCE_SPEC);
|
||||
public static SyntheticGuideline SUBJECT = SyntheticGuideline.of("Subject", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, SUBJECT_SPEC);
|
||||
public static SyntheticGuideline LICENSE_CONDITION = SyntheticGuideline.of("License Condition", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, LICENSE_CONDITION_SPEC);
|
||||
public static SyntheticGuideline COVERAGE = SyntheticGuideline.of("Coverage", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, COVERAGE_SPEC);
|
||||
public static SyntheticGuideline SIZE = SyntheticGuideline.of("Size", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, SIZE_SPEC);
|
||||
public static SyntheticGuideline GEO_LOCATION = SyntheticGuideline.of("Geo Location", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, GEO_LOCATION_SPEC);
|
||||
public static SyntheticGuideline RESOURCE_VERSION = SyntheticGuideline.of("Resource Version", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, RESOURCE_VERSION_SPEC);
|
||||
public static SyntheticGuideline FILE_LOCATION = SyntheticGuideline.of("File Location", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, FILE_LOCATION_SPEC);
|
||||
public static SyntheticGuideline CITATION_TITLE = SyntheticGuideline.of("Citation Title", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, CITATION_TITLE_SPEC);
|
||||
public static SyntheticGuideline CITATION_VOLUME = SyntheticGuideline.of("Citation Volume", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, CITATION_VOLUME_SPEC);
|
||||
public static SyntheticGuideline CITATION_ISSUE = SyntheticGuideline.of("Citation Issue", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, CITATION_ISSUE_SPEC);
|
||||
public static SyntheticGuideline CITATION_START_PAGE = SyntheticGuideline.of("Citation Start Page", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, CITATION_START_PAGE_SPEC);
|
||||
public static SyntheticGuideline CITATION_END_PAGE = SyntheticGuideline.of("Citation End Page", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, CITATION_END_PAGE_SPEC);
|
||||
public static SyntheticGuideline CITATION_EDITION = SyntheticGuideline.of("Citation Edition", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, CITATION_EDITION_SPEC);
|
||||
public static SyntheticGuideline CITATION_CONFERENCE_PLACE = SyntheticGuideline.of("Citation Conference Place", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, CITATION_CONFERENCE_PLACE_SPEC);
|
||||
public static SyntheticGuideline CITATION_CONFERENCE_DATE = SyntheticGuideline.of("Citation Conference Date", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, CITATION_CONFERENCE_DATE_SPEC);
|
||||
public static SyntheticGuideline AUDIENCE = SyntheticGuideline.of("Audience", "description", "link", "fairPrinciples",
|
||||
1, RequirementLevel.MANDATORY, AUDIENCE_SPEC);
|
||||
|
||||
private static final List<SyntheticGuideline> GUIDELINES = Collections.unmodifiableList(
|
||||
Arrays.asList(
|
||||
|
|
Loading…
Reference in New Issue