Compare commits

...

20 Commits

Author SHA1 Message Date
Claudio Atzori c46c235c83 Merge pull request 'Align Solr JSON records to the explore portal requirements' (#38) from solr_json_model into master
Reviewed-on: #38
2024-06-24 14:51:49 +02:00
Claudio Atzori ca02fc29b3 WIP: updated JSON payload serialization 2024-06-24 14:18:03 +02:00
Claudio Atzori 8658cf9a01 WIP: align Solr JSON records to the explore portal requirements 2024-06-20 16:01:42 +02:00
Claudio Atzori ae5337f266 WIP: align Solr JSON records to the explore portal requirements 2024-06-20 14:28:58 +02:00
Claudio Atzori 39fa75ae3f WIP: align Solr JSON records to the explore portal requirements 2024-06-19 15:32:52 +02:00
Claudio Atzori b03a9f497d cleanup 2024-06-12 16:38:13 +02:00
Claudio Atzori 642f535498 Merge branch 'org_type' 2024-06-12 15:06:53 +02:00
Claudio Atzori eb7dcf6f11 OrganizationType must be public 2024-06-12 15:06:30 +02:00
Giambattista Bloisi 2dc10b8afe Change visibility of Organization.OrganizationType from package level to public to allow users call getOrganizationType and setOrganizationType 2024-06-11 18:11:12 +02:00
Claudio Atzori 9eaad49a2e Merge pull request 'Organizations types' (#32) from org_type into master
Reviewed-on: #32
2024-05-22 11:44:44 +02:00
Claudio Atzori 055afdc5fc Merge branch 'master' into org_type 2024-05-22 11:33:07 +02:00
Claudio Atzori cf3135ac5a [maven-release-plugin] prepare for next development iteration 2024-05-14 12:32:12 +02:00
Claudio Atzori 2502d512d1 [maven-release-plugin] prepare release dhp-schemas-6.1.2 2024-05-14 12:32:05 +02:00
Claudio Atzori 3531ac7f66 Merge pull request 'project.oamandatepublications' (#33) from solr_json_model into master
Reviewed-on: #33
2024-05-14 12:27:21 +02:00
Claudio Atzori f422a58b95 added field to the JSON solr records project.oamandatepublications 2024-05-14 12:17:12 +02:00
Claudio Atzori 97df2e3c48 adding typology to organizations 2024-05-09 12:16:29 +02:00
Claudio Atzori 4a7e960409 [maven-release-plugin] prepare for next development iteration 2024-04-19 17:26:56 +02:00
Claudio Atzori a835c8db1e [maven-release-plugin] prepare release dhp-schemas-6.1.1 2024-04-19 17:26:52 +02:00
Claudio Atzori 2a4b84af79 updated changelog 2024-04-19 17:26:05 +02:00
Claudio Atzori 2324536a61 Merge pull request 'doidoost_dismiss' (#31) from doidoost_dismiss into master
Reviewed-on: #31
2024-04-19 17:24:42 +02:00
34 changed files with 197 additions and 97 deletions

View File

@ -4,6 +4,7 @@
| **Version** | **Changes** | **Readiness** |
|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
| 6.1.1 | [Graph model] </br> <ul><li>Introduced constants used in the DOIBoost dismission.</li></ul> | beta |
| 6.1.0 | [Graph model] </br> <ul><li>Introduced model classes to provide a JSON representation of records embedding information from the related entities.</li></ul> | beta |
| 5.17.3 | [Graph model] </br> <ul><li>added result level textual field to store the transformative agreement information.</li></ul> | beta |
| 4.17.3 | [Graph model] </br> <ul><li>moved context at the level of the entity. </li></ul> | beta |

View File

@ -5,7 +5,7 @@
<groupId>eu.dnetlib.dhp</groupId>
<artifactId>dhp-schemas</artifactId>
<packaging>jar</packaging>
<version>6.1.1-SNAPSHOT</version>
<version>6.1.3-SNAPSHOT</version>
<licenses>
<license>

View File

@ -1,15 +1,13 @@
package eu.dnetlib.dhp.schema.oaf;
import java.util.Objects;
import java.util.Optional;
/**
* This class models the access rights of research products.
*/
public class AccessRight extends Qualifier {
private static final long serialVersionUID = -8945177777173510134L;
private OpenAccessRoute openAccessRoute;
public OpenAccessRoute getOpenAccessRoute() {

View File

@ -3,7 +3,6 @@ package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
public class Context implements Serializable {

View File

@ -2,7 +2,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
public class DataInfo implements Serializable {

View File

@ -1,12 +1,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.lang3.StringUtils;
/**
* Describes a reference to the EOSC Interoperability Framework (IF) Guidelines

View File

@ -3,7 +3,6 @@ package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
public class ExternalReference implements Serializable {

View File

@ -2,7 +2,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
public class ExtraInfo implements Serializable {

View File

@ -2,11 +2,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
import org.apache.commons.lang3.StringUtils;
import com.fasterxml.jackson.annotation.JsonIgnore;
public class GeoLocation implements Serializable {

View File

@ -2,7 +2,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
/**
* To store information about the classification for the project. The classification depends on the programme. For example

View File

@ -2,7 +2,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
/**
* To store information about the ec programme for the project. It has the following parameters:

View File

@ -3,9 +3,6 @@ package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.List;
import java.util.Optional;
import com.google.common.base.Joiner;
public class Instance implements Serializable {

View File

@ -2,7 +2,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
public class Journal implements Serializable {

View File

@ -2,13 +2,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.common.base.Joiner;
public class KeyValue implements Serializable {

View File

@ -4,8 +4,6 @@ package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.List;
import com.google.common.base.Objects;
/**
* Represent a measure, must be further described by a system available resource providing name and descriptions.
*/

View File

@ -2,7 +2,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
public class OAIProvenance implements Serializable {

View File

@ -2,12 +2,7 @@
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 {

View File

@ -3,7 +3,6 @@ package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
public abstract class OafEntity extends Oaf implements Serializable {

View File

@ -6,6 +6,10 @@ import java.util.List;
public class Organization extends OafEntity implements Serializable {
public enum OrganizationType {
Archive, Company, Education, Facility, Government, Healthcare, Nonprofit, Other, Unknown
}
private static final long serialVersionUID = -9048723860770504113L;
private Field<String> legalshortname;
@ -40,6 +44,8 @@ public class Organization extends OafEntity implements Serializable {
private Qualifier country;
private OrganizationType organizationType;
public Field<String> getLegalshortname() {
return legalshortname;
}
@ -169,4 +175,11 @@ public class Organization extends OafEntity implements Serializable {
this.country = country;
}
public OrganizationType getOrganizationType() {
return organizationType;
}
public void setOrganizationType(OrganizationType organizationType) {
this.organizationType = organizationType;
}
}

View File

@ -2,7 +2,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
public class OriginDescription implements Serializable {

View File

@ -4,8 +4,6 @@ package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
public class Project extends OafEntity implements Serializable {
private static final long serialVersionUID = 5783959097903529424L;

View File

@ -2,12 +2,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
import java.util.Optional;
import org.apache.commons.lang3.builder.EqualsBuilder;
import com.google.common.base.Joiner;
public class Qualifier implements Serializable {
private static final long serialVersionUID = 6632548656644563076L;

View File

@ -1,15 +1,10 @@
package eu.dnetlib.dhp.schema.oaf;
import static com.google.common.base.Preconditions.checkArgument;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import eu.dnetlib.dhp.schema.common.ModelSupport;
/**
* Relation models any edge between two nodes in the OpenAIRE graph. It has a source id and a target id pointing to
* graph node identifiers and it is further characterised by the semantic of the link through the fields relType,

View File

@ -2,12 +2,6 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.lang3.StringUtils;
public class StructuredProperty implements Serializable {

View File

@ -10,23 +10,34 @@ public class AccessRight implements Serializable {
private static final long serialVersionUID = 7995566912611238604L;
private String value;
private String code;
private String label;
private OpenAccessRoute openAccessRoute;
public static AccessRight newInstance(String value, OpenAccessRoute openAccessRoute) {
public static AccessRight newInstance(String code, String label, OpenAccessRoute openAccessRoute) {
AccessRight accessRight = new AccessRight();
accessRight.setValue(value);
accessRight.setCode(code);
accessRight.setLabel(label);
accessRight.setOpenAccessRoute(openAccessRoute);
return accessRight;
}
public String getValue() {
return value;
public String getCode() {
return code;
}
public void setValue(String value) {
this.value = value;
public void setCode(String code) {
this.code = code;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public OpenAccessRoute getOpenAccessRoute() {

View File

@ -1,10 +1,36 @@
package eu.dnetlib.dhp.schema.solr;
import java.io.Serializable;
import java.util.List;
public class Measure implements Serializable {
private static final long serialVersionUID = 57939927121851504L;
//TODO define me!
private String id;
private List<CodeLabel> unit;
public static Measure newInstance(String id, List<CodeLabel> unit) {
Measure m = new Measure();
m.setId(id);
m.setUnit(unit);
return m;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public List<CodeLabel> getUnit() {
return unit;
}
public void setUnit(List<CodeLabel> unit) {
this.unit = unit;
}
}

View File

@ -6,25 +6,20 @@ public class Pid implements Serializable {
private static final long serialVersionUID = -943684282582228545L;
private String type;
private String value;
public static Pid newInstance(String type, String value) {
private String typeCode;
private String typeLabel;
public static Pid newInstance(String value, String typeCode, String typeLabel) {
Pid p = new Pid();
p.setType(type);
p.setValue(value);
p.setTypeCode(typeCode);
p.setTypeLabel(typeLabel);
return p;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getValue() {
return value;
}
@ -32,4 +27,20 @@ public class Pid implements Serializable {
public void setValue(String value) {
this.value = value;
}
public String getTypeCode() {
return typeCode;
}
public void setTypeCode(String typeCode) {
this.typeCode = typeCode;
}
public String getTypeLabel() {
return typeLabel;
}
public void setTypeLabel(String typeLabel) {
this.typeLabel = typeLabel;
}
}

View File

@ -18,6 +18,8 @@ public class Project implements Serializable {
private String keywords;
private String duration;
private String oamandatepublications;
private String ecarticle29_3;
private List<Subject> subjects;
@ -107,6 +109,14 @@ public class Project implements Serializable {
this.duration = duration;
}
public String getOamandatepublications() {
return oamandatepublications;
}
public void setOamandatepublications(String oamandatepublications) {
this.oamandatepublications = oamandatepublications;
}
public String getEcarticle29_3() {
return ecarticle29_3;
}

View File

@ -39,6 +39,7 @@ public class RelatedRecord implements Serializable {
private String acronym;
private CodeLabel contracttype;
private Funding funding;
private String validationDate;
public RelatedRecordHeader getHeader() {
return header;
@ -215,4 +216,12 @@ public class RelatedRecord implements Serializable {
public void setFunding(Funding funding) {
this.funding = funding;
}
public String getValidationDate() {
return validationDate;
}
public void setValidationDate(String validationDate) {
this.validationDate = validationDate;
}
}

View File

@ -14,12 +14,18 @@ public class RelatedRecordHeader implements Serializable {
private RecordType relatedRecordType;
public static RelatedRecordHeader newInstance(String relationType, String relationClass, String relatedIdentifier, RecordType relatedRecordType) {
private String relationProvenance;
private String trust;
public static RelatedRecordHeader newInstance(String relationType, String relationClass, String relatedIdentifier, RecordType relatedRecordType, String relationProvenance, String trust) {
RelatedRecordHeader header = new RelatedRecordHeader();
header.setRelationType(relationType);
header.setRelationClass(relationClass);
header.setRelatedIdentifier(relatedIdentifier);
header.setRelatedRecordType(relatedRecordType);
header.setRelationProvenance(relationProvenance);
header.setTrust(trust);
return header;
}
@ -54,4 +60,20 @@ public class RelatedRecordHeader implements Serializable {
public void setRelatedRecordType(RecordType relatedRecordType) {
this.relatedRecordType = relatedRecordType;
}
public String getRelationProvenance() {
return relationProvenance;
}
public void setRelationProvenance(String relationProvenance) {
this.relationProvenance = relationProvenance;
}
public String getTrust() {
return trust;
}
public void setTrust(String trust) {
this.trust = trust;
}
}

View File

@ -3,8 +3,6 @@ package eu.dnetlib.dhp.schema.solr;
import java.io.Serializable;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
public class Result implements Serializable {
private static final long serialVersionUID = -9121038426985022737L;
@ -147,12 +145,10 @@ public class Result implements Serializable {
*/
private List<EoscIfGuidelines> eoscifguidelines;
@JsonProperty("isGreen")
private Boolean isGreen;
private OpenAccessColor openAccessColor;
@JsonProperty("isInDiamondJournal")
private Boolean isInDiamondJournal;
private Boolean publiclyFunded;
@ -381,11 +377,11 @@ public class Result implements Serializable {
this.eoscifguidelines = eoscifguidelines;
}
public Boolean getGreen() {
public Boolean getIsGreen() {
return isGreen;
}
public void setGreen(Boolean green) {
public void setIsGreen(Boolean green) {
isGreen = green;
}
@ -397,11 +393,11 @@ public class Result implements Serializable {
this.openAccessColor = openAccessColor;
}
public Boolean getInDiamondJournal() {
public Boolean getIsInDiamondJournal() {
return isInDiamondJournal;
}
public void setInDiamondJournal(Boolean inDiamondJournal) {
public void setIsInDiamondJournal(Boolean inDiamondJournal) {
isInDiamondJournal = inDiamondJournal;
}

View File

@ -7,6 +7,8 @@ public class SolrRecordHeader implements Serializable {
private static final long serialVersionUID = -6052397109220149426L;
public enum Status { UNDER_CURATION }
/**
* The OpenAIRE identifiers for this record
*/
@ -19,13 +21,20 @@ public class SolrRecordHeader implements Serializable {
private RecordType recordType;
private Status status = null;
private Boolean deletedbyinference;
public static SolrRecordHeader newInstance(String id, List<String> originalId, RecordType recordType, Boolean deletedbyinference) {
return newInstance(id, originalId, recordType, null, deletedbyinference);
}
public static SolrRecordHeader newInstance(String id, List<String> originalId, RecordType recordType, Status status, Boolean deletedbyinference) {
SolrRecordHeader header = new SolrRecordHeader();
header.setId(id);
header.setOriginalId(originalId);
header.setRecordType(recordType);
header.setStatus(status);
header.setDeletedbyinference(deletedbyinference);
return header;
}
@ -58,6 +67,14 @@ public class SolrRecordHeader implements Serializable {
return deletedbyinference;
}
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
public void setDeletedbyinference(Boolean deletedbyinference) {
this.deletedbyinference = deletedbyinference;
}

View File

@ -8,12 +8,15 @@ public class Subject implements Serializable {
private String value;
private String type;
private String typeCode;
public static Subject newInstance(String value, String type) {
private String typeLabel;
public static Subject newInstance(String value, String typeCode, String typeLabel) {
Subject s = new Subject();
s.setValue(value);
s.setType(type);
s.setTypeCode(typeCode);
s.setTypeLabel(typeLabel);
return s;
}
@ -25,11 +28,19 @@ public class Subject implements Serializable {
this.value = value;
}
public String getType() {
return type;
public String getTypeCode() {
return typeCode;
}
public void setType(String type) {
this.type = type;
public void setTypeCode(String typeCode) {
this.typeCode = typeCode;
}
public String getTypeLabel() {
return typeLabel;
}
public void setTypeLabel(String typeLabel) {
this.typeLabel = typeLabel;
}
}

View File

@ -0,0 +1,32 @@
package eu.dnetlib.dhp.schema.solr;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import java.io.IOException;
import static org.junit.jupiter.api.Assertions.*;
public class TestJsonSerialization {
private static ObjectMapper MAPPER = new ObjectMapper();
@Test
void testSerialiseJsonPayload() throws IOException {
Result r = new Result();
r.setIsGreen(true);
r.setIsInDiamondJournal(false);
final String json = MAPPER.writeValueAsString(r);
assertNotNull(json);
System.out.println("json = " + json);
Result r1 = MAPPER.readValue(json, Result.class);
assertTrue(r1.getIsGreen());
assertFalse(r1.getIsInDiamondJournal());
}
}