diff --git a/README.md b/README.md
index 52fe9a4..f4ec07d 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,8 @@ This project defines **object schemas** of the OpenAIRE main entities and the re
Namely it defines the model for
- the graph internal representation, defined under the package `eu.dnetlib.dhp.schema.oaf`
-- the public graph dump representations, defined under the package `eu.dnetlib.dhp.schema.dump.oaf`
- the scholexplorer content representation, defined under the package `eu.dnetlib.dhp.schema.sx`
-- the contents acquired from the netadata aggregation subsystem, defined under the package `eu.dnetlib.dhp.schema.mdstore`
+- the contents acquired from the metadata aggregation subsystem, defined under the package `eu.dnetlib.dhp.schema.mdstore`
- the ORCID common schemas, defined under the package `eu.dnetlib.dhp.schema.orcid`
Te serialization of such objects (data store files) are used to pass data between workflow nodes in the processing pipeline.
diff --git a/pom.xml b/pom.xml
index 5571059..a1fb6c4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
eu.dnetlib.dhp
dhp-schemas
jar
- 3.15.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/src/main/java/eu/dnetlib/dhp/schema/common/AccessRightComparator.java b/src/main/java/eu/dnetlib/dhp/schema/common/AccessRightComparator.java
deleted file mode 100644
index f77e2af..0000000
--- a/src/main/java/eu/dnetlib/dhp/schema/common/AccessRightComparator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-
-package eu.dnetlib.dhp.schema.common;
-
-import java.util.Comparator;
-
-import eu.dnetlib.dhp.schema.oaf.Qualifier;
-
-public class AccessRightComparator implements Comparator {
-
- @Override
- public int compare(T left, T right) {
-
- if (left == null && right == null)
- return 0;
- if (left == null)
- return 1;
- if (right == null)
- return -1;
-
- String lClass = left.getClassid();
- String rClass = right.getClassid();
-
- if (lClass.equals(rClass))
- return 0;
-
- if (lClass.equals("OPEN SOURCE"))
- return -1;
- if (rClass.equals("OPEN SOURCE"))
- return 1;
-
- if (lClass.equals("OPEN"))
- return -1;
- if (rClass.equals("OPEN"))
- return 1;
-
- if (lClass.equals("6MONTHS"))
- return -1;
- if (rClass.equals("6MONTHS"))
- return 1;
-
- if (lClass.equals("12MONTHS"))
- return -1;
- if (rClass.equals("12MONTHS"))
- return 1;
-
- if (lClass.equals("EMBARGO"))
- return -1;
- if (rClass.equals("EMBARGO"))
- return 1;
-
- if (lClass.equals("RESTRICTED"))
- return -1;
- if (rClass.equals("RESTRICTED"))
- return 1;
-
- if (lClass.equals("CLOSED"))
- return -1;
- if (rClass.equals("CLOSED"))
- return 1;
-
- if (lClass.equals("UNKNOWN"))
- return -1;
- if (rClass.equals("UNKNOWN"))
- return 1;
-
- // Else (but unlikely), lexicographical ordering will do.
- return lClass.compareTo(rClass);
- }
-}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/common/EntityType.java b/src/main/java/eu/dnetlib/dhp/schema/common/EntityType.java
deleted file mode 100644
index 54f30cf..0000000
--- a/src/main/java/eu/dnetlib/dhp/schema/common/EntityType.java
+++ /dev/null
@@ -1,21 +0,0 @@
-
-package eu.dnetlib.dhp.schema.common;
-
-import eu.dnetlib.dhp.schema.oaf.OafEntity;
-
-/** Actual entity types in the Graph */
-public enum EntityType {
- publication, dataset, otherresearchproduct, software, datasource, organization, project;
-
- /**
- * Resolves the EntityType, given the relative class name
- *
- * @param clazz the given class name
- * @param actual OafEntity subclass
- * @return the EntityType associated to the given class
- */
- public static EntityType fromClass(Class clazz) {
-
- return EntityType.valueOf(clazz.getSimpleName().toLowerCase());
- }
-}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/common/MainEntityType.java b/src/main/java/eu/dnetlib/dhp/schema/common/MainEntityType.java
deleted file mode 100644
index cda8ba4..0000000
--- a/src/main/java/eu/dnetlib/dhp/schema/common/MainEntityType.java
+++ /dev/null
@@ -1,7 +0,0 @@
-
-package eu.dnetlib.dhp.schema.common;
-
-/** Main entity types in the Graph */
-public enum MainEntityType {
- result, datasource, organization, project
-}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/common/ModelConstants.java b/src/main/java/eu/dnetlib/dhp/schema/common/ModelConstants.java
deleted file mode 100644
index e47ae97..0000000
--- a/src/main/java/eu/dnetlib/dhp/schema/common/ModelConstants.java
+++ /dev/null
@@ -1,250 +0,0 @@
-
-package eu.dnetlib.dhp.schema.common;
-
-import eu.dnetlib.dhp.schema.oaf.AccessRight;
-import eu.dnetlib.dhp.schema.oaf.DataInfo;
-import eu.dnetlib.dhp.schema.oaf.KeyValue;
-import eu.dnetlib.dhp.schema.oaf.Qualifier;
-
-public class ModelConstants {
-
- private ModelConstants() {}
-
- public static final String ORCID = "orcid";
- public static final String ORCID_PENDING = "orcid_pending";
- public static final String ORCID_CLASSNAME = "Open Researcher and Contributor ID";
- public static final String ORCID_DS = ORCID.toUpperCase();
-
- public static final String CROSSREF_ID = "10|openaire____::081b82f96300b6a6e3d282bad31cb6e2";
- public static final String DATACITE_ID = "10|openaire____::9e3be59865b2c1c335d32dae2fe7b254";
-
- public static final String ZENODO_OD_ID = "10|opendoar____::358aee4cc897452c00244351e4d91f69";
- public static final String ZENODO_R3_ID = "10|re3data_____::7b0ad08687b2c960d5aeef06f811d5e6";
-
- public static final String EUROPE_PUBMED_CENTRAL_ID = "10|opendoar____::8b6dd7db9af49e67306feb59a8bdc52c";
- public static final String PUBMED_CENTRAL_ID = "10|opendoar____::eda80a3d5b344bc40f3bc04f65b7a357";
- public static final String ARXIV_ID = "10|opendoar____::6f4922f45568161a8cdf4ad2299f6d23";
- public static final String ROHUB_ID = "10|fairsharing_::1b69ebedb522700034547abc5652ffac";
-
- public static final String OPENORGS_NAME = "OpenOrgs Database";
-
- public static final String OPENOCITATIONS_NAME = "OpenCitations";
- public static final String OPENOCITATIONS_ID = "10|openaire____::c06df618c5de1c786535ccf3f8b7b059";
-
- public static final String OPEN_APC_NAME = "OpenAPC Global Initiative";
- public static final String OPEN_APC_ID = "10|apc_________::e2b1600b229fc30663c8a1f662debddf";
-
- // VOCABULARY VALUE
- public static final String ACCESS_RIGHT_OPEN = "OPEN";
- public static final String ACCESS_RIGHT_EMBARGO = "EMBARGO";
- public static final String ACCESS_RIGHT_CLOSED = "CLOSED";
-
- public static final String DNET_SUBJECT_KEYWORD = "keyword";
-
- public static final String DNET_SUBJECT_FOS_CLASSID = "FOS";
-
- public static final String DNET_SUBJECT_FOS_CLASSNAME = "Fields of Science and Technology classification";
-
- public static final String DNET_SUBJECT_TYPOLOGIES = "dnet:subject_classification_typologies";
- public static final String DNET_RESULT_TYPOLOGIES = "dnet:result_typologies";
- public static final String DNET_PUBLICATION_RESOURCE = "dnet:publication_resource";
- public static final String DNET_ACCESS_MODES = "dnet:access_modes";
- public static final String DNET_LANGUAGES = "dnet:languages";
- public static final String DNET_PID_TYPES = "dnet:pid_types";
- public static final String DNET_DATACITE_DATE = "dnet:dataCite_date";
- public static final String DNET_DATACITE_TITLE = "dnet:dataCite_title";
- public static final String DNET_DATA_CITE_RESOURCE = "dnet:dataCite_resource";
- public static final String DNET_PROVENANCE_ACTIONS = "dnet:provenanceActions";
- public static final String DNET_COUNTRY_TYPE = "dnet:countries";
- public static final String DNET_REVIEW_LEVELS = "dnet:review_levels";
- public static final String DNET_PROGRAMMING_LANGUAGES = "dnet:programming_languages";
- public static final String DNET_EXTERNAL_REFERENCE_TYPE = "dnet:externalReference_typologies";
- public static final String DNET_RELATION_RELTYPE = "dnet:relation_relType";
- public static final String DNET_RELATION_SUBRELTYPE = "dnet:relation_subRelType";
- public static final String DNET_RELATION_RELCLASS = "dnet:relation_relClass";
-
- public static final String PEER_REVIEWED_CLASSNAME = "nonPeerReviewed";
- public static final String NON_PEER_REVIEWED_CLASSNAME = "nonPeerReviewed";
- public static final String PEER_REVIEWED_CLASSID = "0001";
- public static final String NON_PEER_REVIEWED_CLASSID = "0002";
-
- public static final String SYSIMPORT_CROSSWALK_REPOSITORY = "sysimport:crosswalk:repository";
- public static final String SYSIMPORT_CROSSWALK_ENTITYREGISTRY = "sysimport:crosswalk:entityregistry";
- public static final String SYSIMPORT_ACTIONSET = "sysimport:actionset";
- public static final String SYSIMPORT_ORCID_NO_DOI = "sysimport:actionset:orcidworks-no-doi";
-
- public static final String USER_CLAIM = "user:claim";
- public static final String HARVESTED = "Harvested";
-
- public static final String PROVENANCE_DEDUP = "sysimport:dedup";
- public static final String PROVENANCE_ENRICH = "sysimport:enrich";
-
-
- public static final Qualifier PROVENANCE_ACTION_SET_QUALIFIER = qualifier(
- SYSIMPORT_ACTIONSET, SYSIMPORT_ACTIONSET, DNET_PROVENANCE_ACTIONS, DNET_PROVENANCE_ACTIONS);
-
- public static final String DATASET_RESULTTYPE_CLASSID = "dataset";
- public static final String PUBLICATION_RESULTTYPE_CLASSID = "publication";
- public static final String SOFTWARE_RESULTTYPE_CLASSID = "software";
- public static final String ORP_RESULTTYPE_CLASSID = "other";
-
- public static final String RESULT_RESULT = "resultResult"; // relType
- /**
- * @deprecated Use {@link ModelConstants#RELATIONSHIP} instead.
- */
- @Deprecated
- public static final String PUBLICATION_DATASET = "publicationDataset"; // subreltype
-
- public static final String SUPPLEMENT = "supplement"; // subreltype
- public static final String IS_SUPPLEMENT_TO = "IsSupplementTo";
- public static final String IS_SUPPLEMENTED_BY = "IsSupplementedBy";
-
- public static final String PART = "part"; // subreltype
- public static final String IS_PART_OF = "IsPartOf";
- public static final String HAS_PART = "HasPart";
-
- public static final String RELATIONSHIP = "relationship"; // subreltype
-
- public static final String IS_RELATED_TO = "IsRelatedTo";
- public static final String IS_IDENTICAL_TO = "IsIdenticalTo";
-
- public static final String REFERENCES = "References";
- public static final String IS_REFERENCED_BY = "IsReferencedBy";
- public static final String CONTINUES = "Continues";
- public static final String IS_CONTINUED_BY = "IsContinuedBy";
- public static final String DOCUMENTS = "Documents";
- public static final String IS_DOCUMENTED_BY = "IsDocumentedBy";
- public static final String IS_SOURCE_OF = "IsSourceOf";
- public static final String IS_DERIVED_FROM = "IsDerivedFrom";
- public static final String COMPILES = "Compiles";
- public static final String IS_COMPILED_BY = "IsCompiledBy";
- public static final String DESCRIBES = "Describes";
- public static final String IS_DESCRIBED_BY = "IsDescribedBy";
- public static final String IS_METADATA_FOR = "IsMetadataFor";
- public static final String IS_METADATA_OF = "IsMetadataOf";
- public static final String HAS_ASSOCIATION_WITH = "HasAssociationWith";
- public static final String IS_REQUIRED_BY = "IsRequiredBy";
- public static final String REQUIRES = "Requires";
-
-
-
- public static final String CITATION = "citation"; // subreltype
- public static final String CITES = "Cites";
- public static final String IS_CITED_BY = "IsCitedBy";
-
- public static final String REVIEW = "review"; // subreltype
- public static final String REVIEWS = "Reviews";
- public static final String IS_REVIEWED_BY = "IsReviewedBy";
-
- public static final String VERSION = "version"; // subreltype
- public static final String IS_VERSION_OF = "IsVersionOf";
- public static final String HAS_VERSION = "HasVersion";
- public static final String IS_PREVIOUS_VERSION_OF = "IsPreviousVersionOf";
- public static final String IS_NEW_VERSION_OF = "IsNewVersionOf";
- public static final String IS_VARIANT_FORM_OF = "IsVariantFormOf";
- public static final String IS_ORIGINAL_FORM_OF = "IsOriginalFormOf";
- public static final String IS_OBSOLETED_BY = "IsObsoletedBy";
- public static final String OBSOLETES = "Obsoletes";
-
- public static final String RESULT_PROJECT = "resultProject"; // relType
- public static final String OUTCOME = "outcome"; // subreltype
- public static final String IS_PRODUCED_BY = "isProducedBy";
- public static final String PRODUCES = "produces";
-
- public static final String DATASOURCE_ORGANIZATION = "datasourceOrganization"; // relType
- public static final String PROVISION = "provision"; // subreltype
- public static final String IS_PROVIDED_BY = "isProvidedBy";
- public static final String PROVIDES = "provides";
-
- public static final String PROJECT_ORGANIZATION = "projectOrganization"; // relType
- public static final String PARTICIPATION = "participation"; // subreltype
- public static final String HAS_PARTICIPANT = "hasParticipant";
- public static final String IS_PARTICIPANT = "isParticipant";
-
- public static final String RESULT_ORGANIZATION = "resultOrganization"; // relType
- public static final String AFFILIATION = "affiliation"; // subreltype
- public static final String IS_AUTHOR_INSTITUTION_OF = "isAuthorInstitutionOf";
- public static final String HAS_AUTHOR_INSTITUTION = "hasAuthorInstitution";
-
- public static final String ORG_ORG_RELTYPE = "organizationOrganization"; // relType
- public static final String IS_PARENT_OF = "IsParentOf";
- public static final String IS_CHILD_OF = "IsChildOf";
-
- public static final String DEDUP = "dedup"; // subreltype
- public static final String MERGES = "merges";
- public static final String IS_MERGED_IN = "isMergedIn";
-
- public static final String SIMILARITY = "similarity"; // subreltype
- public static final String IS_SIMILAR_TO = "isSimilarTo";
- public static final String IS_AMONG_TOP_N_SIMILAR_DOCS = "IsAmongTopNSimilarDocuments";
- public static final String HAS_AMONG_TOP_N_SIMILAR_DOCS = "HasAmongTopNSimilarDocuments";
-
- public static final String IS_DIFFERENT_FROM = "isDifferentFrom";
-
- public static final String UNKNOWN = "UNKNOWN";
- public static final String NOT_AVAILABLE = "not available";
-
- public static final Qualifier PUBLICATION_DEFAULT_RESULTTYPE = qualifier(
- PUBLICATION_RESULTTYPE_CLASSID, PUBLICATION_RESULTTYPE_CLASSID,
- DNET_RESULT_TYPOLOGIES, DNET_RESULT_TYPOLOGIES);
-
- public static final Qualifier DATASET_DEFAULT_RESULTTYPE = qualifier(
- DATASET_RESULTTYPE_CLASSID, DATASET_RESULTTYPE_CLASSID,
- DNET_RESULT_TYPOLOGIES, DNET_RESULT_TYPOLOGIES);
-
- public static final Qualifier SOFTWARE_DEFAULT_RESULTTYPE = qualifier(
- SOFTWARE_RESULTTYPE_CLASSID, SOFTWARE_RESULTTYPE_CLASSID,
- DNET_RESULT_TYPOLOGIES, DNET_RESULT_TYPOLOGIES);
-
- public static final Qualifier ORP_DEFAULT_RESULTTYPE = qualifier(
- ORP_RESULTTYPE_CLASSID, ORP_RESULTTYPE_CLASSID,
- DNET_RESULT_TYPOLOGIES, DNET_RESULT_TYPOLOGIES);
-
- public static final Qualifier REPOSITORY_PROVENANCE_ACTIONS = qualifier(
- SYSIMPORT_CROSSWALK_REPOSITORY, SYSIMPORT_CROSSWALK_REPOSITORY,
- DNET_PROVENANCE_ACTIONS, DNET_PROVENANCE_ACTIONS);
-
- public static final Qualifier ENTITYREGISTRY_PROVENANCE_ACTION = qualifier(
- SYSIMPORT_CROSSWALK_ENTITYREGISTRY, SYSIMPORT_CROSSWALK_ENTITYREGISTRY,
- DNET_PROVENANCE_ACTIONS, DNET_PROVENANCE_ACTIONS);
-
- public static final String UNKNOWN_REPOSITORY_ORIGINALID = "openaire____::1256f046-bf1f-4afc-8b47-d0b147148b18";
- public static final KeyValue UNKNOWN_REPOSITORY = keyValue(
- "10|openaire____::55045bd2a65019fd8e6741a755395c8c", "Unknown Repository");
-
- public static final Qualifier UNKNOWN_COUNTRY = qualifier(UNKNOWN, "Unknown", DNET_COUNTRY_TYPE, DNET_COUNTRY_TYPE);
-
- public static final Qualifier MAIN_TITLE_QUALIFIER = qualifier(
- "main title", "main title", DNET_DATACITE_TITLE, DNET_DATACITE_TITLE);
-
- public static final AccessRight OPEN_ACCESS_RIGHT() {
-
- final AccessRight result = new AccessRight();
- result.setClassid(ACCESS_RIGHT_OPEN);
- result.setClassid(ACCESS_RIGHT_OPEN);
- result.setSchemeid(ModelConstants.DNET_ACCESS_MODES);
- result.setSchemename(ModelConstants.DNET_ACCESS_MODES);
- return result;
- }
-
- private static Qualifier qualifier(
- final String classid,
- final String classname,
- final String schemeid,
- final String schemename) {
- final Qualifier q = new Qualifier();
- q.setClassid(classid);
- q.setClassname(classname);
- q.setSchemeid(schemeid);
- q.setSchemename(schemename);
- return q;
- }
-
- private static KeyValue keyValue(final String key, final String value) {
- final KeyValue kv = new KeyValue();
- kv.setKey(key);
- kv.setValue(value);
- kv.setDataInfo(new DataInfo());
- return kv;
- }
-}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/common/ModelSupport.java b/src/main/java/eu/dnetlib/dhp/schema/common/ModelSupport.java
deleted file mode 100644
index c7a24b6..0000000
--- a/src/main/java/eu/dnetlib/dhp/schema/common/ModelSupport.java
+++ /dev/null
@@ -1,412 +0,0 @@
-
-package eu.dnetlib.dhp.schema.common;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static eu.dnetlib.dhp.schema.common.ModelConstants.*;
-
-import java.nio.charset.StandardCharsets;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.text.ParseException;
-import java.util.Date;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.function.Function;
-
-import org.apache.commons.codec.binary.Hex;
-import org.apache.commons.lang3.StringUtils;
-
-import com.github.sisyphsu.dateparser.DateParserUtils;
-import com.google.common.collect.Maps;
-
-import eu.dnetlib.dhp.schema.oaf.*;
-
-/** Oaf model utility methods. */
-public class ModelSupport {
-
- /** Defines the mapping between the actual entity type and the main entity type */
- private static final Map entityMapping = Maps.newHashMap();
-
- static {
- entityMapping.put(EntityType.publication, MainEntityType.result);
- entityMapping.put(EntityType.dataset, MainEntityType.result);
- entityMapping.put(EntityType.otherresearchproduct, MainEntityType.result);
- entityMapping.put(EntityType.software, MainEntityType.result);
- entityMapping.put(EntityType.datasource, MainEntityType.datasource);
- entityMapping.put(EntityType.organization, MainEntityType.organization);
- entityMapping.put(EntityType.project, MainEntityType.project);
- }
-
- /**
- * Defines the mapping between the actual entity types and the relative classes implementing them
- */
- public static final Map entityTypes = Maps.newHashMap();
-
- static {
- entityTypes.put(EntityType.datasource, Datasource.class);
- entityTypes.put(EntityType.organization, Organization.class);
- entityTypes.put(EntityType.project, Project.class);
- entityTypes.put(EntityType.dataset, Dataset.class);
- entityTypes.put(EntityType.otherresearchproduct, OtherResearchProduct.class);
- entityTypes.put(EntityType.software, Software.class);
- entityTypes.put(EntityType.publication, Publication.class);
- }
-
- public static final Map oafTypes = Maps.newHashMap();
-
- static {
- oafTypes.put("datasource", Datasource.class);
- oafTypes.put("organization", Organization.class);
- oafTypes.put("project", Project.class);
- oafTypes.put("dataset", Dataset.class);
- oafTypes.put("otherresearchproduct", OtherResearchProduct.class);
- oafTypes.put("software", Software.class);
- oafTypes.put("publication", Publication.class);
- oafTypes.put("relation", Relation.class);
- }
-
- public static final Map idPrefixMap = Maps.newHashMap();
-
- static {
- idPrefixMap.put(Datasource.class, "10");
- idPrefixMap.put(Organization.class, "20");
- idPrefixMap.put(Project.class, "40");
- idPrefixMap.put(Dataset.class, "50");
- idPrefixMap.put(OtherResearchProduct.class, "50");
- idPrefixMap.put(Software.class, "50");
- idPrefixMap.put(Publication.class, "50");
- }
-
- public static final Map entityIdPrefix = Maps.newHashMap();
-
- static {
- entityIdPrefix.put("datasource", "10");
- entityIdPrefix.put("organization", "20");
- entityIdPrefix.put("project", "40");
- entityIdPrefix.put("result", "50");
- }
-
- public static final Map idPrefixEntity = Maps.newHashMap();
-
- static {
- idPrefixEntity.put("10", "datasource");
- idPrefixEntity.put("20", "organization");
- idPrefixEntity.put("40", "project");
- idPrefixEntity.put("50", "result");
- }
-
- public static final Map relationInverseMap = Maps.newHashMap();
-
- static {
- set(relationInverseMap, PROJECT_ORGANIZATION, PARTICIPATION, IS_PARTICIPANT, HAS_PARTICIPANT);
-
- set(relationInverseMap, RESULT_ORGANIZATION, AFFILIATION, IS_AUTHOR_INSTITUTION_OF, HAS_AUTHOR_INSTITUTION);
-
- set(relationInverseMap, ORG_ORG_RELTYPE, DEDUP, IS_MERGED_IN, MERGES);
- set(relationInverseMap, ORG_ORG_RELTYPE, DEDUP, IS_SIMILAR_TO, IS_SIMILAR_TO);
-
- set(relationInverseMap, RESULT_PROJECT, OUTCOME, IS_PRODUCED_BY, PRODUCES);
-
- set(relationInverseMap, DATASOURCE_ORGANIZATION, PROVISION, IS_PROVIDED_BY, PROVIDES);
-
- set(relationInverseMap, RESULT_RESULT, SIMILARITY, IS_AMONG_TOP_N_SIMILAR_DOCS, HAS_AMONG_TOP_N_SIMILAR_DOCS);
- set(relationInverseMap, RESULT_RESULT, SUPPLEMENT, IS_SUPPLEMENT_TO, IS_SUPPLEMENTED_BY);
- set(relationInverseMap, RESULT_RESULT, PART, IS_PART_OF, HAS_PART);
- set(relationInverseMap, RESULT_RESULT, DEDUP, IS_MERGED_IN, MERGES);
- set(relationInverseMap, RESULT_RESULT, DEDUP, IS_SIMILAR_TO, IS_SIMILAR_TO);
- set(relationInverseMap, RESULT_RESULT, CITATION, IS_CITED_BY, CITES);
-
- set(relationInverseMap, RESULT_RESULT, RELATIONSHIP, IS_IDENTICAL_TO, IS_IDENTICAL_TO);
- set(relationInverseMap, RESULT_RESULT, RELATIONSHIP, IS_REFERENCED_BY, REFERENCES);
- set(relationInverseMap, RESULT_RESULT, RELATIONSHIP, IS_CONTINUED_BY, CONTINUES);
- set(relationInverseMap, RESULT_RESULT, RELATIONSHIP, IS_DOCUMENTED_BY, DOCUMENTS);
- set(relationInverseMap, RESULT_RESULT, RELATIONSHIP, IS_DERIVED_FROM, IS_SOURCE_OF);
- set(relationInverseMap, RESULT_RESULT, RELATIONSHIP, IS_RELATED_TO, IS_RELATED_TO);
- set(relationInverseMap, RESULT_RESULT, RELATIONSHIP, IS_COMPILED_BY, COMPILES);
-
- set(relationInverseMap, RESULT_RESULT, RELATIONSHIP, IS_DESCRIBED_BY, DESCRIBES);
- set(relationInverseMap, RESULT_RESULT, RELATIONSHIP, IS_METADATA_FOR, IS_METADATA_OF);
- set(relationInverseMap, RESULT_RESULT, RELATIONSHIP, HAS_ASSOCIATION_WITH, HAS_ASSOCIATION_WITH);
- set(relationInverseMap, RESULT_RESULT, RELATIONSHIP, IS_REQUIRED_BY, REQUIRES);
-
-
- set(relationInverseMap, RESULT_RESULT, VERSION, IS_PREVIOUS_VERSION_OF, IS_NEW_VERSION_OF);
- set(relationInverseMap, RESULT_RESULT, VERSION, IS_VARIANT_FORM_OF, IS_ORIGINAL_FORM_OF);
- set(relationInverseMap, RESULT_RESULT, VERSION, IS_OBSOLETED_BY, OBSOLETES);
- set(relationInverseMap, RESULT_RESULT, VERSION, IS_VERSION_OF, HAS_VERSION);
-
- set(relationInverseMap, RESULT_RESULT, REVIEW, IS_REVIEWED_BY, REVIEWS);
- }
-
- private static void set(Map relationInverseMap, String relType, String subRelType, String relClass, String inverseRelClass) {
- relationInverseMap
- .put(
- rel(relType, subRelType, relClass), new RelationInverse()
- .setInverseRelClass(inverseRelClass)
- .setRelClass(relClass)
- .setRelType(relType)
- .setSubReltype(subRelType));
- if (!relClass.equals(inverseRelClass)) {
- relationInverseMap
- .put(
- rel(relType, subRelType, inverseRelClass), new RelationInverse()
- .setInverseRelClass(relClass)
- .setRelClass(inverseRelClass)
- .setRelType(relType)
- .setSubReltype(subRelType));
- }
- }
-
- /**
- * Helper method: lookup relation inverse, given the direct relation encoding (case insensitive)
- * @param encoding
- * @return the relation inverse descriptor, throws @IllegalArgumentException when not found.
- */
- public static RelationInverse findInverse(String encoding) {
- return ModelSupport.relationInverseMap
- .entrySet()
- .stream()
- .filter(r -> encoding.equalsIgnoreCase(r.getKey()))
- .findFirst()
- .map(r -> r.getValue())
- .orElseThrow(() -> new IllegalArgumentException("invalid relationship: " + encoding));
- }
-
- /**
- * Helper method: fina a relation filtering by a relation name
- * @param relationName
- * @return
- */
- public static RelationInverse findRelation(final String relationName) {
- return relationInverseMap.values()
- .stream()
- .filter(r -> relationName.equalsIgnoreCase(r.getRelClass()))
- .findFirst()
- .orElse(null);
-
-
- }
-
- /**
- * Helper method: combines the relation attributes
- * @param relType
- * @param subRelType
- * @param relClass
- * @return
- */
- public static String rel(String relType, String subRelType, String relClass) {
- return String.format("%s_%s_%s", relType, subRelType, relClass);
- }
-
- private static final String schemeTemplate = "dnet:%s_%s_relations";
-
- public static final String DATE_FORMAT = "yyyy-MM-dd";
-
- private ModelSupport() {
- }
-
- public static String getIdPrefix(Class clazz) {
- return idPrefixMap.get(clazz);
- }
-
- /**
- * Checks subclass-superclass relationship.
- *
- * @param subClazzObject Subclass object instance
- * @param superClazzObject Superclass object instance
- * @param Subclass type
- * @param Superclass type
- * @return True if X is a subclass of Y
- */
- public static Boolean isSubClass(
- X subClazzObject, Y superClazzObject) {
- return isSubClass(subClazzObject.getClass(), superClazzObject.getClass());
- }
-
- /**
- * Checks subclass-superclass relationship.
- *
- * @param subClazzObject Subclass object instance
- * @param superClazz Superclass class
- * @param Subclass type
- * @param Superclass type
- * @return True if X is a subclass of Y
- */
- public static Boolean isSubClass(
- X subClazzObject, Class superClazz) {
- return isSubClass(subClazzObject.getClass(), superClazz);
- }
-
- /**
- * Checks subclass-superclass relationship.
- *
- * @param subClazz Subclass class
- * @param superClazz Superclass class
- * @param Subclass type
- * @param Superclass type
- * @return True if X is a subclass of Y
- */
- public static Boolean isSubClass(
- Class subClazz, Class superClazz) {
- return superClazz.isAssignableFrom(subClazz);
- }
-
- /**
- * Lists all the OAF model classes
- *
- * @param
- * @return
- */
- public static Class[] getOafModelClasses() {
- return new Class[] {
- Author.class,
- Context.class,
- Country.class,
- DataInfo.class,
- Dataset.class,
- Datasource.class,
- ExternalReference.class,
- ExtraInfo.class,
- Field.class,
- GeoLocation.class,
- Instance.class,
- AccessRight.class,
- OpenAccessRoute.class,
- Journal.class,
- KeyValue.class,
- Oaf.class,
- OafEntity.class,
- OAIProvenance.class,
- Organization.class,
- OriginDescription.class,
- OtherResearchProduct.class,
- Project.class,
- Publication.class,
- Qualifier.class,
- Relation.class,
- Result.class,
- Software.class,
- StructuredProperty.class
- };
- }
-
- public static String getMainType(final EntityType type) {
- return entityMapping.get(type).name();
- }
-
- public static boolean isResult(EntityType type) {
- return MainEntityType.result.name().equals(getMainType(type));
- }
-
- public static String getScheme(final String sourceType, final String targetType) {
- return String
- .format(
- schemeTemplate,
- entityMapping.get(EntityType.valueOf(sourceType)).name(),
- entityMapping.get(EntityType.valueOf(targetType)).name());
- }
-
- public static String tableIdentifier(String dbName, String tableName) {
-
- checkArgument(StringUtils.isNotBlank(dbName), "DB name cannot be empty");
- checkArgument(StringUtils.isNotBlank(tableName), "table name cannot be empty");
-
- return String.format("%s.%s", dbName, tableName);
- }
-
- public static String tableIdentifier(String dbName, Class clazz) {
-
- checkArgument(Objects.nonNull(clazz), "clazz is needed to derive the table name, thus cannot be null");
-
- return tableIdentifier(dbName, clazz.getSimpleName().toLowerCase());
- }
-
- public static Function idFn() {
- return x -> {
- if (isSubClass(x, Relation.class)) {
- return idFnForRelation(x);
- }
- return idFnForOafEntity(x);
- };
- }
-
- private static String idFnForRelation(T t) {
- Relation r = (Relation) t;
- return Optional
- .ofNullable(r.getSource())
- .map(
- source -> Optional
- .ofNullable(r.getTarget())
- .map(
- target -> Optional
- .ofNullable(r.getRelType())
- .map(
- relType -> Optional
- .ofNullable(r.getSubRelType())
- .map(
- subRelType -> Optional
- .ofNullable(r.getRelClass())
- .map(
- relClass -> String
- .join(
- source,
- target,
- relType,
- subRelType,
- relClass))
- .orElse(
- String
- .join(
- source,
- target,
- relType,
- subRelType)))
- .orElse(String.join(source, target, relType)))
- .orElse(String.join(source, target)))
- .orElse(source))
- .orElse(null);
- }
-
- private static String idFnForOafEntity(T t) {
- return ((OafEntity) t).getId();
- }
-
- public static String md5(final String s) {
- try {
- final MessageDigest md = MessageDigest.getInstance("MD5");
- md.update(s.getBytes(StandardCharsets.UTF_8));
- return new String(Hex.encodeHex(md.digest()));
- } catch (final NoSuchAlgorithmException e) {
- throw new IllegalStateException(e);
- }
- }
-
- public static String generateIdentifier(final String originalId, final String nsPrefix) {
- return String.format("%s::%s", nsPrefix, md5(originalId));
- }
-
- public static String oldest(String dateA, String dateB) throws ParseException {
-
- if (StringUtils.isBlank(dateA)) {
- return dateB;
- }
- if (StringUtils.isBlank(dateB)) {
- return dateA;
- }
- if (StringUtils.isNotBlank(dateA) && StringUtils.isNotBlank(dateB)) {
-
- final Date a = DateParserUtils.parseDate(dateA);
- final Date b = DateParserUtils.parseDate(dateB);
-
- if (Objects.nonNull(a) && Objects.nonNull(b)) {
- return a.before(b) ? dateA : dateB;
- } else {
- return null;
- }
- } else {
- return null;
- }
- }
-
-}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/common/RefereedComparator.java b/src/main/java/eu/dnetlib/dhp/schema/common/RefereedComparator.java
deleted file mode 100644
index 86c0d97..0000000
--- a/src/main/java/eu/dnetlib/dhp/schema/common/RefereedComparator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-
-package eu.dnetlib.dhp.schema.common;
-
-import java.util.Comparator;
-
-import eu.dnetlib.dhp.schema.oaf.Qualifier;
-
-public class RefereedComparator implements Comparator {
-
- @Override
- public int compare(Qualifier left, Qualifier right) {
-
- if (left == null && right == null)
- return 0;
- if (left == null)
- return 1;
- if (right == null)
- return -1;
-
- String lClass = left.getClassid();
- String rClass = right.getClassid();
-
- if (lClass.equals(rClass))
- return 0;
-
- if (lClass.equals(ModelConstants.PEER_REVIEWED_CLASSID))
- return -1;
- if (rClass.equals(ModelConstants.PEER_REVIEWED_CLASSID))
- return 1;
-
- if (lClass.equals(ModelConstants.NON_PEER_REVIEWED_CLASSID))
- return -1;
- if (rClass.equals(ModelConstants.NON_PEER_REVIEWED_CLASSID))
- return 1;
-
- if (lClass.equals(ModelConstants.UNKNOWN))
- return -1;
- if (rClass.equals(ModelConstants.UNKNOWN))
- return 1;
-
- // Else (but unlikely), lexicographical ordering will do.
- return lClass.compareTo(rClass);
- }
-}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/common/RelationInverse.java b/src/main/java/eu/dnetlib/dhp/schema/common/RelationInverse.java
deleted file mode 100644
index 2b9ed94..0000000
--- a/src/main/java/eu/dnetlib/dhp/schema/common/RelationInverse.java
+++ /dev/null
@@ -1,46 +0,0 @@
-
-package eu.dnetlib.dhp.schema.common;
-
-public class RelationInverse {
- private String relClass;
- private String inverseRelClass;
- private String relType;
- private String subReltype;
-
- public String getRelType() {
- return relType;
- }
-
- public RelationInverse setRelType(String relType) {
- this.relType = relType;
- return this;
- }
-
- public String getSubReltype() {
- return subReltype;
- }
-
- public RelationInverse setSubReltype(String subReltype) {
- this.subReltype = subReltype;
- return this;
- }
-
- public String getRelClass() {
- return relClass;
- }
-
- public RelationInverse setRelClass(String relClass) {
- this.relClass = relClass;
- return this;
- }
-
- public String getInverseRelClass() {
- return inverseRelClass;
- }
-
- public RelationInverse setInverseRelClass(String inverseRelClass) {
- this.inverseRelClass = inverseRelClass;
- return this;
- }
-
-}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/mdstore/MetadataRecord.java b/src/main/java/eu/dnetlib/dhp/schema/mdstore/MetadataRecord.java
index 8277e14..9fce404 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/mdstore/MetadataRecord.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/mdstore/MetadataRecord.java
@@ -3,8 +3,6 @@ package eu.dnetlib.dhp.schema.mdstore;
import java.io.Serializable;
-import eu.dnetlib.dhp.schema.common.ModelSupport;
-
/**
* This class models a record in a Metadata store collection on HDFS
*/
@@ -38,6 +36,7 @@ public class MetadataRecord implements Serializable {
}
public MetadataRecord(
+ String id,
String originalId,
String encoding,
Provenance provenance,
@@ -49,7 +48,7 @@ public class MetadataRecord implements Serializable {
this.provenance = provenance;
this.body = body;
this.dateOfCollection = dateOfCollection;
- this.id = ModelSupport.generateIdentifier(originalId, this.provenance.getNsPrefix());
+ this.id = id;
}
public String getId() {
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/Author.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/Author.java
index b2f757d..9f3e2e3 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/Author.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/Author.java
@@ -15,9 +15,7 @@ public class Author implements Serializable {
// START WITH 1
private Integer rank;
- private List pid;
-
- private List> affiliation;
+ private List pid;
public String getFullname() {
return fullname;
@@ -51,22 +49,14 @@ public class Author implements Serializable {
this.rank = rank;
}
- public List getPid() {
+ public List getPid() {
return pid;
}
- public void setPid(List pid) {
+ public void setPid(List pid) {
this.pid = pid;
}
- public List> getAffiliation() {
- return affiliation;
- }
-
- public void setAffiliation(List> affiliation) {
- this.affiliation = affiliation;
- }
-
@Override
public boolean equals(Object o) {
if (this == o)
@@ -78,13 +68,12 @@ public class Author implements Serializable {
&& Objects.equals(name, author.name)
&& Objects.equals(surname, author.surname)
&& Objects.equals(rank, author.rank)
- && Objects.equals(pid, author.pid)
- && Objects.equals(affiliation, author.affiliation);
+ && Objects.equals(pid, author.pid);
}
@Override
public int hashCode() {
- return Objects.hash(fullname, name, surname, rank, pid, affiliation);
+ return Objects.hash(fullname, name, surname, rank, pid);
}
}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/AuthorPid.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/AuthorPid.java
new file mode 100644
index 0000000..fa15ab2
--- /dev/null
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/AuthorPid.java
@@ -0,0 +1,16 @@
+package eu.dnetlib.dhp.schema.oaf;
+
+import java.io.Serializable;
+
+public class AuthorPid extends StructuredProperty implements Serializable {
+
+ private DataInfo dataInfo;
+
+ public DataInfo getDataInfo() {
+ return dataInfo;
+ }
+
+ public void setDataInfo(DataInfo dataInfo) {
+ this.dataInfo = dataInfo;
+ }
+}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/DataInfo.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/DataInfo.java
index 9d572ee..c50d793 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/DataInfo.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/DataInfo.java
@@ -6,21 +6,11 @@ import java.util.Objects;
public class DataInfo implements Serializable {
- private Boolean invisible = false;
private Boolean inferred;
- private Boolean deletedbyinference = false;
- private String trust;
+ private Float trust;
private String inferenceprovenance;
private Qualifier provenanceaction;
- public Boolean getInvisible() {
- return invisible;
- }
-
- public void setInvisible(Boolean invisible) {
- this.invisible = invisible;
- }
-
public Boolean getInferred() {
return inferred;
}
@@ -29,19 +19,11 @@ public class DataInfo implements Serializable {
this.inferred = inferred;
}
- public Boolean getDeletedbyinference() {
- return deletedbyinference;
- }
-
- public void setDeletedbyinference(Boolean deletedbyinference) {
- this.deletedbyinference = deletedbyinference;
- }
-
- public String getTrust() {
+ public Float getTrust() {
return trust;
}
- public void setTrust(String trust) {
+ public void setTrust(Float trust) {
this.trust = trust;
}
@@ -68,9 +50,7 @@ public class DataInfo implements Serializable {
if (o == null || getClass() != o.getClass())
return false;
DataInfo dataInfo = (DataInfo) o;
- return Objects.equals(invisible, dataInfo.invisible)
- && Objects.equals(inferred, dataInfo.inferred)
- && Objects.equals(deletedbyinference, dataInfo.deletedbyinference)
+ return Objects.equals(inferred, dataInfo.inferred)
&& Objects.equals(trust, dataInfo.trust)
&& Objects.equals(inferenceprovenance, dataInfo.inferenceprovenance)
&& Objects.equals(provenanceaction, dataInfo.provenanceaction);
@@ -80,6 +60,6 @@ public class DataInfo implements Serializable {
public int hashCode() {
return Objects
.hash(
- invisible, inferred, deletedbyinference, trust, inferenceprovenance, provenanceaction);
+ inferred, trust, inferenceprovenance, provenanceaction);
}
}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/Dataset.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/Dataset.java
index b5587c6..13f0193 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/Dataset.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/Dataset.java
@@ -4,74 +4,72 @@ package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.List;
-import eu.dnetlib.dhp.schema.common.ModelConstants;
-
public class Dataset extends Result implements Serializable {
- private Field storagedate;
+ private String storagedate;
// candidate for removal
- private Field device;
+ private String device;
- private Field size;
+ private String size;
- private Field version;
+ private String version;
- private Field lastmetadataupdate;
+ private String lastmetadataupdate;
- private Field metadataversionnumber;
+ private String metadataversionnumber;
private List geolocation;
public Dataset() {
- setResulttype(ModelConstants.DATASET_DEFAULT_RESULTTYPE);
+ setResulttype(RESULTTYPE.dataset);
}
- public Field getStoragedate() {
+ public String getStoragedate() {
return storagedate;
}
- public void setStoragedate(Field storagedate) {
+ public void setStoragedate(String storagedate) {
this.storagedate = storagedate;
}
- public Field getDevice() {
+ public String getDevice() {
return device;
}
- public void setDevice(Field device) {
+ public void setDevice(String device) {
this.device = device;
}
- public Field getSize() {
+ public String getSize() {
return size;
}
- public void setSize(Field size) {
+ public void setSize(String size) {
this.size = size;
}
- public Field getVersion() {
+ public String getVersion() {
return version;
}
- public void setVersion(Field version) {
+ public void setVersion(String version) {
this.version = version;
}
- public Field getLastmetadataupdate() {
+ public String getLastmetadataupdate() {
return lastmetadataupdate;
}
- public void setLastmetadataupdate(Field lastmetadataupdate) {
+ public void setLastmetadataupdate(String lastmetadataupdate) {
this.lastmetadataupdate = lastmetadataupdate;
}
- public Field getMetadataversionnumber() {
+ public String getMetadataversionnumber() {
return metadataversionnumber;
}
- public void setMetadataversionnumber(Field metadataversionnumber) {
+ public void setMetadataversionnumber(String metadataversionnumber) {
this.metadataversionnumber = metadataversionnumber;
}
@@ -82,35 +80,4 @@ public class Dataset extends Result implements Serializable {
public void setGeolocation(List geolocation) {
this.geolocation = geolocation;
}
-
- @Override
- public void mergeFrom(OafEntity e) {
- super.mergeFrom(e);
-
- if (!Dataset.class.isAssignableFrom(e.getClass())) {
- return;
- }
-
- final Dataset d = (Dataset) e;
-
- storagedate = d.getStoragedate() != null && compareTrust(this, e) < 0 ? d.getStoragedate() : storagedate;
-
- device = d.getDevice() != null && compareTrust(this, e) < 0 ? d.getDevice() : device;
-
- size = d.getSize() != null && compareTrust(this, e) < 0 ? d.getSize() : size;
-
- version = d.getVersion() != null && compareTrust(this, e) < 0 ? d.getVersion() : version;
-
- lastmetadataupdate = d.getLastmetadataupdate() != null && compareTrust(this, e) < 0
- ? d.getLastmetadataupdate()
- : lastmetadataupdate;
-
- metadataversionnumber = d.getMetadataversionnumber() != null && compareTrust(this, e) < 0
- ? d.getMetadataversionnumber()
- : metadataversionnumber;
-
- geolocation = mergeLists(geolocation, d.getGeolocation());
-
- mergeOAFDataInfo(d);
- }
}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/Datasource.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/Datasource.java
index 5067ada..08568fb 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/Datasource.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/Datasource.java
@@ -4,11 +4,8 @@ package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.List;
-public class Datasource extends OafEntity implements Serializable {
+public class Datasource extends Entity implements Serializable {
- /**
- *
- */
private static final long serialVersionUID = 1019089598408414496L;
@Deprecated
@@ -23,83 +20,83 @@ public class Datasource extends OafEntity implements Serializable {
private Qualifier openairecompatibility;
- private Field officialname;
+ private String officialname;
- private Field englishname;
+ private String englishname;
- private Field websiteurl;
+ private String websiteurl;
- private Field logourl;
+ private String logourl;
- private Field contactemail;
+ private String contactemail;
- private Field namespaceprefix;
+ private String namespaceprefix;
- private Field latitude;
+ private String latitude;
- private Field longitude;
+ private String longitude;
- private Field dateofvalidation;
+ private String dateofvalidation;
- private Field description;
+ private String description;
private List subjects;
// opendoar specific fields (od*)
@Deprecated
- private Field odnumberofitems;
+ private String odnumberofitems;
@Deprecated
- private Field odnumberofitemsdate;
+ private String odnumberofitemsdate;
@Deprecated
- private Field odpolicies;
+ private String odpolicies;
@Deprecated
- private List> odlanguages;
+ private List odlanguages;
private List languages;
@Deprecated
- private List> odcontenttypes;
+ private List odcontenttypes;
- private List> accessinfopackage;
+ private List accessinfopackage;
// re3data fields
- private Field releasestartdate;
+ private String releasestartdate;
- private Field releaseenddate;
+ private String releaseenddate;
- private Field missionstatementurl;
+ private String missionstatementurl;
@Deprecated
- private Field dataprovider;
+ private Boolean dataprovider;
@Deprecated
- private Field serviceprovider;
+ private Boolean serviceprovider;
// {open, restricted or closed}
- private Field databaseaccesstype;
+ private String databaseaccesstype;
// {open, restricted or closed}
- private Field datauploadtype;
+ private String datauploadtype;
// {feeRequired, registration, other}
- private Field databaseaccessrestriction;
+ private String databaseaccessrestriction;
// {feeRequired, registration, other}
- private Field datauploadrestriction;
+ private String datauploadrestriction;
@Deprecated
- private Field versioning;
+ private Boolean versioning;
private Boolean versioncontrol;
- private Field citationguidelineurl;
+ private String citationguidelineurl;
- private Field pidsystems;
+ private String pidsystems;
- private Field certificates;
+ private String certificates;
@Deprecated
private List policies;
@@ -146,7 +143,7 @@ public class Datasource extends OafEntity implements Serializable {
return datasourcetype;
}
- public void setDatasourcetype(final Qualifier datasourcetype) {
+ public void setDatasourcetype(Qualifier datasourcetype) {
this.datasourcetype = datasourcetype;
}
@@ -154,7 +151,7 @@ public class Datasource extends OafEntity implements Serializable {
return datasourcetypeui;
}
- public void setDatasourcetypeui(final Qualifier datasourcetypeui) {
+ public void setDatasourcetypeui(Qualifier datasourcetypeui) {
this.datasourcetypeui = datasourcetypeui;
}
@@ -178,87 +175,87 @@ public class Datasource extends OafEntity implements Serializable {
return openairecompatibility;
}
- public void setOpenairecompatibility(final Qualifier openairecompatibility) {
+ public void setOpenairecompatibility(Qualifier openairecompatibility) {
this.openairecompatibility = openairecompatibility;
}
- public Field getOfficialname() {
+ public String getOfficialname() {
return officialname;
}
- public void setOfficialname(final Field officialname) {
+ public void setOfficialname(String officialname) {
this.officialname = officialname;
}
- public Field getEnglishname() {
+ public String getEnglishname() {
return englishname;
}
- public void setEnglishname(final Field englishname) {
+ public void setEnglishname(String englishname) {
this.englishname = englishname;
}
- public Field getWebsiteurl() {
+ public String getWebsiteurl() {
return websiteurl;
}
- public void setWebsiteurl(final Field websiteurl) {
+ public void setWebsiteurl(String websiteurl) {
this.websiteurl = websiteurl;
}
- public Field getLogourl() {
+ public String getLogourl() {
return logourl;
}
- public void setLogourl(final Field logourl) {
+ public void setLogourl(String logourl) {
this.logourl = logourl;
}
- public Field getContactemail() {
+ public String getContactemail() {
return contactemail;
}
- public void setContactemail(final Field contactemail) {
+ public void setContactemail(String contactemail) {
this.contactemail = contactemail;
}
- public Field getNamespaceprefix() {
+ public String getNamespaceprefix() {
return namespaceprefix;
}
- public void setNamespaceprefix(final Field namespaceprefix) {
+ public void setNamespaceprefix(String namespaceprefix) {
this.namespaceprefix = namespaceprefix;
}
- public Field getLatitude() {
+ public String getLatitude() {
return latitude;
}
- public void setLatitude(final Field latitude) {
+ public void setLatitude(String latitude) {
this.latitude = latitude;
}
- public Field getLongitude() {
+ public String getLongitude() {
return longitude;
}
- public void setLongitude(final Field longitude) {
+ public void setLongitude(String longitude) {
this.longitude = longitude;
}
- public Field getDateofvalidation() {
+ public String getDateofvalidation() {
return dateofvalidation;
}
- public void setDateofvalidation(final Field dateofvalidation) {
+ public void setDateofvalidation(String dateofvalidation) {
this.dateofvalidation = dateofvalidation;
}
- public Field getDescription() {
+ public String getDescription() {
return description;
}
- public void setDescription(final Field description) {
+ public void setDescription(String description) {
this.description = description;
}
@@ -266,39 +263,39 @@ public class Datasource extends OafEntity implements Serializable {
return subjects;
}
- public void setSubjects(final List subjects) {
+ public void setSubjects(List subjects) {
this.subjects = subjects;
}
- public Field getOdnumberofitems() {
+ public String getOdnumberofitems() {
return odnumberofitems;
}
- public void setOdnumberofitems(final Field odnumberofitems) {
+ public void setOdnumberofitems(String odnumberofitems) {
this.odnumberofitems = odnumberofitems;
}
- public Field getOdnumberofitemsdate() {
+ public String getOdnumberofitemsdate() {
return odnumberofitemsdate;
}
- public void setOdnumberofitemsdate(final Field odnumberofitemsdate) {
+ public void setOdnumberofitemsdate(String odnumberofitemsdate) {
this.odnumberofitemsdate = odnumberofitemsdate;
}
- public Field getOdpolicies() {
+ public String getOdpolicies() {
return odpolicies;
}
- public void setOdpolicies(final Field odpolicies) {
+ public void setOdpolicies(String odpolicies) {
this.odpolicies = odpolicies;
}
- public List> getOdlanguages() {
+ public List getOdlanguages() {
return odlanguages;
}
- public void setOdlanguages(final List> odlanguages) {
+ public void setOdlanguages(List odlanguages) {
this.odlanguages = odlanguages;
}
@@ -306,103 +303,103 @@ public class Datasource extends OafEntity implements Serializable {
return languages;
}
- public void setLanguages(final List languages) {
+ public void setLanguages(List languages) {
this.languages = languages;
}
- public List> getOdcontenttypes() {
+ public List getOdcontenttypes() {
return odcontenttypes;
}
- public void setOdcontenttypes(final List> odcontenttypes) {
+ public void setOdcontenttypes(List odcontenttypes) {
this.odcontenttypes = odcontenttypes;
}
- public List> getAccessinfopackage() {
+ public List getAccessinfopackage() {
return accessinfopackage;
}
- public void setAccessinfopackage(final List> accessinfopackage) {
+ public void setAccessinfopackage(List accessinfopackage) {
this.accessinfopackage = accessinfopackage;
}
- public Field getReleasestartdate() {
+ public String getReleasestartdate() {
return releasestartdate;
}
- public void setReleasestartdate(final Field releasestartdate) {
+ public void setReleasestartdate(String releasestartdate) {
this.releasestartdate = releasestartdate;
}
- public Field getReleaseenddate() {
+ public String getReleaseenddate() {
return releaseenddate;
}
- public void setReleaseenddate(final Field releaseenddate) {
+ public void setReleaseenddate(String releaseenddate) {
this.releaseenddate = releaseenddate;
}
- public Field getMissionstatementurl() {
+ public String getMissionstatementurl() {
return missionstatementurl;
}
- public void setMissionstatementurl(final Field missionstatementurl) {
+ public void setMissionstatementurl(String missionstatementurl) {
this.missionstatementurl = missionstatementurl;
}
- public Field getDataprovider() {
+ public Boolean getDataprovider() {
return dataprovider;
}
- public void setDataprovider(final Field dataprovider) {
+ public void setDataprovider(Boolean dataprovider) {
this.dataprovider = dataprovider;
}
- public Field getServiceprovider() {
+ public Boolean getServiceprovider() {
return serviceprovider;
}
- public void setServiceprovider(final Field serviceprovider) {
+ public void setServiceprovider(Boolean serviceprovider) {
this.serviceprovider = serviceprovider;
}
- public Field getDatabaseaccesstype() {
+ public String getDatabaseaccesstype() {
return databaseaccesstype;
}
- public void setDatabaseaccesstype(final Field databaseaccesstype) {
+ public void setDatabaseaccesstype(String databaseaccesstype) {
this.databaseaccesstype = databaseaccesstype;
}
- public Field getDatauploadtype() {
+ public String getDatauploadtype() {
return datauploadtype;
}
- public void setDatauploadtype(final Field datauploadtype) {
+ public void setDatauploadtype(String datauploadtype) {
this.datauploadtype = datauploadtype;
}
- public Field getDatabaseaccessrestriction() {
+ public String getDatabaseaccessrestriction() {
return databaseaccessrestriction;
}
- public void setDatabaseaccessrestriction(final Field databaseaccessrestriction) {
+ public void setDatabaseaccessrestriction(String databaseaccessrestriction) {
this.databaseaccessrestriction = databaseaccessrestriction;
}
- public Field getDatauploadrestriction() {
+ public String getDatauploadrestriction() {
return datauploadrestriction;
}
- public void setDatauploadrestriction(final Field datauploadrestriction) {
+ public void setDatauploadrestriction(String datauploadrestriction) {
this.datauploadrestriction = datauploadrestriction;
}
- public Field getVersioning() {
+ public Boolean getVersioning() {
return versioning;
}
- public void setVersioning(final Field versioning) {
+ public void setVersioning(Boolean versioning) {
this.versioning = versioning;
}
@@ -414,27 +411,27 @@ public class Datasource extends OafEntity implements Serializable {
this.versioncontrol = versioncontrol;
}
- public Field getCitationguidelineurl() {
+ public String getCitationguidelineurl() {
return citationguidelineurl;
}
- public void setCitationguidelineurl(final Field citationguidelineurl) {
+ public void setCitationguidelineurl(String citationguidelineurl) {
this.citationguidelineurl = citationguidelineurl;
}
- public Field getPidsystems() {
+ public String getPidsystems() {
return pidsystems;
}
- public void setPidsystems(final Field pidsystems) {
+ public void setPidsystems(String pidsystems) {
this.pidsystems = pidsystems;
}
- public Field getCertificates() {
+ public String getCertificates() {
return certificates;
}
- public void setCertificates(final Field certificates) {
+ public void setCertificates(String certificates) {
this.certificates = certificates;
}
@@ -442,7 +439,7 @@ public class Datasource extends OafEntity implements Serializable {
return policies;
}
- public void setPolicies(final List policies) {
+ public void setPolicies(List policies) {
this.policies = policies;
}
@@ -450,7 +447,7 @@ public class Datasource extends OafEntity implements Serializable {
return journal;
}
- public void setJournal(final Journal journal) {
+ public void setJournal(Journal journal) {
this.journal = journal;
}
@@ -458,7 +455,7 @@ public class Datasource extends OafEntity implements Serializable {
return researchentitytypes;
}
- public void setResearchentitytypes(final List researchentitytypes) {
+ public void setResearchentitytypes(List researchentitytypes) {
this.researchentitytypes = researchentitytypes;
}
@@ -466,7 +463,7 @@ public class Datasource extends OafEntity implements Serializable {
return providedproducttypes;
}
- public void setProvidedproducttypes(final List providedproducttypes) {
+ public void setProvidedproducttypes(List providedproducttypes) {
this.providedproducttypes = providedproducttypes;
}
@@ -474,7 +471,7 @@ public class Datasource extends OafEntity implements Serializable {
return jurisdiction;
}
- public void setJurisdiction(final Qualifier jurisdiction) {
+ public void setJurisdiction(Qualifier jurisdiction) {
this.jurisdiction = jurisdiction;
}
@@ -482,7 +479,7 @@ public class Datasource extends OafEntity implements Serializable {
return thematic;
}
- public void setThematic(final Boolean thematic) {
+ public void setThematic(Boolean thematic) {
this.thematic = thematic;
}
@@ -490,7 +487,7 @@ public class Datasource extends OafEntity implements Serializable {
return contentpolicies;
}
- public void setContentpolicies(final List contentpolicies) {
+ public void setContentpolicies(List contentpolicies) {
this.contentpolicies = contentpolicies;
}
@@ -530,10 +527,26 @@ public class Datasource extends OafEntity implements Serializable {
return consenttermsofuse;
}
- public void setConsenttermsofuse(final Boolean consenttermsofuse) {
+ public void setConsenttermsofuse(Boolean consenttermsofuse) {
this.consenttermsofuse = consenttermsofuse;
}
+ public Boolean getFulltextdownload() {
+ return fulltextdownload;
+ }
+
+ public void setFulltextdownload(Boolean fulltextdownload) {
+ this.fulltextdownload = fulltextdownload;
+ }
+
+ public String getConsenttermsofusedate() {
+ return consenttermsofusedate;
+ }
+
+ public void setConsenttermsofusedate(String consenttermsofusedate) {
+ this.consenttermsofusedate = consenttermsofusedate;
+ }
+
public String getLastconsenttermsofusedate() {
return lastconsenttermsofusedate;
}
@@ -542,22 +555,6 @@ public class Datasource extends OafEntity implements Serializable {
this.lastconsenttermsofusedate = lastconsenttermsofusedate;
}
- public Boolean getFulltextdownload() {
- return fulltextdownload;
- }
-
- public void setFulltextdownload(final Boolean fulltextdownload) {
- this.fulltextdownload = fulltextdownload;
- }
-
- public String getConsenttermsofusedate() {
- return consenttermsofusedate;
- }
-
- public void setConsenttermsofusedate(final String consenttermsofusedate) {
- this.consenttermsofusedate = consenttermsofusedate;
- }
-
public List getEoscifguidelines() {
return eoscifguidelines;
}
@@ -565,10 +562,4 @@ public class Datasource extends OafEntity implements Serializable {
public void setEoscifguidelines(List eoscifguidelines) {
this.eoscifguidelines = eoscifguidelines;
}
-
- @Override
- public void mergeFrom(final OafEntity e) {
- super.mergeFrom(e);
- }
-
}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/OafEntity.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/Entity.java
similarity index 58%
rename from src/main/java/eu/dnetlib/dhp/schema/oaf/OafEntity.java
rename to src/main/java/eu/dnetlib/dhp/schema/oaf/Entity.java
index 0411821..790f7fd 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/OafEntity.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/Entity.java
@@ -5,21 +5,49 @@ import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
-public abstract class OafEntity extends Oaf implements Serializable {
+public abstract class Entity extends Oaf implements Serializable {
private String id;
private List originalId;
+ /**
+ * The list of datasource id/name pairs providing this Oaf.
+ */
+ private List collectedfrom;
+
+ private Long lastupdatetimestamp;
+
private List pid;
private String dateofcollection;
private String dateoftransformation;
+ /**
+ * The Measures.
+ */
+ private List measures;
+
private List extraInfo;
- private OAIProvenance oaiprovenance;
+ private EntityDataInfo dataInfo;
+
+ public List getCollectedfrom() {
+ return collectedfrom;
+ }
+
+ public void setCollectedfrom(List collectedfrom) {
+ this.collectedfrom = collectedfrom;
+ }
+
+ public Long getLastupdatetimestamp() {
+ return lastupdatetimestamp;
+ }
+
+ public void setLastupdatetimestamp(Long lastupdatetimestamp) {
+ this.lastupdatetimestamp = lastupdatetimestamp;
+ }
public String getId() {
return id;
@@ -57,6 +85,24 @@ public abstract class OafEntity extends Oaf implements Serializable {
return dateoftransformation;
}
+ /**
+ * Gets measures.
+ *
+ * @return the measures
+ */
+ public List getMeasures() {
+ return measures;
+ }
+
+ /**
+ * Sets measures.
+ *
+ * @param measures the measures
+ */
+ public void setMeasures(List measures) {
+ this.measures = measures;
+ }
+
public void setDateoftransformation(String dateoftransformation) {
this.dateoftransformation = dateoftransformation;
}
@@ -69,43 +115,12 @@ public abstract class OafEntity extends Oaf implements Serializable {
this.extraInfo = extraInfo;
}
- public OAIProvenance getOaiprovenance() {
- return oaiprovenance;
+ public EntityDataInfo getDataInfo() {
+ return dataInfo;
}
- public void setOaiprovenance(OAIProvenance oaiprovenance) {
- this.oaiprovenance = oaiprovenance;
- }
-
- public void mergeFrom(OafEntity e) {
- super.mergeFrom(e);
-
- originalId = mergeLists(originalId, e.getOriginalId());
-
- pid = mergeLists(pid, e.getPid());
-
- if (e.getDateofcollection() != null && compareTrust(this, e) < 0)
- dateofcollection = e.getDateofcollection();
-
- if (e.getDateoftransformation() != null && compareTrust(this, e) < 0)
- dateoftransformation = e.getDateoftransformation();
-
- extraInfo = mergeLists(extraInfo, e.getExtraInfo());
-
- if (e.getOaiprovenance() != null && compareTrust(this, e) < 0)
- oaiprovenance = e.getOaiprovenance();
- }
-
- @SafeVarargs
- protected final List mergeLists(final List... lists) {
-
- return Arrays
- .stream(lists)
- .filter(Objects::nonNull)
- .flatMap(List::stream)
- .filter(Objects::nonNull)
- .distinct()
- .collect(Collectors.toList());
+ public void setDataInfo(EntityDataInfo dataInfo) {
+ this.dataInfo = dataInfo;
}
@Override
@@ -116,7 +131,7 @@ public abstract class OafEntity extends Oaf implements Serializable {
return false;
if (!super.equals(o))
return false;
- OafEntity oafEntity = (OafEntity) o;
+ Entity oafEntity = (Entity) o;
return Objects.equals(id, oafEntity.id);
}
@@ -124,4 +139,5 @@ public abstract class OafEntity extends Oaf implements Serializable {
public int hashCode() {
return Objects.hash(super.hashCode(), id);
}
+
}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/EntityDataInfo.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/EntityDataInfo.java
new file mode 100644
index 0000000..1c71686
--- /dev/null
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/EntityDataInfo.java
@@ -0,0 +1,82 @@
+package eu.dnetlib.dhp.schema.oaf;
+
+import java.util.Objects;
+
+public class EntityDataInfo {
+ private Boolean inferred;
+ private Float trust;
+ private String inferenceprovenance;
+ private Qualifier provenanceaction;
+ private Boolean invisible = false;
+ private Boolean deletedbyinference = false;
+
+ public Boolean getInferred() {
+ return inferred;
+ }
+
+ public void setInferred(Boolean inferred) {
+ this.inferred = inferred;
+ }
+
+ public Float getTrust() {
+ return trust;
+ }
+
+ public void setTrust(Float trust) {
+ this.trust = trust;
+ }
+
+ public String getInferenceprovenance() {
+ return inferenceprovenance;
+ }
+
+ public void setInferenceprovenance(String inferenceprovenance) {
+ this.inferenceprovenance = inferenceprovenance;
+ }
+
+ public Qualifier getProvenanceaction() {
+ return provenanceaction;
+ }
+
+ public void setProvenanceaction(Qualifier provenanceaction) {
+ this.provenanceaction = provenanceaction;
+ }
+
+ public Boolean getInvisible() {
+ return invisible;
+ }
+
+ public void setInvisible(Boolean invisible) {
+ this.invisible = invisible;
+ }
+
+ public Boolean getDeletedbyinference() {
+ return deletedbyinference;
+ }
+
+ public void setDeletedbyinference(Boolean deletedbyinference) {
+ this.deletedbyinference = deletedbyinference;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+ if (o == null || getClass() != o.getClass())
+ return false;
+ EntityDataInfo dataInfo = (EntityDataInfo) o;
+ return Objects.equals(inferred, dataInfo.inferred)
+ && Objects.equals(trust, dataInfo.trust)
+ && Objects.equals(inferenceprovenance, dataInfo.inferenceprovenance)
+ && Objects.equals(provenanceaction, dataInfo.provenanceaction)
+ && Objects.equals(deletedbyinference, dataInfo.deletedbyinference)
+ && Objects.equals(invisible, dataInfo.invisible);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ inferred, trust, inferenceprovenance, provenanceaction, deletedbyinference, invisible);
+ }
+
+}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/ExternalReference.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/ExternalReference.java
index 0689b44..b8d090f 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/ExternalReference.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/ExternalReference.java
@@ -27,9 +27,6 @@ public class ExternalReference implements Serializable {
// maps the oaf:reference/@query attribute
private String query;
- // ExternalReferences might be also inferred
- private DataInfo dataInfo;
-
public String getSitename() {
return sitename;
}
@@ -86,14 +83,6 @@ public class ExternalReference implements Serializable {
this.query = query;
}
- public DataInfo getDataInfo() {
- return dataInfo;
- }
-
- public void setDataInfo(DataInfo dataInfo) {
- this.dataInfo = dataInfo;
- }
-
@Override
public boolean equals(Object o) {
if (this == o)
@@ -106,15 +95,14 @@ public class ExternalReference implements Serializable {
&& Objects.equals(url, that.url)
&& Objects.equals(qualifier, that.qualifier)
&& Objects.equals(refidentifier, that.refidentifier)
- && Objects.equals(query, that.query)
- && Objects.equals(dataInfo, that.dataInfo);
+ && Objects.equals(query, that.query);
}
@Override
public int hashCode() {
return Objects
.hash(
- sitename, label, url, qualifier, refidentifier, query, dataInfo);
+ sitename, label, url, qualifier, refidentifier, query);
}
}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/Field.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/Field.java
deleted file mode 100644
index 8358bc4..0000000
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/Field.java
+++ /dev/null
@@ -1,45 +0,0 @@
-
-package eu.dnetlib.dhp.schema.oaf;
-
-import java.io.Serializable;
-import java.util.Objects;
-
-public class Field implements Serializable {
-
- private T value;
-
- private DataInfo dataInfo;
-
- public T getValue() {
- return value;
- }
-
- public void setValue(T value) {
- this.value = value;
- }
-
- public DataInfo getDataInfo() {
- return dataInfo;
- }
-
- public void setDataInfo(DataInfo dataInfo) {
- this.dataInfo = dataInfo;
- }
-
- @Override
- public int hashCode() {
- return getValue() == null ? 0 : getValue().hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Field other = (Field) obj;
- return Objects.equals(getValue(), other.getValue());
- }
-}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/Instance.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/Instance.java
index 6bb2908..db87aac 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/Instance.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/Instance.java
@@ -6,7 +6,7 @@ import java.util.List;
public class Instance implements Serializable {
- private Field license;
+ private License license;
private AccessRight accessright;
@@ -16,6 +16,8 @@ public class Instance implements Serializable {
private List url;
+ private List fulltext;
+
// other research products specifc
private String distributionlocation;
@@ -25,25 +27,23 @@ public class Instance implements Serializable {
private List alternateIdentifier;
- private Field dateofacceptance;
+ private String dateofacceptance;
// ( article | book ) processing charges. Defined here to cope with possible wrongly typed
// results
- private Field processingchargeamount;
+ private String processingchargeamount;
// currency - alphabetic code describe in ISO-4217. Defined here to cope with possible wrongly
// typed results
- private Field processingchargecurrency;
+ private String processingchargecurrency;
private Qualifier refereed; // peer-review status
- private List measures;
-
- public Field getLicense() {
+ public License getLicense() {
return license;
}
- public void setLicense(Field license) {
+ public void setLicense(License license) {
this.license = license;
}
@@ -79,6 +79,14 @@ public class Instance implements Serializable {
this.url = url;
}
+ public List getFulltext() {
+ return fulltext;
+ }
+
+ public void setFulltext(List fulltext) {
+ this.fulltext = fulltext;
+ }
+
public String getDistributionlocation() {
return distributionlocation;
}
@@ -103,11 +111,11 @@ public class Instance implements Serializable {
this.pid = pid;
}
- public Field getDateofacceptance() {
+ public String getDateofacceptance() {
return dateofacceptance;
}
- public void setDateofacceptance(Field dateofacceptance) {
+ public void setDateofacceptance(String dateofacceptance) {
this.dateofacceptance = dateofacceptance;
}
@@ -119,19 +127,19 @@ public class Instance implements Serializable {
this.alternateIdentifier = alternateIdentifier;
}
- public Field getProcessingchargeamount() {
+ public String getProcessingchargeamount() {
return processingchargeamount;
}
- public void setProcessingchargeamount(Field processingchargeamount) {
+ public void setProcessingchargeamount(String processingchargeamount) {
this.processingchargeamount = processingchargeamount;
}
- public Field getProcessingchargecurrency() {
+ public String getProcessingchargecurrency() {
return processingchargecurrency;
}
- public void setProcessingchargecurrency(Field processingchargecurrency) {
+ public void setProcessingchargecurrency(String processingchargecurrency) {
this.processingchargecurrency = processingchargecurrency;
}
@@ -143,14 +151,6 @@ public class Instance implements Serializable {
this.refereed = refereed;
}
- public List getMeasures() {
- return measures;
- }
-
- public void setMeasures(List measures) {
- this.measures = measures;
- }
-
public String toComparableString() {
return String
.format(
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/Journal.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/Journal.java
index 7a375e2..6897450 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/Journal.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/Journal.java
@@ -28,8 +28,6 @@ public class Journal implements Serializable {
private String conferencedate;
- private DataInfo dataInfo;
-
public String getName() {
return name;
}
@@ -118,14 +116,6 @@ public class Journal implements Serializable {
this.conferencedate = conferencedate;
}
- public DataInfo getDataInfo() {
- return dataInfo;
- }
-
- public void setDataInfo(DataInfo dataInfo) {
- this.dataInfo = dataInfo;
- }
-
@Override
public boolean equals(Object o) {
if (this == o)
@@ -143,8 +133,7 @@ public class Journal implements Serializable {
&& Objects.equals(vol, journal.vol)
&& Objects.equals(edition, journal.edition)
&& Objects.equals(conferenceplace, journal.conferenceplace)
- && Objects.equals(conferencedate, journal.conferencedate)
- && Objects.equals(dataInfo, journal.dataInfo);
+ && Objects.equals(conferencedate, journal.conferencedate);
}
@Override
@@ -161,7 +150,6 @@ public class Journal implements Serializable {
vol,
edition,
conferenceplace,
- conferencedate,
- dataInfo);
+ conferencedate);
}
}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/KeyValue.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/KeyValue.java
index 4e2d601..ce31198 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/KeyValue.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/KeyValue.java
@@ -13,8 +13,6 @@ public class KeyValue implements Serializable {
private String value;
- private DataInfo dataInfo;
-
public String getKey() {
return key;
}
@@ -31,14 +29,6 @@ public class KeyValue implements Serializable {
this.value = value;
}
- public DataInfo getDataInfo() {
- return dataInfo;
- }
-
- public void setDataInfo(DataInfo dataInfo) {
- this.dataInfo = dataInfo;
- }
-
public String toComparableString() {
return isBlank()
? ""
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/License.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/License.java
new file mode 100644
index 0000000..63f7054
--- /dev/null
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/License.java
@@ -0,0 +1,24 @@
+package eu.dnetlib.dhp.schema.oaf;
+
+import java.io.Serializable;
+
+public class License implements Serializable {
+
+ private String url;
+
+
+ public License() {
+ }
+
+ public License(String url) {
+ this.url = url;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/Measure.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/Measure.java
index 78a4c68..6063a8e 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/Measure.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/Measure.java
@@ -17,10 +17,10 @@ public class Measure implements Serializable {
private String id;
/**
- * List of units associated with this measure. KeyValue provides a pair to store the label (key) and the value, plus
+ * List of units associated with this measure. MeasureUnit provides a pair to store the label (key) and the value, plus
* common provenance information.
*/
- private List unit;
+ private List unit;
public String getId() {
return id;
@@ -30,18 +30,14 @@ public class Measure implements Serializable {
this.id = id;
}
- public List getUnit() {
+ public List getUnit() {
return unit;
}
- public void setUnit(List unit) {
+ public void setUnit(List unit) {
this.unit = unit;
}
- public void mergeFrom(Measure m) {
- // TODO
- }
-
@Override
public boolean equals(Object o) {
if (this == o)
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/MeasureUnit.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/MeasureUnit.java
new file mode 100644
index 0000000..7a5fcb2
--- /dev/null
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/MeasureUnit.java
@@ -0,0 +1,14 @@
+package eu.dnetlib.dhp.schema.oaf;
+
+public class MeasureUnit extends KeyValue {
+
+ private DataInfo dataInfo;
+
+ public DataInfo getDataInfo() {
+ return dataInfo;
+ }
+
+ public void setDataInfo(DataInfo dataInfo) {
+ this.dataInfo = dataInfo;
+ }
+}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/Oaf.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/Oaf.java
index 0df5572..16adbe3 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/Oaf.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/Oaf.java
@@ -1,108 +1,6 @@
-
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
-import java.util.Collection;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-public abstract class Oaf implements Serializable {
-
- /**
- * The list of datasource id/name pairs providing this relationship.
- */
- protected List collectedfrom;
-
- private DataInfo dataInfo;
-
- private Long lastupdatetimestamp;
-
- public List getCollectedfrom() {
- return collectedfrom;
- }
-
- public void setCollectedfrom(List collectedfrom) {
- this.collectedfrom = collectedfrom;
- }
-
- public DataInfo getDataInfo() {
- return dataInfo;
- }
-
- public void setDataInfo(DataInfo dataInfo) {
- this.dataInfo = dataInfo;
- }
-
- public Long getLastupdatetimestamp() {
- return lastupdatetimestamp;
- }
-
- public void setLastupdatetimestamp(Long lastupdatetimestamp) {
- this.lastupdatetimestamp = lastupdatetimestamp;
- }
-
- public void mergeFrom(Oaf o) {
- if (Objects.isNull(o)) {
- return;
- }
- setCollectedfrom(
- Stream
- .concat(
- Optional
- .ofNullable(getCollectedfrom())
- .map(Collection::stream)
- .orElse(Stream.empty()),
- Optional
- .ofNullable(o.getCollectedfrom())
- .map(Collection::stream)
- .orElse(Stream.empty()))
- .distinct() // relies on KeyValue.equals
- .collect(Collectors.toList()));
-
- setLastupdatetimestamp(
- Math
- .max(
- Optional.ofNullable(getLastupdatetimestamp()).orElse(0L),
- Optional.ofNullable(o.getLastupdatetimestamp()).orElse(0L)));
- }
-
- public void mergeOAFDataInfo(Oaf o) {
- Optional.ofNullable(o)
- .ifPresent(other -> Optional.ofNullable(other.getDataInfo())
- .ifPresent(otherDataInfo -> Optional.ofNullable(this.getDataInfo())
- .ifPresent(thisDataInfo -> {
- if (compareTrust(this, other) < 0 || thisDataInfo.getInvisible()) {
- setDataInfo(otherDataInfo);
- }
- })));
- }
-
- protected String extractTrust(Oaf e) {
- if (e == null || e.getDataInfo() == null || e.getDataInfo().getTrust() == null)
- return "0.0";
- return e.getDataInfo().getTrust();
- }
-
- protected int compareTrust(Oaf a, Oaf b) {
- return extractTrust(a).compareTo(extractTrust(b));
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
- Oaf oaf = (Oaf) o;
- return Objects.equals(getDataInfo(), oaf.getDataInfo())
- && Objects.equals(lastupdatetimestamp, oaf.lastupdatetimestamp);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(dataInfo, lastupdatetimestamp);
- }
+public class Oaf implements Serializable {
}
diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/Organization.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/Organization.java
index a5f9bce..91092a8 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/oaf/Organization.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/Organization.java
@@ -4,158 +4,158 @@ package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.List;
-public class Organization extends OafEntity implements Serializable {
+public class Organization extends Entity implements Serializable {
- private Field legalshortname;
+ private String legalshortname;
- private Field legalname;
+ private String legalname;
- private List> alternativeNames;
+ private List alternativeNames;
- private Field websiteurl;
+ private String websiteurl;
- private Field logourl;
+ private String logourl;
- private Field eclegalbody;
+ private String eclegalbody;
- private Field eclegalperson;
+ private String eclegalperson;
- private Field ecnonprofit;
+ private String ecnonprofit;
- private Field ecresearchorganization;
+ private String ecresearchorganization;
- private Field echighereducation;
+ private String echighereducation;
- private Field ecinternationalorganizationeurinterests;
+ private String ecinternationalorganizationeurinterests;
- private Field ecinternationalorganization;
+ private String ecinternationalorganization;
- private Field ecenterprise;
+ private String ecenterprise;
- private Field ecsmevalidated;
+ private String ecsmevalidated;
- private Field ecnutscode;
+ private String ecnutscode;
private Qualifier country;
- public Field getLegalshortname() {
+ public String getLegalshortname() {
return legalshortname;
}
- public void setLegalshortname(Field legalshortname) {
+ public void setLegalshortname(String legalshortname) {
this.legalshortname = legalshortname;
}
- public Field getLegalname() {
+ public String getLegalname() {
return legalname;
}
- public void setLegalname(Field legalname) {
+ public void setLegalname(String legalname) {
this.legalname = legalname;
}
- public List> getAlternativeNames() {
+ public List getAlternativeNames() {
return alternativeNames;
}
- public void setAlternativeNames(List> alternativeNames) {
+ public void setAlternativeNames(List alternativeNames) {
this.alternativeNames = alternativeNames;
}
- public Field getWebsiteurl() {
+ public String getWebsiteurl() {
return websiteurl;
}
- public void setWebsiteurl(Field websiteurl) {
+ public void setWebsiteurl(String websiteurl) {
this.websiteurl = websiteurl;
}
- public Field getLogourl() {
+ public String getLogourl() {
return logourl;
}
- public void setLogourl(Field logourl) {
+ public void setLogourl(String logourl) {
this.logourl = logourl;
}
- public Field