Refs #12211: Upgrade Joint Resource Registry model to PARTHENOS Entity model 3.0

Task-Url: https://support.d4science.org/issues/12211

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/private/luca.frosini/parthenos-entities@169880 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Luca Frosini 2018-07-20 12:39:03 +00:00
parent 57a2e1e1f8
commit 3534c9bb6e
30 changed files with 351 additions and 13 deletions

View File

@ -0,0 +1,34 @@
package org.gcube.informationsystem.model.entity.resource.cidoc;
import org.gcube.informationsystem.model.entity.Resource;
/**
* @author Luca Frosini (ISTI - CNR)
* Scope note: This class comprises all things in the universe of discourse of the CIDOC Conceptual Reference Model.
*
* It is an abstract concept providing for three general properties:
* 1. Identification by name or appellation, and in particular by a preferred identifier
* 2. Classification by type, allowing further refinement of the specific subclass an instance belongs to
* 3. Attachment of free text for the expression of anything not captured by formal properties
*
* With the exception of E59 Primitive Value, all other classes within the CRM are directly or indirectly
* specialisations of E1 CRM Entity.
*
* Examples:
* - the earthquake in Lisbon 1755 (E5)
*
* In First Order Logic:
* E1(x)
*
* Properties:
* P1 is identified by (identifies): E41 Appellation
* P2 has type (is type of): E55 Type
* P3 has note: E62 String
* (P3.1 has type: E55 Type)
* P48 has preferred identifier (is preferred identifier of): E42 Identifier
* P137 exemplifies (is exemplified by): E55 Type
* (P137.1 in the taxonomic role: E55 Type)
*/
public interface E1_CRM_Entity extends Resource {
}

View File

