Populate Data v.2 with additional information (links, cardinality).

This commit is contained in:
pispis 2023-08-04 10:41:41 +03:00
parent 30578076bf
commit f3129ecb79
1 changed files with 41 additions and 23 deletions

View File

@ -203,11 +203,11 @@ public class DataArchiveGuidelinesV2Profile extends AbstractOpenAireProfile {
.withMandatoryAttribute("rightsURI", rightsURIList)
.build();
private static final ElementSpec RIGHTS_SPEC2 = Builders
.forMandatoryIfApplicableElement("rights", ONE_TO_N, AbstractOpenAireProfile.elementIsPresent("rights"))
.atPosition(ElementPosition.SECOND)
.withMandatoryAttribute("rightsURI")
.build();
// private static final ElementSpec RIGHTS_SPEC2 = Builders
// .forMandatoryIfApplicableElement("rights", ONE_TO_N, AbstractOpenAireProfile.elementIsPresent("rights"))
// .atPosition(ElementPosition.SECOND)
// .withMandatoryAttribute("rightsURI")
// .build();
private static final ElementSpec DESCRIPTION_SPEC = Builders
.forMandatoryIfApplicableElement("description", ONE_TO_N, AbstractOpenAireProfile.elementIsPresent("rights"))
@ -248,24 +248,42 @@ public class DataArchiveGuidelinesV2Profile extends AbstractOpenAireProfile {
}
//TODO: weights for guidelines haven't been finalized. They've been given an arbitrary value of 1.
public static final SyntheticGuideline IDENTIFIER = SyntheticGuideline.of("Identifier", 1, IDENTIFIER_SPEC);
public static final SyntheticGuideline CREATOR = SyntheticGuideline.of("Creator", 1, CREATOR_SPEC);
public static final SyntheticGuideline TITLE = SyntheticGuideline.of("Title", 1, TITLE_SPEC);
public static final SyntheticGuideline PUBLISHER = SyntheticGuideline.of("Publisher", 1, PUBLISHER_SPEC);
public static final SyntheticGuideline PUBLICATION_YEAR = SyntheticGuideline.of("PublicationYear", 1, PUBLICATION_YEAR_SPEC);
public static final SyntheticGuideline SUBJECT = SyntheticGuideline.of("Subject", 1, SUBJECT_SPEC);
public static final SyntheticGuideline CONTRIBUTOR = SyntheticGuideline.of("Contributor", 1, CONTRIBUTOR_SPEC);
public static final SyntheticGuideline DATE = SyntheticGuideline.of("Date", 1, DATE_SPEC);
public static final SyntheticGuideline LANGUAGE = SyntheticGuideline.of("Language", 1, LANGUAGE_SPEC);
public static final SyntheticGuideline RESOURCE_TYPE = SyntheticGuideline.of("ResourceType", 1, RESOURCE_TYPE_SPEC);
public static final SyntheticGuideline ALTERNATE_IDENTIFIER = SyntheticGuideline.of("AlternateIdentifier", 1, ALTERNATE_IDENTIFIER_SPEC);
public static final SyntheticGuideline RELATED_IDENTIFIER = SyntheticGuideline.of("RelatedIdentifier", 1, RELATED_IDENTIFIER_SPEC);
public static final SyntheticGuideline SIZE = SyntheticGuideline.of("Size", 1, SIZE_SPEC);
public static final SyntheticGuideline FORMAT = SyntheticGuideline.of("Format", 1, FORMAT_SPEC);
public static final SyntheticGuideline VERSION = SyntheticGuideline.of("Version", 1, VERSION_SPEC);
public static final SyntheticGuideline RIGHTS = SyntheticGuideline.of("Rights", 1, RIGHTS_SPEC);
public static final SyntheticGuideline DESCRIPTION = SyntheticGuideline.of("Description", 1, DESCRIPTION_SPEC);
public static final SyntheticGuideline GEOLOCATION = SyntheticGuideline.of("Geolocation", 1, GEOLOCATION_SPEC);
public static final SyntheticGuideline IDENTIFIER = SyntheticGuideline.of("Identifier", "description", "https://guidelines.openaire.eu/en/latest/literature/field_title.html", "F",
4, RequirementLevel.MANDATORY, IDENTIFIER_SPEC);
public static final SyntheticGuideline CREATOR = SyntheticGuideline.of("Creator", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-creator", "F",
4, RequirementLevel.MANDATORY, CREATOR_SPEC);
public static final SyntheticGuideline TITLE = SyntheticGuideline.of("Title", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-title", "F",
4, RequirementLevel.MANDATORY, TITLE_SPEC);
public static final SyntheticGuideline PUBLISHER = SyntheticGuideline.of("Publisher", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-publisher", "F",
4, RequirementLevel.MANDATORY, PUBLISHER_SPEC);
public static final SyntheticGuideline PUBLICATION_YEAR = SyntheticGuideline.of("Publication Year", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-publicationyear", "F",
4, RequirementLevel.MANDATORY, PUBLICATION_YEAR_SPEC);
public static final SyntheticGuideline SUBJECT = SyntheticGuideline.of("Subject", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-subject", "F",
4, RequirementLevel.RECOMMENDED, SUBJECT_SPEC);
public static final SyntheticGuideline CONTRIBUTOR = SyntheticGuideline.of("Contributor", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-contributor", "F",
4, RequirementLevel.MANDATORY_IF_APPLICABLE, CONTRIBUTOR_SPEC);
public static final SyntheticGuideline DATE = SyntheticGuideline.of("Date", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-date", "F",
4, RequirementLevel.MANDATORY, DATE_SPEC);
public static final SyntheticGuideline LANGUAGE = SyntheticGuideline.of("Language", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-language", "F",
4, RequirementLevel.RECOMMENDED, LANGUAGE_SPEC);
public static final SyntheticGuideline RESOURCE_TYPE = SyntheticGuideline.of("Resource Type", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-resourcetype", "F",
4, RequirementLevel.RECOMMENDED, RESOURCE_TYPE_SPEC);
public static final SyntheticGuideline ALTERNATE_IDENTIFIER = SyntheticGuideline.of("Alternate Identifier", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-alternateidentifier", "F",
4, RequirementLevel.OPTIONAL, ALTERNATE_IDENTIFIER_SPEC);
public static final SyntheticGuideline RELATED_IDENTIFIER = SyntheticGuideline.of("Related Identifier", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-relatedidentifier", "F",
4, RequirementLevel.MANDATORY_IF_APPLICABLE, RELATED_IDENTIFIER_SPEC);
public static final SyntheticGuideline SIZE = SyntheticGuideline.of("Size", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-size", "F",
4, RequirementLevel.OPTIONAL, SIZE_SPEC);
public static final SyntheticGuideline FORMAT = SyntheticGuideline.of("Format", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-format", "F",
4, RequirementLevel.OPTIONAL, FORMAT_SPEC);
public static final SyntheticGuideline VERSION = SyntheticGuideline.of("Format", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-format", "F",
4, RequirementLevel.OPTIONAL, VERSION_SPEC);
public static final SyntheticGuideline RIGHTS = SyntheticGuideline.of("Rights", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-rights", "F",
4, RequirementLevel.MANDATORY_IF_APPLICABLE, RIGHTS_SPEC);
public static final SyntheticGuideline DESCRIPTION = SyntheticGuideline.of("Description", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-description", "F",
4, RequirementLevel.MANDATORY_IF_APPLICABLE, DESCRIPTION_SPEC);
public static final SyntheticGuideline GEOLOCATION = SyntheticGuideline.of("Geolocation", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-geolocation", "F",
4, RequirementLevel.OPTIONAL, GEOLOCATION_SPEC);
private static final List<SyntheticGuideline> GUIDELINES = Collections.unmodifiableList(
Arrays.asList(