@ -1,11 +1,9 @@
package org.gcube.informationsystem.model.entity.resource.cidoc;
import org.gcube.informationsystem.model.entity.Resource;
/**
* @author Luca Frosini (ISTI - CNR)
* TODO check if can be removed
*/
public interface E29_Design_or_Procedure extends Resource {
public interface E29_Design_or_Procedure extends E70_Thing {
}

View File

@ -9,7 +9,7 @@ import org.gcube.informationsystem.model.entity.resource.Actor;
* - {@link PE_Contact_Reference_Facet}
*
*/
public interface E39_Actor extends Actor {
public interface E39_Actor extends Actor, E77_Persistent_Item {
}

View File

@ -0,0 +1,37 @@
package org.gcube.informationsystem.model.entity.resource.cidoc;
/**
* @author Luca Frosini (ISTI - CNR)
*
* Scope note: This class comprises extents in space, in particular on the surface of the earth, in the pure sense of
* physics: independent from temporal phenomena and matter.
*
* The instances of E53 Place are usually determined by reference to the position of immobile objects
* such as buildings, cities, mountains, rivers, or dedicated geodetic marks. A Place can be determined by
* combining a frame of reference and a location with respect to this frame. It may be identified by one or
* more instances of E44 Place Appellation.
*
* It is sometimes argued that instances of E53 Place are best identified by global coordinates or absolute
* reference systems. However, relative references are often more relevant in the context of cultural
* documentation and tend to be more precise. In particular, we are often interested in position in relation
* to large, mobile objects, such as ships. For example, the Place at which Nelson died is known with
* reference to a large mobile object H.M.S Victory. A resolution of this Place in terms of absolute
* coordinates would require knowledge of the movements of the vessel and the precise time of death,
* either of which may be revised, and the result would lack historical and cultural relevance.
*
* Any object can serve as a frame of reference for E53 Place determination. The model foresees the
* notion of a "section" of an E19 Physical Object as a valid E53 Place determination.
*
* Examples:
* - the extent of the UK in the year 2003
* - the position of the hallmark on the inside of my wedding ring
* - the place referred to in the phrase: Fish collected at three miles north of the confluence of the
* Arve and the Rhone
* - here -> <-
*
* In First Order Logic:
* E53(x) E1(x)
*/
public interface E53_Place extends E1_CRM_Entity {
}

View File

@ -0,0 +1,41 @@
package org.gcube.informationsystem.model.entity.resource.cidoc;
/**
* @author Luca Frosini (ISTI - CNR)
*
* Scope note: This class comprises quantifiable properties that can be measured by some calibrated means and can be
* approximated by values, i.e. points or regions in a mathematical or conceptual space, such as natural or
* real numbers, RGB values etc.
*
* An instance of E54 Dimension represents the true quantity, independent from its numerical
* approximation, e.g. in inches or in cm. The properties of the class E54 Dimension allow for expressing
* the numerical approximation of the values of an instance of E54 Dimension. If the true values belong
* to a non-discrete space, such as spatial distances, it is recommended to record them as approximations
* by intervals or regions of indeterminacy enclosing the assumed true values. For instance, a length of 5
* cm may be recorded as 4.5-5.5 cm, according to the precision of the respective observation. Note, that
* interoperability of values described in different units depends critically on the representation as value
* regions.
*
* Numerical approximations in archaic instances of E58 Measurement Unit used in historical records
* should be preserved. Equivalents corresponding to current knowledge should be recorded as additional
* instances of E54 Dimension as appropriate.
*
* Examples:
* - The 250 metric ton weight of the Luxor Obelisk
* - The 5.17 m height of the statue of David by Michaelangelo
* - The 530.2 carats of the Great Star of Africa diamond
* - The AD1262-1312, 1303-1384 calibrated C14 date for the Shroud of Turin
* - The 33 m diameter of the Stonehenge Sarcen Circle
* - The 755.9 foot length of the sides of the Great Pyramid at Giza
* - Christies hammer price for Vase with Fifteen Sunflowers (E97) has currency British Pounds (E98)
*
* In First Order Logic:
* E54(x) E1(x)
*
* Properties:
* P90 has value: E60 Number
* P91 has unit (is unit of): E58 Measurement Unit
*/
public interface E54_Dimension extends E1_CRM_Entity {
}

View File

@ -1,7 +1,5 @@
package org.gcube.informationsystem.model.entity.resource.cidoc;
import org.gcube.informationsystem.model.entity.Resource;
public interface E55_Type extends Resource {
public interface E55_Type extends E70_Thing {
}

View File

@ -1,10 +1,8 @@
package org.gcube.informationsystem.model.entity.resource.cidoc;
import org.gcube.informationsystem.model.entity.Resource;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public interface E70_Thing extends Resource {
public interface E70_Thing extends E77_Persistent_Item {
}

View File

@ -0,0 +1,36 @@
package org.gcube.informationsystem.model.entity.resource.cidoc;
/**
* @author Luca Frosini (ISTI - CNR)
* Scope note: This class comprises items that have a persistent identity, sometimes known as endurants in
* philosophy.
*
* They can be repeatedly recognized within the duration of their existence by identity criteria rather than
* by continuity or observation. Persistent Items can be either physical entities, such as people, animals or
* things, or conceptual entities such as ideas, concepts, products of the imagination or common names.
* The criteria that determine the identity of an item are often difficult to establish -; the decision depends
* largely on the judgement of the observer. For example, a building is regarded as no longer existing if it
* is dismantled and the materials reused in a different configuration. On the other hand, human beings go
* through radical and profound changes during their life-span, affecting both material composition and
* form, yet preserve their identity by other criteria. Similarly, inanimate objects may be subject to
* exchange of parts and matter. The class E77 Persistent Item does not take any position about the nature
* of the applicable identity criteria and if actual knowledge about identity of an instance of this class
* exists. There may be cases, where the identity of an E77 Persistent Item is not decidable by a certain
* state of knowledge.
*
* The main classes of objects that fall outside the scope the E77 Persistent Item class are temporal
* objects such as periods, events and acts, and descriptive properties.
*
* Examples:
* - Leonard da Vinci
* - Stonehenge
* - the hole in the ozone layer
* - the First Law of Thermodynamics
* - the Bermuda Triangle
*
* In First Order Logic:
* E77(x) E1(x)
*/
public interface E77_Persistent_Item extends E1_CRM_Entity {
}

View File

@ -1,11 +1,9 @@
package org.gcube.informationsystem.model.entity.resource.cidoc;
import org.gcube.informationsystem.model.entity.Resource;
/**
* @author Luca Frosini (ISTI - CNR)
* TODO check if can be removed
*/
public interface E7_Activity extends Resource {
public interface E7_Activity extends E1_CRM_Entity {
}

View File

@ -0,0 +1,9 @@
package org.gcube.informationsystem.model.entity.resource.cidoc;
/**
* @author Luca Frosini (ISTI - CNR)
*
*/
public interface E97_Monetary_Amount extends E54_Dimension {
}

View File

@ -0,0 +1,13 @@
package org.gcube.informationsystem.model.relation.isrelatedto.cidoc;
import org.gcube.informationsystem.model.entity.resource.cidoc.E1_CRM_Entity;
import org.gcube.informationsystem.model.entity.resource.cidoc.E55_Type;
import org.gcube.informationsystem.model.relation.IsRelatedTo;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public interface P2_has_type<Out extends E1_CRM_Entity, In extends E55_Type>
extends IsRelatedTo<Out, In> {
}

View File

@ -0,0 +1,14 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos;
import org.gcube.informationsystem.model.entity.resource.cidoc.D14_Software;
import org.gcube.informationsystem.model.entity.resource.parthenos.PE40_Programing_Language;
import org.gcube.informationsystem.model.relation.IsRelatedTo;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public interface PP52_is_programmed_with
<Out extends D14_Software, In extends PE40_Programing_Language>
extends IsRelatedTo<Out, In> {
}

View File

@ -0,0 +1,14 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos;
import org.gcube.informationsystem.model.entity.resource.cidoc.E39_Actor;
import org.gcube.informationsystem.model.entity.resource.parthenos.PE41_Award_Activity;
import org.gcube.informationsystem.model.relation.isrelatedto.cidoc.P14_carried_out_by;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public interface PP53_had_awarder
<Out extends PE41_Award_Activity, In extends E39_Actor>
extends P14_carried_out_by<Out, In> {
}

View File

@ -0,0 +1,14 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos;
import org.gcube.informationsystem.model.entity.resource.cidoc.E39_Actor;
import org.gcube.informationsystem.model.entity.resource.parthenos.PE41_Award_Activity;
import org.gcube.informationsystem.model.relation.isrelatedto.cidoc.P14_carried_out_by;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public interface PP54_had_awardee
<Out extends PE41_Award_Activity, In extends E39_Actor>
extends P14_carried_out_by<Out, In> {
}

View File

@ -0,0 +1,14 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos;
import org.gcube.informationsystem.model.entity.resource.cidoc.E70_Thing;
import org.gcube.informationsystem.model.entity.resource.parthenos.PE41_Award_Activity;
import org.gcube.informationsystem.model.relation.isrelatedto.cidoc.P16_used_specific_object;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public interface PP55_awarded
<Out extends PE41_Award_Activity, In extends E70_Thing>
extends P16_used_specific_object<Out, In> {
}

View File

@ -0,0 +1,14 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos;
import org.gcube.informationsystem.model.entity.resource.cidoc.E1_CRM_Entity;
import org.gcube.informationsystem.model.entity.resource.parthenos.PE41_Award_Activity;
import org.gcube.informationsystem.model.relation.isrelatedto.cidoc.P17_was_motivated_by;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public interface PP56_awarded_for
<Out extends PE41_Award_Activity, In extends E1_CRM_Entity>
extends P17_was_motivated_by<Out, In> {
}

View File

@ -0,0 +1,14 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos;
import org.gcube.informationsystem.model.entity.resource.cidoc.E97_Monetary_Amount;
import org.gcube.informationsystem.model.entity.resource.parthenos.PE42_Funding_Activity;
import org.gcube.informationsystem.model.relation.IsRelatedTo;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public interface PP57_provided_funding_amount
<Out extends PE42_Funding_Activity, In extends E97_Monetary_Amount>
extends IsRelatedTo<Out, In> {
}

View File

@ -0,0 +1,14 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos;
import org.gcube.informationsystem.model.entity.resource.cidoc.D1_Digital_Object;
import org.gcube.informationsystem.model.entity.resource.parthenos.PE43_Encoding_Type;
import org.gcube.informationsystem.model.relation.isrelatedto.cidoc.P2_has_type;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public interface PP58_is_encoded_with
<Out extends D1_Digital_Object, In extends PE43_Encoding_Type>
extends P2_has_type<Out, In> {
}

View File

@ -0,0 +1,14 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos;
import org.gcube.informationsystem.model.entity.resource.cidoc.E7_Activity;
import org.gcube.informationsystem.model.entity.resource.parthenos.PE44_Audience_Type;
import org.gcube.informationsystem.model.relation.isrelatedto.cidoc.P21_had_general_purpose;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public interface PP59_had_intended_audience
<Out extends E7_Activity, In extends PE44_Audience_Type>
extends P21_had_general_purpose<Out, In> {
}

View File

@ -0,0 +1,14 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos;
import org.gcube.informationsystem.model.entity.resource.cidoc.E53_Place;
import org.gcube.informationsystem.model.entity.resource.cidoc.E7_Activity;
import org.gcube.informationsystem.model.relation.IsRelatedTo;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public interface PP60_had_intended_geographic_scope
<Out extends E7_Activity, In extends E53_Place>
extends IsRelatedTo<Out, In> {
}

View File

@ -0,0 +1,5 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos.inverse;
public interface PP51i_is_availability_of {
}

View File

@ -0,0 +1,5 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos.inverse;
public interface PP52i_is_used_to_programme {
}

View File

@ -0,0 +1,5 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos.inverse;
public interface PP53i_was_awarded_by {
}

View File

@ -0,0 +1,5 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos.inverse;
public interface PP54i_was_awarded_to {
}

View File

@ -0,0 +1,5 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos.inverse;
public interface PP55i_was_thing_awarded_by {
}

View File

@ -0,0 +1,5 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos.inverse;
public interface PP56i_was_award_of {
}

View File

@ -0,0 +1,5 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos.inverse;
public interface PP57i_was_funding_provided_by {
}

View File

@ -0,0 +1,5 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos.inverse;
public interface PP58i_is_encoding_of {
}

View File

@ -0,0 +1,5 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos.inverse;
public interface PP59i_was_intended_audience_of {
}

View File

@ -0,0 +1,5 @@
package org.gcube.informationsystem.model.relation.isrelatedto.parthenos.inverse;
public interface PP60i_was_intended_geographic_scope_of {
}